@import url("https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@400;500;700&display=swap");

/* 1336pxの場合　フォントサイズ以外
min(1rem,calc(10vw/13.66)) */

.maru {
 font-family: "Zen Maru Gothic", serif;
}

#wrapper {
 position: relative;
 z-index: 1;
}
#wrapper::before {
 content: "";
 width: 100%;
 height: 100vh;
 height: 100svh;
 background: url(../images/bg_pc.webp) no-repeat;
 background-size: cover;
 position: fixed;
 top: 0;
 left: 0;
 z-index: -1;
}
.side_item {
 position: fixed;
 top: 0;
 width: 100%;
 height: 100%;
 overflow-y: scroll;
}
.side_movie {
 width: min(32rem, calc(320vw / 13.66));
 position: absolute;
 top: min(14rem, calc(140vw / 13.66));
 left: max(-91rem, calc(-910vw / 13.66));
 right: 0;
 margin: 0 auto;
}
.side_movie_ttl {
 font-size: 1.8rem;
 color: #363d69;
 letter-spacing: 0.22em;
 font-weight: 600;
 line-height: 1.8;
}
.side_movie_item {
 width: 100%;
 margin-top: min(3.5rem, calc(35vw / 13.66));
}
.side_movie_thum {
 height:  min(18rem, calc(180vw / 13.66));
 border-radius: min(0.8rem, calc(8vw / 13.66));
 overflow: hidden;
}
.side_movie_name {
 font-size: 1.4rem;
 font-weight: bold;
 letter-spacing: 0.2em;
 margin-top: min(1rem, calc(10vw / 13.66));
}

.side_menu {
 width: min(36rem, calc(360vw / 13.66));
 position: absolute;
 top: min(11rem, calc(110vw / 13.66));
 right: max(-92rem, calc(-920vw / 13.66));
 left: 0;
 margin: 0 auto;
}
.side_menu_ttl {
 width: min(13.5rem, calc(135vw / 13.66));
 margin: 0 auto;
}
.side_menu_list {
 margin-top: min(4rem, calc(40vw / 13.66));
}
.side_menu_list li {
 width: 100%;
 margin-bottom: min(2rem, calc(20vw / 13.66));
}
.side_menu_list li a {
 display: block;
 line-height: 2.4;
 width: 100%;
 font-family: "Zen Maru Gothic", serif;
 letter-spacing: 0.22em;
 text-align: left;
 color: #542f36;
 font-size: 1.6rem;
 font-weight: bold;
 background-color: #ffffff40;
 box-sizing: border-box;
 padding-left: min(3.5rem, calc(35vw / 13.66));
 position: relative;
 box-shadow: min(0.5rem, calc(5vw / 13.66)) min(0.5rem, calc(5vw / 13.66)) min(1rem, calc(10vw / 13.66)) #0000000d;
 transition: 0.4s;
}
.side_menu_list li.now a {
 color: #ee427f;
}

@media (hover: hover) {
 .side_menu_list li a:where(:any-link, :enabled, summary):hover {
  color: #ee427f;
 }
}

.side_menu_list li a::before {
 content: "";
 width: min(0.8rem, calc(8vw / 13.66));
 height: 100%;
 background-color: #e9afb6;
 position: absolute;
 top: 0;
 right: 0;
}
.side_menu_list li.now a::after {
 content: "";
 width: min(1.8rem, calc(18vw / 13.66));
 height: min(1.8rem, calc(18vw / 13.66));
 background: url(../images/menu_icon.svg) no-repeat;
 background-size: cover;
 position: absolute;
 top: 50%;
 transform: translateY(-50%);
 left: min(1rem, calc(10vw / 13.66));
}

.side_menu_img {
 display: flex;
 justify-content: space-between;
 width: min(28rem, calc(280vw / 13.66));
 margin-top: min(3rem, calc(30vw / 13.66));
}
.side_menu_img a {
 display: block;
 width: min(12.7rem, calc(127vw / 13.66));
}

/*                   maun_contents                     */
.main_contents {
 width: min(45rem, calc(450vw / 13.66));
 margin: 0 auto;
 background: url(../images/bg.webp) no-repeat;
 background-size: cover;
 position: relative;
 z-index: 5;
}

/*                   mv                     */
#mv {
 position: relative;
}
.mv_inner {
 padding: min(7.5rem, calc(75vw / 13.66)) 0;
 position: relative;
 z-index: 1;
}
.mv_inner::before {
 content: "";
 width: 100%;
 height: min(86rem, calc(860vw / 13.66));
 background: url(../images/mv_bg.webp) no-repeat;
 background-size: cover;
 position: absolute;
 top: 0;
 left: 0;
 z-index: -1;
}
.mv_ttl {
 width: min(25.5rem, calc(255vw / 13.66));
 margin: 0 auto;
}
.mv_img {
 position: relative;
 z-index: 5;
}
.mv_top span{
 position: absolute;
 top: 0;
 left: 0;
 display: block;
 z-index: -1;
 opacity: 0;
 transition: 2s;
 transition-delay: .5s;
}
.mv_top span:last-of-type{
 transition-delay: 1s;

}
.mv_top span.move{
 opacity: 1;
}


/*                   main_about                     */
.main_about_inner {
 padding-top: min(6rem, calc(60vw / 13.66));
 width: min(38rem, calc(380vw / 13.66));
 margin: 0 auto min(2rem, calc(20vw / 13.66));
}
.main_about_ttl {
 font-size: 3.3rem;
 font-weight: 500;
 color: #ee427f;
 letter-spacing: 0.2em;
 margin-bottom: min(1.5rem, calc(15vw / 13.66));
}
.main_about_ttl span {
 width: min(3.4rem, calc(34vw / 13.66));
 font-size: 0;
 display: block;
 margin: 0 auto min(0.5rem, calc(5vw / 13.66));
}
.main_about_txt {
 text-align: center;
 font-size: 1.7rem;
 font-weight: 500;
 letter-spacing: 0.2em;
 margin-bottom: min(1rem, calc(10vw / 13.66));
}
.main_about_txt span {
 display: block;
 width: min(12.5rem, calc(125vw / 13.66));
 margin: min(2rem, calc(20vw / 13.66)) auto 0;
}

/*                   contents_item                     */
.contents_item {
 padding-top: min(8.8rem, calc(88vw / 13.66));
}
.contents_item:nth-of-type(4) {
 /* margin-bottom: min(12.5rem, calc(125vw / 13.66)); */
 margin-bottom: min(5rem, calc(50vw / 13.66));
}
.contents_inner {
 width: min(40rem, calc(400vw / 13.66));
 margin: 0 auto 0;
}
.contents_inner a {
 display: block;
 background-color: #fff0e7;
 border-radius: min(4rem, calc(40vw / 13.66));
 position: relative;
 box-sizing: border-box;
 padding: min(6rem, calc(60vw / 13.66)) min(2.4rem, calc(24vw / 13.66)) min(4.5rem, calc(45vw / 13.66));
 box-shadow: 0 0 min(0.5rem, calc(5vw / 13.66)) #ee427f26;
 transition: .7s;
}
.contents_inner a::before {
 content: "";
 width: min(33.8rem, calc(338vw / 13.66));
 height: min(4.1rem, calc(41vw / 13.66));
 background: url(../images/ring_icon.svg) no-repeat;
 background-size: cover;
 position: absolute;
 top: max(-1.6rem, calc(-16vw / 13.66));
 left: 0;
 right: 0;
 margin: 0 auto;
}
@media (hover: hover) {
 .contents_inner  a:where(:any-link, :enabled, summary):hover {
  opacity: .7;
 }
}
.contents_box_ttl {
 font-size: 3rem;
 font-weight: 500;
 letter-spacing: 0.14em;
 line-height: 1.26;
 color: #ee427f;
 position: relative;
 padding-bottom: min(2rem, calc(20vw / 13.66));
 margin-bottom: min(2.5rem, calc(25vw / 13.66));
}
.contents_box_ttl::before {
 content: "";
 width: 100%;
 height: min(0.3rem, calc(3vw / 13.66));
 background-color: #ffbf66;
 border-radius: min(1rem, calc(10vw / 13.66));
 position: absolute;
 bottom: 0;
 left: 0;
}
.contents_box_ttl::after {
 content: "";
 width: 100%;
 height: min(0.3rem, calc(3vw / 13.66));
 background-color: #e9afb6;
 border-radius: min(1rem, calc(10vw / 13.66));
 position: absolute;
 bottom: max(-0.7rem, calc(-7vw / 13.66));
 left: 0;
}
.contents_box_txt {
 font-size: 1.7rem;
 letter-spacing: 0.2em;
 color: #542f36;
 font-weight: 500;
}
.contents_img {
 position: relative;
 z-index: 1;
}
.contents_img_icon{
 display: block;
 position: absolute;
 transition: 1s;
 opacity: 0;
}
.contents_img_icon.move {
 opacity: 1;
}
.contents_img_01 .contents_img_icon:first-of-type {
 width: min(3.2rem, calc(32vw / 13.66));
 top: min(9.4rem, calc(94vw / 13.66));
 left: min(7.4rem, calc(74vw / 13.66));
}
.contents_img_01 .contents_img_icon:last-of-type {
 width: min(3.8rem, calc(38vw / 13.66));
 top:  min(12.5rem, calc(125vw / 13.66));
 right: min(6.2rem, calc(62vw / 13.66));
}
.contents_img_01 .contents_img_icon.move:first-of-type {
top: min(6.4rem, calc(64vw / 13.66));
}
.contents_img_01 .contents_img_icon.move:last-of-type {
top:  min(9.5rem, calc(95vw / 13.66));
}

.contents_img_02 .contents_img_icon:first-of-type {
 width: min(12.4rem, calc(124vw / 13.66));
 top:  min(12rem, calc(120vw / 13.66));
 left: min(12.5rem, calc(125vw / 13.66));
 z-index: -1;
 transform-origin: left bottom;
 transform: rotate(-10deg);
}
.contents_img_02 .contents_img_icon.move {
 transform: rotate(0deg);

}
.contents_img_02 .contents_img_icon:last-of-type {
 width: min(11.1rem, calc(111vw / 13.66));
 top:  min(7rem, calc(70vw / 13.66));
 left: min(18.5rem, calc(185vw / 13.66));
 z-index: -2;
 opacity: 1;

}

.contents_img_03 .contents_img_icon {
 width: min(7.5rem, calc(75vw / 13.66));
 top:  min(2rem, calc(20vw / 13.66));
 left: min(4.3rem, calc(43vw / 13.66));
 transform: scale(0);
 transform-origin: bottom right;
}
.contents_img_03 .contents_img_icon.move {
 transform: scale(1);

}
.contents_img_04 .contents_img_icon {
 width: min(7.3rem, calc(73vw / 13.66));
 top:  min(17rem, calc(170vw / 13.66));
 left: min(7.5rem, calc(75vw / 13.66));
 transform: scale(0);
 transform-origin: bottom right;
}
.contents_img_04 .contents_img_icon.move {
 transform: scale(1);

}
.more_btn {
 width: min(7.2rem, calc(72vw / 13.66));
 position: absolute;
 bottom: min(2.4rem, calc(24vw / 13.66));
 right: min(2.4rem, calc(24vw / 13.66));
}

/*                   movie                     */

.movie_inner {
 background-image: linear-gradient(90deg, #ebcdc4 min(0.1rem, calc(1vw / 13.66)), transparent min(0.1rem, calc(1vw / 13.66))), linear-gradient(#ebcdc4 min(0.1rem, calc(1vw / 13.66)), transparent min(0.1rem, calc(1vw / 13.66)));
 background-position: 0 0;
 background-size: min(2.1rem, calc(21vw / 13.66)) min(2.1rem, calc(21vw / 13.66));
 padding: min(10rem, calc(100vw / 13.66)) 0 min(10rem, calc(100vw / 13.66));
}
.movie_item {
 width: min(38rem, calc(380vw / 13.66));
 margin: 0 auto;
}
.movie_ttl {
 font-size: 3.3rem;
 font-weight: 500;
 letter-spacing: 0.1em;
 color: #363d69;
 margin-bottom: min(2rem, calc(20vw / 13.66));
}
.movie_txt {
 text-align: justify;
 font-size: 1.68em;
 letter-spacing: 0.2em;
 font-weight: 500;
}
.movie_txt:not(:first-of-type) {
 margin-top: min(1rem, calc(10vw / 13.66));
}
.movie_txt span {
 position: relative;
 z-index: 1;
}
.movie_txt span.border_red {
 text-decoration: underline; /* 下線 */
 text-decoration-thickness: min(1.4rem, calc(14vw / 13.66)); /* 線の太さ */
 text-decoration-color: #e9afb6; /* 線の色 */
 text-underline-offset: max(-0.6rem, calc(-6vw / 13.66)); /* 線の位置。テキストに重なるようにやや上部にする */
 text-decoration-skip-ink: none;
}
.movie_txt span.border_org {
 text-decoration: underline; /* 下線 */
 text-decoration-thickness: min(1.4rem, calc(14vw / 13.66)); /* 線の太さ */
 text-decoration-color: #ffbf66; /* 線の色 */
 text-underline-offset: max(-0.6rem, calc(-6vw / 13.66)); /* 線の位置。テキストに重なるようにやや上部にする */
 text-decoration-skip-ink: none;
}
.movie_box {
 margin-top: min(4rem, calc(40vw / 13.66));
}

.movie_list {
 width:  min(38rem, calc(380vw / 13.66));
 margin: 0 auto;
 display: flex;
 justify-content: space-between;
 align-items: flex-start;
 border-bottom: min(.2rem, calc(2vw / 13.66))  #E5A0B2 solid;
 margin-bottom:  min(3rem, calc(30vw / 13.66));
}
.movie_list li {
 width:  min(9.2rem, calc(92vw / 13.66));
 height:  min(7.2rem, calc(72vw / 13.66));
 font-weight: 600;
 display: flex;
}

.movie_list li button {
 border-radius:  min(1.5rem, calc(15vw / 13.66))  min(1.5rem, calc(15vw / 13.66)) 0 0;
 letter-spacing: 0.1em;
 background-color: #fff;
 display: block;
 color: #542F36;
 width: 100%;
 font-size: 1.68rem;
 line-height: 1.3;
}
.movie_list li.show button {
 background-color: #E5A0B2;
 color: #fff;
 transform: scale(1,1.1);
 transform-origin: bottom;
}

.movie_detail {
 display: none;
}
.movie_detail.show {
 display: block;
}
.movie_thum {
 overflow: hidden;
 border-radius: min(1.5rem, calc(15vw / 13.66));
 height:  min(21.4rem, calc(214vw / 13.66));
}
.movie_name {
 font-size: 1.7rem;
 letter-spacing: 0.14em;
 font-weight: bold;
 margin-top: min(1rem, calc(10vw / 13.66));
}

.poster_box {
 width:  min(38rem, calc(380vw / 13.66));
 margin: 0 auto;
 display: flex;
 justify-content: space-between;
 flex-wrap: wrap;
 margin-top: min(4rem, calc(40vw / 13.66));
}
.poster_img {
 width: min(18rem, calc(180vw / 13.66));
 margin-bottom: min(2rem, calc(20vw / 13.66));
}

/*                   product                     */
.product_inner {
 width: min(40rem, calc(400vw / 13.66));
 padding: min(10rem, calc(100vw / 13.66)) 0 0;
 margin: 0 auto;
}
.product_ttl {
 font-size: 3rem;
 font-weight: 500;
 letter-spacing: 0.1em;
 color: #ee427f;
 margin-bottom:  min(4rem, calc(40vw / 13.66));
}

.product_item a {
 box-shadow: 0 0 min(0.5rem, calc(5vw / 13.66)) #ee427f26;
 background-color: #ff7b8c;
 box-sizing: border-box;
 padding: min(6rem, calc(60vw / 13.66)) 0 min(3rem, calc(30vw / 13.66));
 border-radius: min(4rem, calc(40vw / 13.66));
 display: block;
 transition: .7s;
}

@media (hover: hover) {
 .product_item  a:where(:any-link, :enabled, summary):hover {
  opacity: .7;
 }
}
.product_item:last-of-type a{
 padding: min(3rem, calc(30vw / 13.66)) 0 min(3rem, calc(30vw / 13.66));
 background-color: #ffabab;
 margin-top: min(4rem, calc(40vw / 13.66));
}
.product_txt {
 font-size: 1.9rem;
 font-weight: bold;
 color: #fff;
 line-height: 1.73;
 letter-spacing: 0.12em;
 margin-bottom: min(1.5rem, calc(15vw / 13.66));
}
.product_item:last-of-type .product_txt {
 color: #595757;
}
.product_item:first-of-type span {
 border: min(0.2rem, calc(2vw / 13.66)) #fff solid;
}
.product_txt span {
 display: block;
 font-size: 1.5rem;
 margin: 0 auto;
 width: min(18rem, calc(180vw / 13.66));
 border: min(0.2rem, calc(2vw / 13.66)) #595757 solid;
 border-radius: min(2.7rem, calc(27vw / 13.66));
}
.product_img {
 width: min(26rem, calc(260vw / 13.66));
 margin: 0 auto;
}

/*                   footer                     */
.footer_inner {
 padding: min(9rem, calc(90vw / 13.66)) 0 min(4rem, calc(40vw / 13.66));
}
.sns_item {
 width: min(22rem, calc(220vw / 13.66));
 margin: 0 auto;
 display: flex;
 justify-content: space-between;
}

.sns_item a {
 width: min(4.8rem, calc(48vw / 13.66));
}

.footer_logo {
 width: min(12.5rem, calc(125vw / 13.66));
 margin: min(7rem, calc(70vw / 13.66)) auto min(3rem, calc(30vw / 13.66));
 transition: .7s;
}

.footer_menu li {
 margin-bottom: min(0.5rem, calc(5vw / 13.66));
}
.footer_menu a {
 font-size: 1.3rem;
 font-weight: 500;
 letter-spacing: 0.14em;
 color: #666666;
 font-family: "Zen Maru Gothic", serif;
}

@media (hover: hover) {
 .footer_logo  a:where(:any-link, :enabled, summary):hover {
  opacity: .7;
 }
 .footer_menu  a:where(:any-link, :enabled, summary):hover {
  text-decoration: underline;
 }
}
.copy {
 font-size: 1.2rem;
 letter-spacing: 0.04em;
 font-family: "Zen Maru Gothic", serif;
 font-weight: 400;
 color: #666666;
 margin-top: min(3.5rem, calc(35vw / 13.66));
}

/*                   modal                     */
.modal {
 width: 100%;
 height: 100vh;
 height: 100svh;
 background-color: #00000066;
 position: fixed;
 top: 0;
 z-index: 100;
 display: none;
}
.modal_bg {
 width: 100%;
 height: 100%;
 position: fixed;
 top: 0;
}
.modal_inner {
 width: min(86rem, calc(860vw / 13.66));
 position: absolute;
 top: 50%;
 left: 0;
 right: 0;
 margin: 0 auto;
 transform: translateY(-50%);
 z-index: 5;
}
.poster_modal .modal_inner {
 width: min(80rem, calc(800vw / 13.66));
}
.modal_item {
 position: relative;
}
.modal_item p {
 font-size: 2.4rem;
 letter-spacing: 0.1em;
 font-weight: 600;
 color: #fff;
 margin-bottom:  min(.5rem, calc(5vw / 13.66));
}
.modal_movie {
 height: min(48.4rem, calc(484vw / 13.66));
 border-radius:min(1.5rem, calc(15vw / 13.66));
 overflow: hidden;
}
.modal_close {
 width: min(7rem, calc(70vw / 13.66));
 height: min(7rem, calc(70vw / 13.66));
 position: absolute;
 top: max(-7rem, calc(-70vw / 13.66));
 right: 0;
}
.modal_close::before {
 content: "";
 width: 100%;
 height: 0;
 border: min(0.1rem, calc(1vw / 13.66)) solid #fff;
 position: absolute;
 top: min(3.2rem, calc(32vw / 13.66));
 left: 0;
 right: 0;
 margin: 0 auto;
 transform: rotate(45deg);
 box-sizing: border-box;
}
.modal_close::after {
 content: "";
 width: 100%;
 height: 0;
 border: min(0.1rem, calc(1vw / 13.66)) solid #fff;
 position: absolute;
 bottom: min(3.6rem, calc(36vw / 13.66));
 left: 0;
 right: 0;
 margin: 0 auto;
 transform: rotate(-45deg);
 box-sizing: border-box;
}



@media screen and (max-width: 768px) {
#wrapper::before {
 content: none;
}

/*                   header                     */
#header {
 position: fixed;
 top: 0;
 width: 100%;
 z-index: 99;
 padding: 1.5rem 0;
}
#header.show {
 background: #F9DFED;
}
.hd_inner {
 width: 33rem;
 margin: 0 auto;
}
.hd_flex {
 display: flex;
 align-items: flex-start;
 justify-content: space-between;
}
.hd_logo {
 width: 11.6rem;
}
.nav_btn {
 width: 2.9rem;
 height: 2.3rem;
 position: relative;
 z-index: 10;
}

.nav_btn span {
 display: block;
 width: 100%;
 border: .1rem solid #363d69;
 border-radius: 1rem;
 transition: .4s;
 box-sizing: border-box;
}
.nav_btn.open span {
 opacity: 0;
}
.nav_btn::before {
 content: '';
 width: 100%;
 box-sizing: border-box;
 border: .1rem solid #363d69;
 border-radius: 1rem;
 transition: .4s;
 position: absolute;
 left: 0;
 top: 0;
 transition: .4s;
}
.nav_btn::after {
 content: '';
 width: 100%;
 box-sizing: border-box;
 border: .1rem solid #363d69;
 border-radius: 1rem;
 transition: .4s;
 position: absolute;
 left: 0;
 bottom: 0;
 transition: .4s;
}
.nav_btn.open::before {
 transform: rotate(145deg);
 top: 1rem;
}
.nav_btn.open::after {
 transform: rotate(-145deg);
 bottom: 1rem;
}
.nav {
 position: fixed;
 top: 0;
 width: 100%;
 height: 100vh;
 height: 100svh;
 background: url(../images/nav_bg.webp) no-repeat;
 background-size: cover;
 display: none;
}
.nav_bg {
 position: fixed;
 top: 0;
 width: 100%;
 height: 100%;
}
.nav_inner {
 width: 29rem;
 margin: 0 auto;
 position: absolute;
 top: 5rem;
 left: 0;
 right: 0;
 margin: 0 auto;
}
.nav_logo {
 width: 10.8rem;
 margin: 0 auto;
}
.nav_list {
 margin-top: 3.2rem;
}
.nav_list li {
 width: 100%;
 margin-bottom: 1.5rem;
}
.nav_list li a {
 display: block;
 line-height: 2.4;
 width: 100%;
 font-family: "Zen Maru Gothic", serif;
 letter-spacing: 0.2em;
 text-align: left;
 color: #542f36;
 font-size: 1.3rem;
 font-weight: bold;
 background-color: #ffffff40;
 box-sizing: border-box;
 padding-left: 3rem;
 position: relative;
 box-shadow: .5rem .5rem 1rem #0000000d;
 transition: 0.4s;
}

.nav_list li a::before {
 content: "";
 width:.6rem;
 height: 100%;
 background-color: #e9afb6;
 position: absolute;
 top: 0;
 right: 0;
}
.menu_img {
 display: flex;
 justify-content: space-between;
 width: 22.7rem;
 margin-top: 2.5rem;
}
.menu_img a {
 display: block;
 width: 10.3rem;
}

/*                   maun_contents                     */
.main_contents {
 width:100%;
}

/*                   mv                     */
#mv {
 position: relative;
}
.mv_inner {
 padding:6.2rem 0;
}
.mv_inner::before {
 height: 70.2rem;
}
.mv_ttl {
 width:21.2rem;
}

/*                   main_about                     */
.main_about_inner {
 padding-top:5.5rem;
 width:31.5rem;
 margin: 0 auto 1.5rem;
}
.main_about_ttl {
 font-size: 2.8rem;
 letter-spacing: 0.1em;
 margin-bottom: 1.5rem;
}
.main_about_ttl span {
 width:2.9rem;
 margin: 0 auto .5rem;
}
.main_about_txt {
 font-size: 1.4rem;
 letter-spacing: 0.2em;
 margin-bottom:1rem;
}
.main_about_txt span {
 width:10.4rem;
 margin:2rem auto 0;
}

/*                   contents_item                     */
.contents_item {
 padding-top:7.5rem;
}
.contents_item:nth-of-type(4) {
 /* margin-bottom: 10.5rem; */
 margin-bottom: 5rem;
}
.contents_inner {
 width: 33.5rem;
}
.contents_inner a {
 border-radius: 2rem;
 padding: 6rem 2rem 3.8rem;
 box-shadow: 0 0 .5rem #ee427f26;
}
.contents_inner a::before {
 width:28rem;
 height:3.5rem;
 top:-1.3rem;
}
.contents_box_ttl {
 font-size: 2.5rem;
 padding-bottom:1.8rem;
 margin-bottom: 2.8rem;
}
.contents_box_ttl::before {
 height: .15rem;
 border-radius: 1rem;
}
.contents_box_ttl::after {
 height: .15rem;
 border-radius: 1rem;
 bottom: -.5rem;
}
.contents_box_txt {
 font-size: 1.4rem;
 letter-spacing: 0.13em;
}
.contents_img_01 .contents_img_icon:first-of-type {
 width:2.5rem;
 top: 7.5rem;
 left: 6rem;
}
.contents_img_01 .contents_img_icon:last-of-type {
 width: 3rem;
 top: 9.5rem;
 right:5rem;
}
.contents_img_01 .contents_img_icon.move:first-of-type {
top:5.5rem;
}
.contents_img_01 .contents_img_icon.move:last-of-type {
top: 7.5rem;
}
.contents_img_02 .contents_img_icon:first-of-type {
 width: 10rem;
 top: 9.7rem;
 left:12.3rem;
}
.contents_img_02 .contents_img_icon:last-of-type {
 width:9.2rem;
 top: 5.5rem;
 left:17rem;

}
.contents_img_03 .contents_img_icon {
 width:6.2rem;
 top:  2rem;
 left: 4rem;

}

.contents_img_04 .contents_img_icon {
 width:6rem;
 top: 14.5rem;
 left: 6rem;
}
.more_btn {
 width:6rem;
 position: absolute;
 bottom:2rem;
 right:2rem;
}

/*                   movie                     */

.movie_inner {
 background-image: linear-gradient(90deg, #ebcdc4 .1rem, transparent .1rem), linear-gradient(#ebcdc4 .1rem, transparent .1rem);
 background-size:1.8rem 1.8rem;
 padding: 8.5rem 0 9rem;
}
.movie_item {
 width:31.5rem;
}
.movie_ttl {
 font-size: 2.8rem;
 letter-spacing: 0.08em;
 margin-bottom: 2rem;
}
.movie_txt {
 font-size: 1.4rem;
 letter-spacing: 0.25em;
}
.movie_txt:not(:first-of-type) {
 margin-top:1rem;
}

.movie_txt span.border_red {
 text-decoration-thickness: 1.1rem;
 text-underline-offset: -.3rem;
}
.movie_txt span.border_org {
 text-decoration-thickness: 1.1rem;
 text-underline-offset:-.3rem;
}
.movie_box {
 margin-top:3rem;
}

.movie_list {
 width: 31.5rem;
 border-bottom: .2rem  #E5A0B2 solid;
 margin-bottom: 2.5rem;
}
.movie_list li {
 width: 7.7rem;
 height: 6rem;
}

.movie_list li button {
 border-radius: .8rem .8rem 0 0;
 font-size: 1.4rem;
}
.movie_thum {
 overflow: hidden;
 border-radius:.8rem;
 height: 17.7rem;
}
.movie_name {
 font-size: 1.4rem;
 margin-top: .5rem;
}

.poster_box {
 width: 31.5rem;
 margin-top:3.5rem;
}
.poster_img {
 width:15rem;
 margin-bottom: 1.5rem;
}
/*                   product                     */
.product_inner {
 width:33.5rem;
 padding:8.6rem 0 0;
}
.product_ttl {
 font-size: 2.5rem;
 margin-bottom: 3.5rem;
}
.product_item a{
 border-radius:2rem;
 box-shadow: 0 0 .5rem #ee427f26;
 padding:5.5rem 0 2rem;
}
.product_item:last-of-type a{
 padding:3rem 0 2.5rem;
 background-color: #ffabab;
 margin-top:3.3rem;
}
.product_txt {
 font-size: 1.6rem;
 margin-bottom: 1rem;
}
.product_item:last-of-type .product_txt {
 color: #595757;
}
.product_txt span {
 font-size: 1.3rem;
 width: 15rem;
 border:.1rem #595757 solid;
 border-radius:1.4rem;
 margin-top: 0.5rem;
}
.product_img {
 width: 21.8rem;
}

/*                   footer                     */
.footer_inner {
 padding:8rem 0 3.5rem;
}
.sns_item {
 width:18.5rem;
}

.sns_item a {
 width: 4rem;
}

.footer_logo {
 width:10.5rem;
 margin: 6rem auto 2.5rem;
}

.footer_menu li {
 margin-bottom: .5rem;
}
.footer_menu a {
 font-size: 1.1rem;
}
.copy {
 font-size: 1rem;
 margin-top: 3rem;
}

/*                   modal                     */
.modal_inner {
 width:31.5rem;
}
.poster_modal .modal_inner {
 width:31.5rem;
}
.modal_item p {
 font-size: 1.4rem;
 margin-bottom: .5rem;
}
.modal_movie {
 height:17.7rem;
 border-radius:.8rem;
}
.modal_close {
 width:2.5rem;
 height:2.5rem;
 top: -2.8rem;
}
.modal_close::before {
 top:1.2rem;
}
.modal_close::after {
 border: .1rem solid #fff;
 bottom:1.1rem;
}

}





/*                   lower_contents                     */
.about-menstruation {
background: url(../images/about-menstruation/bg.webp) no-repeat;
background-size: cover;
}
.exam-preparation{
background: url(../images/exam-preparation/bg.webp) no-repeat;
background-size: cover;
}
.focus-issues{
background: url(../images/focus-issues/bg.webp) no-repeat;
background-size: cover;
}
.exam-menstruation{
background: url(../images/exam-menstruation/bg.webp) no-repeat;
background-size: cover;
}
.lower_contents .mv_inner {
 padding:  min(11rem, calc(110vw / 13.66)) 0  min(19rem, calc(190vw / 13.66));
}
.lower_contents .mv_ttl {
 width: auto;
 display: inline-block;
 font-size: 4.2rem;
 color: #ee427f;
 font-weight: 500;
 letter-spacing: 0.1em;
 line-height: 1.42;
}
.lower_contents .mv_img_icon {
 position: absolute;
 transition: 1s;
 opacity: 0;
}
.lower_contents .mv_img_icon.move {
 opacity: 1;
}
.about-menstruation .mv_img_icon:first-of-type{
 width:  min(4rem, calc(40vw / 13.66));
 top:  min(11.5rem, calc(115vw / 13.66));
 left:  min(9rem, calc(90vw / 13.66));
}
.about-menstruation .mv_img_icon:last-of-type{
 width:  min(4rem, calc(40vw / 13.66));
 top:  min(15.5rem, calc(155vw / 13.66));
 right:  min(8rem, calc(80vw / 13.66));
}
.about-menstruation .mv_img_icon.move:first-of-type {
top: min(8.5rem, calc(84vw / 13.66));
}
.about-menstruation .mv_img_icon.move:last-of-type {
top:  min(12.5rem, calc(125vw / 13.66));
}

.exam-preparation .mv_img_icon:first-of-type{
 width:  min(15.8rem, calc(158vw / 13.66));
 top:  min(14.5rem, calc(145vw / 13.66));
 left:  min(16.5rem, calc(165vw / 13.66));
 z-index: -1;
 transform-origin: left bottom;
 transform: rotate(-10deg);
}
.exam-preparation .mv_img_icon.move:first-of-type {
 transform: rotate(0deg);

}
.exam-preparation .mv_img_icon:last-of-type{
 width:  min(14.2rem, calc(142vw / 13.66));
 top:  min(8rem, calc(80vw / 13.66));
 right:  min(7.2rem, calc(72vw / 13.66));
 z-index: -2;
 opacity: 1;
}

.focus-issues .mv_img_icon{
 width:  min(9.2rem, calc(92vw / 13.66));
 top:  min(2.5rem, calc(25vw / 13.66));
 left:  min(6rem, calc(60vw / 13.66));
 transform: scale(0);
 transform-origin: bottom right;
}
.focus-issues .mv_img_icon.move {
 transform: scale(1);

}
.exam-menstruation .mv_img_icon{
 width:  min(9.2rem, calc(92vw / 13.66));
 bottom:  min(1rem, calc(10vw / 13.66));
 left:  min(9rem, calc(90vw / 13.66));
 transform: scale(0);
 transform-origin: bottom right;
}
.exam-menstruation .mv_img_icon.move {
 transform: scale(1);

}
.lower_contents .mv_ttl span {
 position: relative;
 z-index: 1;
}
.lower_contents .mv_ttl span::before {
 content: '';
 width: 100%;
 height:  min(1.8rem, calc(18vw / 13.66));
 background-color: #ee427f33;
 position: absolute;
 bottom:  max(-.3rem, calc(-3vw / 13.66));
 left: 0;
 z-index: -1;
}
.lower_contents .mv_txt {
 width:  min(35.4rem, calc(354vw / 13.66));
 text-align: justify;
 font-size: 1.8rem;
 letter-spacing: 0.2em;
 margin: 0 auto;
 color: #e35283;
 margin-top:  min(2.5rem, calc(25vw / 13.66));
 font-weight: 500;
}
.exam-preparation.lower_contents .mv_txt {
 margin-top:  min(4.5rem, calc(45vw / 13.66));
}
.exam-menstruation.lower_contents .mv_txt {
 margin-top:  min(9rem, calc(90vw / 13.66));
}


.index_inner {
 width:  min(39.5rem, calc(395vw / 13.66));
 border-radius:  min(1.6rem, calc(16vw / 13.66));
 border: min(.1rem, calc(1vw / 13.66))  solid #ee427f;
 margin: 0 auto;
 padding:  min(3.5rem, calc(35vw / 13.66))  min(2rem, calc(20vw / 13.66))  min(2rem, calc(20vw / 13.66));
 box-sizing: border-box;
 position: relative;
}
.index_ttl {
 width:  min(10rem, calc(100vw / 13.66));
 font-size: 2.4rem;
 font-weight: 500;
 color: #fff;
 background-color: #ee427f;
 letter-spacing: 0.12em;
 border-radius:  min(1.6rem, calc(16vw / 13.66));
 line-height: 1.3;
 position: absolute;
 top:  max(-1.5rem, calc(-15vw / 13.66));
 left:  min(2rem, calc(20vw / 13.66));
}
.index_inner li a {
 text-align: justify;
 display: block;
 font-size: 1.6rem;
 color: #542f36;
 line-height: 1.84;
 font-weight: 500;
 letter-spacing: 0.2em;
 padding: min(.45rem, calc(4.5vw / 13.66)) 0;
 position: relative;
 border-bottom:  min(.2rem, calc(2vw / 13.66)) dashed #542f364d;
  text-indent: -0.6em;
 padding-left: 0.6em;
 transition: .7s;
}
.index_inner li:last-of-type a {
 border: none;
}
@media (hover: hover) {
 .index_inner li  a:where(:any-link, :enabled, summary):hover {
  opacity: .7;
 }
}



/*                   lower_item                     */

.lower_item {
 padding-top:  min(10rem, calc(100vw / 13.66));
}
.lower_item_inner {
 width:  min(40rem, calc(400vw / 13.66));
 margin: 0  auto;
 background-color: #fff0e7;
 border-radius:  min(4rem, calc(40vw / 13.66));
 position: relative;
 box-shadow:  0 0  min(.5rem, calc(5vw / 13.66)) #ee427f26;
 padding:min(5rem, calc(50vw / 13.66)) 0 min(6rem, calc(60vw / 13.66));
}
.lower_item_inner::before {
 content: "";
 width: min(33.8rem, calc(338vw / 13.66));
 height: min(4.1rem, calc(41vw / 13.66));
 background: url(../images/ring_icon.svg) no-repeat;
 background-size: cover;
 position: absolute;
 top: max(-1.6rem, calc(-16vw / 13.66));
 left: 0;
 right: 0;
 margin: 0 auto;
}
.item_icon {
 width:  min(6.2rem, calc(62vw / 13.66));
 margin: 0 auto;
}

.lower_item_box_ttl {
  width:  min(31rem, calc(310vw / 13.66));
  font-size: 3.6rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  color: #ee427f;
  line-height: 1.27;
  position: relative;
  padding-bottom:  min(2rem, calc(20vw / 13.66));
  margin: min(3.5rem, calc(35vw / 13.66)) auto;
}
.lower_item_box_ttl_02 {
 font-size: 3.3rem;
 letter-spacing: 0.04em;
}

.lower_item_box_ttl::before {
 content: "";
 width: 100%;
 height: min(0.3rem, calc(3vw / 13.66));
 background-color: #ffbf66;
 border-radius: min(1rem, calc(10vw / 13.66));
 position: absolute;
 bottom: 0;
 left: 0;
}
.lower_item_box_ttl::after {
 content: "";
 width: 100%;
 height: min(0.3rem, calc(3vw / 13.66));
 background-color: #e9afb6;
 border-radius: min(1rem, calc(10vw / 13.66));
 position: absolute;
 bottom: max(-0.7rem, calc(-7vw / 13.66));
 left: 0;
}
.lower_item_box_txt {
  width:  min(31rem, calc(310vw / 13.66));
  margin: 0 auto;
  text-align: justify;
  font-size: 1.7rem;
  color: #542f36;
  font-weight: 500;
  letter-spacing: 0.22em;
}

.lower_item_box_txt .ft_bold {
 font-weight: bold;
}
.lower_item_box_txt .txt_pink {
 font-weight: bold;
 color: #e35282;
}
.lower_item_box_txt.mt {
  margin-top: min(2rem, calc(20vw / 13.66));
}
.lower_item_box_list dl {
 width:  min(30rem, calc(300vw / 13.66));
 margin: 0 auto min(4rem, calc(40vw / 13.66));
}
.lower_item_box_list dl:last-of-type {
 margin-bottom: min(1rem, calc(10vw / 13.66));
}
.lower_item_box_list dt{
 font-size: 2.5rem;
 font-weight: 500;
 letter-spacing: 0.02em;
 text-align: left;
 color: #ff84ae;
}
.lower_item_box_list dt span{
 display: inline-block;
 margin-right:  min(1rem, calc(10vw / 13.66));
}
.lower_item_box_list dd{
 font-size: 1.6rem;
 color: #542f36;
 letter-spacing: 0.2em;
 font-weight: 500;
 text-align: justify;
 background-color: #e3528226;
 border-radius: min(1.6rem, calc(16vw / 13.66));
 padding: min(1rem, calc(10vw / 13.66)) min(1.8rem, calc(18vw / 13.66));
 box-sizing: border-box;
}
.lower_item_box_list dl:nth-of-type(2) dt {
 color: #ee6266;
}
.lower_item_box_list dl:nth-of-type(2) dd {
 background-color: #ee626626;
}
.lower_item_box_list dl:nth-of-type(3) dt {
 color: #646fb0;
}
.lower_item_box_list dl:nth-of-type(3) dd {
 background-color: #646fb026;
}
.lower_item_box_list dl:nth-of-type(4) dt {
 color: #f3b07a;
}
.lower_item_box_list dl:nth-of-type(4) dd {
 background-color: #f3b07a26;
}
.lower_item_img_01 {
 margin: min(5.5rem, calc(55vw / 13.66)) 0 min(6rem, calc(60vw / 13.66));
}
.lower_item_img_02 {
 margin: min(3.5rem, calc(35vw / 13.66)) 0 min(6rem, calc(60vw / 13.66));
}

.lower_item_detail {
 margin-top:  min(3rem, calc(30vw / 13.66));

}
.lower_item_detail .detail_item_ttl {
 line-height: 1.8;
}
.lower_item_detail li {
 position: relative;
 display: inline-block;
 font-size: 1.68rem;
 letter-spacing: 0.08em;
 font-weight: 500;
 margin-bottom:   min(1rem, calc(10vw / 13.66));
 padding: 0   min(.8rem, calc(8vw / 13.66));
}
.lower_item_detail li::before {
 content: '';
 width: 100%;
 height:  min(.4rem, calc(4vw / 13.66)) ;
 background: url(../images/focus-issues/border.svg) ;
 background-size: contain;
 position: absolute;
 bottom: 0;
 left: 0;
}



.detail_item {
 margin-top:  min(8rem, calc(80vw / 13.66));
}
.detail_item_inner {
 width:  min(40rem, calc(400vw / 13.66));
 margin: 0  auto;
 background-color: #fff0e7;
 border-radius:  min(4rem, calc(40vw / 13.66));
 position: relative;
 box-shadow:  0 0  min(.5rem, calc(5vw / 13.66)) #ee427f26;
 padding:min(5rem, calc(50vw / 13.66)) min(4.5rem, calc(45vw / 13.66));
 box-sizing: border-box;
}
.detail_item_ttl {
 font-size: 2.5rem;
 color: #ee427f;
 line-height: 1.8;
 letter-spacing: 0.08em;
 font-weight: 500;
 display: inline-block;
 margin-bottom:  min(3rem, calc(30vw / 13.66));
}
.detail_item_ttl span {
 display: inline-block;
 position: relative;
 z-index: 1;
}
.detail_item_ttl span::before {
 content: '';
 width: 100%;
 height: min(1.1rem, calc(11vw / 13.66));
 background-color: #ee427f33;
 position: absolute;
 left: 0;
 bottom:  min(.2rem, calc(2vw / 13.66));
 z-index: -1;
}
.detail_item_txt {
 font-size: 1.7rem;
 letter-spacing: 0.22em;
 font-weight: 500;
 text-align: justify;
}
.detail_item_txt sup{
 font-size: 1.1rem;
 letter-spacing: 0;
}
.detail_item_note_txt {
 display: block;
 font-size: 1.44rem;
 letter-spacing: 0.16em;
}
.detail_item_txt .txt_pink {
font-weight: 600;
color: #e25281;
}

.detail_item_box {
 margin-top:  min(4.5rem, calc(45vw / 13.66));
}
.detail_item_box_ttl {
 font-size: 2rem;
 line-height: 1.77;
 letter-spacing: 0.1em;
 text-align: left;
 font-weight: 500;
 color: #ee427f;
}
.detail_item_box_ttl span {
 font-size: 1.68rem;
 display: block;
}
.detail_item_box_img {
width: 100%;
margin:  min(2.5rem, calc(25vw / 13.66)) auto  min(2.5rem, calc(25vw / 13.66));
}
.detail_item_box:last-of-type .detail_item_box_img:last-of-type {
 margin-bottom: 0;
}
.detail_item_box_txt {
 background-color: #ee626633;
 border-radius:  min(1.6rem, calc(16vw / 13.66));
 box-sizing: border-box;
 font-size: 1.56rem;
 letter-spacing: 0.26em;
 font-weight: 500;
 padding:  min(1.3rem, calc(13vw / 13.66))  min(1.8rem, calc(18vw / 13.66))  min(2rem, calc(20vw / 13.66));
 text-align: justify;
}

.focus-issues .detail_item_box:last-of-type .detail_item_box_comment:nth-of-type(2) {
 margin-top: min(2.5rem, calc(25vw / 13.66)) ;
}

.detail_item_box_comment {
 width: 100%;
 border:  min(.3rem, calc(3vw / 13.66))  #ffbf66 solid;
 border-radius:  min(1.7rem, calc(17vw / 13.66)) ;
 box-sizing: border-box;
 padding: min(1rem, calc(10vw / 13.66))  min(1.5rem, calc(15vw / 13.66)) ;
 font-size: 1.56rem;
 text-align: justify;
 line-height: 2;
 letter-spacing: 0.2em;
 font-weight: 500;
 position: relative;
 z-index: 1;
 margin-bottom:  min(3rem, calc(30vw / 13.66));
}

.detail_item_box_comment::after {
 content: '';
 width:  min(3.5rem, calc(35vw / 13.66)) ;
 height:  min(1rem, calc(10vw / 13.66)) ;
  background: linear-gradient(180deg, #fff0e7 0%, #fff0e7 35%, #ffbf66 35%, #ffbf66 65%, #fff0e7 65%, #fff0e7 100%);
  position: absolute;
  left: 0;
  right: 0;
  margin: 0 auto;
  bottom:  max(-.5rem, calc(-5vw / 13.66));
  transform: rotate(45deg);
}
.detail_item_box_comment:nth-of-type(even) {
 border:  min(.3rem, calc(3vw / 13.66))  #e9afb6 solid;
}
.detail_item_box_comment:nth-of-type(even)::after {
background: linear-gradient(180deg, #fff0e7 0%, #fff0e7 35%, #e9afb6 35%, #e9afb6 65%, #fff0e7 65%, #fff0e7 100%);
}



.item_box_02_inner {
 width:  min(30rem, calc(300vw / 13.66));
 margin: 0 auto;
 margin-top:  min(5rem, calc(50vw / 13.66));
}
.item_box_02 a {
 background-color: #facdcf;
 border-radius:  min(1.6rem, calc(16vw / 13.66));
 box-sizing: border-box;
 padding: min(2.5rem, calc(30vw / 13.66))  min(3rem, calc(25vw / 13.66)) ;
 display: block;
 width: 100%;
}
.item_box_02 h3 {
 font-size: 1.68rem;
 color: #542f36;
 letter-spacing: 0.1em;
 line-height: 1.7;
 font-weight: 500;
}
.item_box_02 h3  span {
 color: #ee427f;
 font-size: 2.2rem;
 line-height: 1.47;
 display: block;
}
.item_box_02 h3  span span{
 color: #ee427f;
 font-size: 1.92rem;
 line-height: 2;
 display: block;
}
.item_box_flex {
 display: flex;
 justify-content: space-between;
 margin-top:  min(1.5rem, calc(15vw / 13.66));
}
.item_box_flex > div {
 display: block;
 width:  min(11rem, calc(110vw / 13.66));
}



.item_box_03_inner {
  width:  min(30rem, calc(300vw / 13.66));
 margin: 0 auto;
 background-color: #ffffff;
 border-radius:  min(1.6rem, calc(16vw / 13.66));
 box-sizing: border-box;
 padding: min(6rem, calc(60vw / 13.66))  min(1.8rem, calc(18vw / 13.66)) min(5rem, calc(50vw / 13.66));
 margin-top:  min(10rem, calc(100vw / 13.66));
 position: relative;
}
.item_box_03 h3 {
 width:  min(25.2rem, calc(252vw / 13.66));
 background-color: #f49599;
 font-size: 2.52rem;
 font-weight: 500;
 letter-spacing: 0.08em;
 color: #ffffff;
 line-height: 1.23;
 padding:  min(1.5rem, calc(15vw / 13.66)) 0;
 position: absolute;
 left: 0;
 right: 0;
 margin: 0 auto;
 top:  max(-4rem, calc(-40vw / 13.66));
}
.item_box_03 h3  span {
 font-size: 1.92rem;
 display: block;
}
.item_box_03 dl {
 text-align: justify;
}
.item_box_03 dt {
 font-size: 1.56rem;
 font-weight: 600;
 color: #e25281;
}
.item_box_03 dd {
 font-size: 1.56rem;
 font-weight: 500;
 letter-spacing: 0.2em;
}


.item_box_04_inner {
 width:  min(30rem, calc(300vw / 13.66));
 margin: 0 auto;
 background-color: #e3528226;
 border-radius:  min(1.6rem, calc(16vw / 13.66));
 box-sizing: border-box;
 padding: min(2.5rem, calc(25vw / 13.66))  min(1.8rem, calc(18vw / 13.66)) min(3rem, calc(30vw / 13.66));
 margin-top:  min(4rem, calc(40vw / 13.66));
 position: relative;
}
.item_box_04 h3 {
 font-size: 2.52rem;
 color: #ee427f;
 font-weight: 500;
 letter-spacing: 0.08em;
}
.item_box_04 p {
 font-size: 1.56rem;
 font-weight: 500;
 text-align: justify;
 letter-spacing: 0.2em;
 margin-top:  min(1.5rem, calc(15vw / 13.66));
}



/*                   other                     */
.other_inner {
  background-image: linear-gradient(90deg, #ebcdc4 min(0.1rem, calc(1vw / 13.66)), transparent min(0.1rem, calc(1vw / 13.66))), linear-gradient(#ebcdc4 min(0.1rem, calc(1vw / 13.66)), transparent min(0.1rem, calc(1vw / 13.66)));
 background-position: 0 0;
 background-size: min(2.1rem, calc(21vw / 13.66)) min(2.1rem, calc(21vw / 13.66));
 padding: min(2.5rem, calc(25vw / 13.66)) 0 min(4.5rem, calc(45vw / 13.66));
 margin-top:  min(8rem, calc(80vw / 13.66)) ;
}
.other_ttl {
 font-size: 3.3rem;
 font-weight: 500;
 color: #363d69;
 letter-spacing: 0.1em;
 margin-bottom:  min(2.5rem, calc(25vw / 13.66));
}
.other_item {
 width:  min(40rem, calc(400vw / 13.66)) ;
 margin: 0 auto   min(2.4rem, calc(24vw / 13.66));
}
.other_item:last-of-type {
 margin-bottom: 0;
}
.other_item a{
 background-color: #fff0e7;
 border-radius:  min(4rem, calc(40vw / 13.66)) ;
 box-shadow: 0 0 min(0.5rem, calc(5vw / 13.66)) #ee427f26;
 box-sizing: border-box;
 padding: min(3rem, calc(30vw / 13.66)) min(5rem, calc(50vw / 13.66)) min(3.5rem, calc(35vw / 13.66));
 display: block;
 transition: .7s;
}
@media (hover: hover) {
 .other_item   a:where(:any-link, :enabled, summary):hover {
  opacity: .7;
 }
}
.other_item_ttl {
 text-align: left;
 letter-spacing: 0.1em;
 font-size: 2.1rem;
 color: #ee427f;
 line-height: 1.33;
 font-weight: 500;
 position: relative;
 padding-bottom: min(2rem, calc(20vw / 13.66)) ;
 margin-bottom: min(2rem, calc(20vw / 13.66)) ;
}
.other_item_ttl span {
 display: block;
 width: 100%;
 position: relative;
}
.other_item_ttl span::before {
 content: '';
 width:  min(3.5rem, calc(35vw / 13.66));
 height:  min(1.4rem, calc(14vw / 13.66));
 background: url(../images/arrow_01.svg) no-repeat;
 background-size: cover;
 position: absolute;
 top: 50%;
 transform: translateY(-50%);
 right: 0;
}
.focus .other_item_ttl span::before {
 background: url(../images/arrow_02.svg) no-repeat;
 background-size: cover;
}
.other_item_ttl::before {
 content: "";
 width: 100%;
 height: min(0.3rem, calc(3vw / 13.66));
 background-color: #ffbf66;
 border-radius: min(1rem, calc(10vw / 13.66));
 position: absolute;
 bottom: 0;
 left: 0;
}
.other_item_ttl::after {
 content: "";
 width: 100%;
 height: min(0.3rem, calc(3vw / 13.66));
 background-color: #e9afb6;
 border-radius: min(1rem, calc(10vw / 13.66));
 position: absolute;
 bottom: max(-0.7rem, calc(-7vw / 13.66));
 left: 0;
}

.other_item_txt {
 font-size: 1.6rem;
 text-align: justify;
 color: #542f36;
 letter-spacing: 0.2em;
 line-height: 1.84;
 font-weight: 500;
}
.other_item_img {
width:min(11.6rem, calc(116vw / 13.66));
margin: min(1rem, calc(10vw / 13.66)) auto 0;
}


@media screen and (max-width: 768px) {
 /*                   lower_contents                     */
.lower_contents .mv_inner {
 padding: 10rem 0 15.5rem;
}

.lower_contents .mv_ttl {
 font-size: 3.5rem;
}

.lower_contents .mv_ttl span::before {
 height: 1.5rem;
 bottom: -.2rem;
}
.about-menstruation .mv_img_icon:first-of-type{
 width: 3.7rem;
 top: 9rem;
 left: 7.2rem;
}
.about-menstruation .mv_img_icon:last-of-type{
 width: 3.9rem;
 top: 11.5rem;
 right: 6.7rem;
}
.about-menstruation .mv_img_icon.move:first-of-type {
top:7rem;
}
.about-menstruation .mv_img_icon.move:last-of-type {
top: 9.5rem;
}
.focus-issues .mv_img_icon{
 width: 7.5rem;
 top: 2rem;
 left: 5.3rem;
}
.exam-preparation .mv_img_icon:first-of-type{
 width: 13.2rem;
 top:  12rem;
 left: 13.5rem;
}
.exam-preparation .mv_img_icon.move:first-of-type {
 transform: rotate(0deg);

}
.exam-preparation .mv_img_icon:last-of-type{
 width: 11.7rem;
 top: 6.5rem;
 right: 6rem;
}
.exam-menstruation .mv_img_icon{
 width: 7.5rem;
 bottom:1rem;
 left: 7.8rem;
}
.exam-menstruation .mv_img_icon.move {
 transform: scale(1);

}
.lower_contents .mv_txt {
 width: 29.5rem;
 font-size: 1.5rem;
 margin-top: 2rem;
}
.exam-preparation.lower_contents .mv_txt {
 margin-top: 4rem;
}
.exam-menstruation.lower_contents .mv_txt {
 margin-top:  4rem;
}


.index_inner {
 width: 33rem;
 border-radius: .8rem;
 border:.1rem  solid #ee427f;
 margin: 0 auto;
 padding: 3rem 1.5rem  1.5rem;
}
.index_ttl {
 width: 8.3rem;
 font-size: 2rem;
 letter-spacing: 0.12em;
 border-radius: .8rem;
 top: -1.3rem;
 left: 1.8rem;
}
.index_inner li a {
 font-size: 1.3rem;
 letter-spacing: 0.2em;
 padding:.4rem 0;
 position: relative;
 border-bottom:.1rem dashed #542f364d;
  text-indent: -0.6em;
 padding-left: 0.6em;
}
.index_inner li:last-of-type a {
 border: none;
}



/*                   lower_item                     */

.lower_item {
 padding-top: 9rem;
}
.lower_item_inner {
 width:33.5rem;
 border-radius: 2rem;
 box-shadow:  0 0  .5rem#ee427f26;
 padding:4rem 0 5rem;
}
.lower_item_inner::before {
 width: 28rem;
 height:3.5rem;
 top: -1.4rem;
}
.item_icon {
 width: 5rem;
 margin: 0 auto;
}

.lower_item_box_ttl {
  width: 25.6rem;
  font-size: 3rem;
  padding-bottom: 1.5rem;
  margin:2.5rem auto 3rem;
}
.lower_item_box_ttl_02 {
 font-size: 2.7rem;
}

.lower_item_box_ttl::before {
 height:.2rem;
 border-radius: 1rem;
}
.lower_item_box_ttl::after {
 height:.2rem;
 border-radius: 1rem;
 bottom:-.5rem;
}
.lower_item_box_txt {
  width: 25.6rem;
  font-size: 1.4rem;
}

.lower_item_box_txt.mt {
  margin-top: 1.5rem;
}
.lower_item_box_list dl {
 width: 25.2rem;
 margin: 0 auto 2.3rem;
}
.lower_item_box_list dl:last-of-type {
 margin-bottom: 0;
}
.lower_item_box_list dt{
 font-size: 2.1rem;
}
.lower_item_box_list dt span{
 margin-right: 1rem;
}
.lower_item_box_list dd{
 font-size: 1.3rem;
 border-radius:.8rem;
 padding: 1rem 1.5rem;
}

.lower_item_img_01 {
 margin: 4.5rem 0 5.5rem;
}
.lower_item_img_02 {
 margin: 3rem 0 4rem;
}

.lower_item_detail {
 margin-top: 2.5rem;

}

.lower_item_detail li {
 font-size: 1.4rem;
 margin-bottom:  1rem;
 padding: 0   .4rem;
}
.lower_item_detail li::before {
 height: .2rem ;
}



.detail_item {
 margin-top: 7rem;
}
.detail_item_inner {
 width: 33.5rem;
 border-radius: 2rem;
 box-shadow:  0 0  .5rem #ee427f26;
 padding:4rem 3.8rem;
}
.detail_item_ttl {
 font-size: 2.1rem;
 margin-bottom:  2rem;
}
.detail_item_ttl span::before {
 height:1rem;
 bottom: .2rem;
}
.detail_item_txt {
 font-size: 1.4rem;
}
.detail_item_txt sup{
 font-size: 1rem;
}
.detail_item_note_txt {
 font-size: 1.2rem;
}


.detail_item_box {
 margin-top: 4rem;
}
.detail_item_box_ttl {
 font-size: 1.7rem;
 letter-spacing: 0.05em;
}
.detail_item_box_ttl span {
 font-size: 1.4rem;
}
.detail_item_box_img {
width:  100%;
margin: 2rem auto  ;
}
.detail_item_box_txt {
 border-radius: .8rem;
 font-size: 1.3rem;
 padding: 1.2rem  1.5rem  2rem;
}
.focus-issues .detail_item_box:last-of-type .detail_item_box_comment:nth-of-type(2) {
 margin-top:2rem ;
}

.detail_item_box_comment {
 border:.2rem  #ffbf66 solid;
 border-radius: .8rem;
 padding:1.5rem  1rem ;
 font-size: 1.3rem;
 margin-bottom: 3rem;
 letter-spacing: 0.26em;
}

.detail_item_box_comment::after {
 width: 3rem;
 height: .5rem ;
  bottom: -.25rem;
}
.detail_item_box_comment:nth-of-type(even) {
 border:.2rem  #e9afb6 solid;
}






.item_box_02_inner {
 width: 25.2rem;
 margin-top: 4rem;
}
.item_box_02 a {
 border-radius: .8rem;
 padding:2rem 2.5rem 2rem;
}
.item_box_02 h3 {
 font-size: 1.4rem;
 letter-spacing: 0.08em;
}
.item_box_02 h3  span {
 font-size: 1.8rem;
}
.item_box_02 h3  span span{
 font-size: 1.6rem;
}
.item_box_flex {
 margin-top: 1rem;
}
.item_box_flex > div {
 width: 9rem;
}



.item_box_03_inner {
  width: 25.2rem;
 border-radius:.8rem;
 padding:5rem 1.5rem 4rem;
 margin-top: 8.2rem;
}
.item_box_03 h3 {
 width: 21rem;
 font-size: 2.1rem;
 padding: 1rem 0;
 top: -3.2rem;
}
.item_box_03 h3  span {
 font-size: 1.6rem;
}
.item_box_03 dt {
 font-size: 1.3rem;
}
.item_box_03 dd {
 font-size: 1.3rem;
}


.item_box_04_inner {
 width: 25.2rem;
 border-radius: .8rem;
 padding: 2rem  1.5rem 2.5rem;
 margin-top: 3.2rem;
}
.item_box_04 h3 {
 font-size: 2.1rem;
}
.item_box_04 p {
 font-size: 1.3rem;
 margin-top:  1rem;
}



/*                   other                     */
.other_inner {
  background-image: linear-gradient(90deg, #ebcdc4 .1rem, transparent .1rem), linear-gradient(#ebcdc4 .1rem, transparent .1rem);
 background-position: 0 0;
 background-size:1.8rem 1.8rem;
 padding:2rem 0 3.6rem;
 margin-top: 7.5rem ;
}
.other_ttl {
 font-size: 2.8rem;
 margin-bottom: 2rem;
}
.other_item {
 width:33.5rem;
 margin: 0 auto  2rem;
}

.other_item a{
 border-radius: 2rem ;
 box-shadow: 0 0 .5rem #ee427f26;
 padding:2.5rem 4.3rem 2.8rem;

}
.other_item_ttl {
 font-size: 1.8rem;
 padding-bottom:1.5rem ;
 margin-bottom: 2rem ;
}

.other_item_ttl span::before {
 width: 2.6rem;
 height: 1rem;
}
.other_item_ttl::before {

 height:.2rem;
 border-radius:1rem;
}
.other_item_ttl::after {
 height:.2rem;
 border-radius:1rem;
 bottom: -.5rem;
}

.other_item_txt {
 font-size: 1.3rem;
}
.other_item_img {
width:8.6rem;
margin: .5rem auto 0;
}
}
