@charset "utf-8";

/* =reset
------------------------------------------------------------------------------------------*/
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,
pre,form,fieldset,input,textarea,p,blockquote,th,td,header, section, article, footer, article, aside, time ,nav,a{
margin:0;
padding:0;
}

fieldset,img{
  border:0;
}
address,caption,cite,code,dfn,em,th,var{
font-style:normal;
font-weight:normal;
}
ol,ul{
list-style:none;
}
caption,th{
text-align:left;
}
h1,h2,h3,h4,h5,h6{
font-size:100%;
font-weight:normal;
}
q:before,q:after{
content:'';
}
abbr,acronym{
border:0;
}
p{
text-justify:inter-ideograph;
margin: 0;
}

header, section, article, footer, article, aside, time ,nav { display: block; }

ul{
-webkit-margin-before: 0;
-webkit-margin-after: 0;
-webkit-margin-start: 0;
-webkit-margin-end: 0;
-webkit-padding-start: 0;
}
figure {
display: block;
-webkit-margin-before: 0;
-webkit-margin-after: 0;
-webkit-margin-start: 0;
-webkit-margin-end: 0;
}

button{
background-color: transparent;
border: none;
cursor: pointer;
outline: none;
padding: 0;
appearance: none;
}


/* =base
------------------------------------------------------------------------------------------*/
* { box-sizing: border-box; }
body { background: #fff; color: #000; counter-reset: number 0;/* font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;*/ font-family: 'Noto Sans JP', 'Noto Sans JP IE', sans-serif; font-feature-settings : "palt"; font-size: 16px; line-height: 1.6em; letter-spacing: .1em;word-break: break-all;}
img { vertical-align: bottom; }
a { color: #333; text-decoration: none; outline: none; }
a:hover { text-decoration: none; opacity: 0.6;}
/* a:hover img { opacity: 0.7; filter: alpha(opacity=70); } */
.section-wrap p:not(:last-of-type) { margin-bottom: 1em; }

/* =header
------------------------------------------------------------------------------------------*/
/* header { background: #e95098; display: table; position: relative; top: 0; width: 100%; z-index: 1; }
header .header-wrap { display: table; margin: 0 auto; padding: 15px 20px; width: 100%; }
header .left { display: table-cell; line-height: 1em; vertical-align: middle; width: 16%; }
header .right { display: table-cell; margin: .5em 0; vertical-align: middle; width: 84%; }
header h1 { color: #fff; font-size: 10px; line-height: 1em; text-align: right; }
header .logo-eplus { width: 100px; height: 21px;}
header .logo-eplus img { width: 100%;  max-width: 100%; height: auto;} */

/* =foot
-----------------------------------------------------------------------------------------*/
/* footer { background: #e95098; color: #fff; text-align: center; width: 100%;  margin: 0 auto; padding: 50px 0; }
footer p { font-size: 12px; line-height: 1em;}
footer .footer-logo-eplus a{ width: 41px; height: 37px; margin: 0 auto; display: block;} */

  /* =ページトップ
------------------------------------------------------------------------------------------*/
.page_top { margin: 0; position: fixed; right: 100px; bottom: 50px; text-align: center; z-index: 10; }
.page_top a { background: rgba(255,255,255,.8); border: 1px solid #ccc; border-radius: 40px; color: #000; display: block; font-size: 11px; height: 80px; line-height: 80px; transition: all .2s; width: 80px; }

/* = sp nav
------------------------------------------------------------------------------------------*/
.sp-nav { display: none; }

/* = breadcrumb
------------------------------------------------------------------------------------------*/
.breadcrumb { margin: 30px auto ; max-width: 1000px; width: 92%; }
.breadcrumb li { color: #696969; display: inline; }
.breadcrumb li a { font-size: 14px; line-height: 1.2em; text-decoration: underline; }
.breadcrumb li:not(:last-child)::after { content: " > "; color: #696969; }

/* = parts
------------------------------------------------------------------------------------------*/
.pc-none { display: none; }
.sp-none { display: block; }

/* 横並びbox */
.clearfix::after,
.clearfix::before,
.float-box::after,
.float-box::before { content: ""; clear: both; display: block; }
.float-box { width: 102%; margin-bottom: -5%;}
.float-box .box01 { width: 98%; margin-bottom: 5%;}
.float-box .box02,
.float-box .box03,
.float-box .box04 { float: left; margin: 0 2% 5% 0; }
.float-box .box02 { width: 48%; }
.float-box .box03 { width: 31.3%; }
.float-box .box04 { width: 23%; }
.float-box .box01 img,
.float-box .box02 img,
.float-box .box03 img,
.float-box .box04 img { width: 100%; }
.table-box { display: table; width: 100%; }
.table-box .box02,
.table-box .box03,
.table-box .box04 { display: table-cell; vertical-align: middle; }
.table-box .box02 { width: 50%; }
.table-box .box03 { width: 33.3%; }
.table-box .box04 { width: 25%; }
.table-box .box02 img,
.table-box .box03 img,
.table-box .box04 img { width: 100%; }


/* font */
.moreless { font-size: .8em; line-height: 1.4em; }
.less { font-size: .9em; line-height: 1.4em; }
.mid { font-size: 1.1em; line-height: 1em; }
.big { font-size: 1.2em; line-height: 1em; }
.bigger { font-size: 1.3em; line-height: 1em; }
.biggest { font-size: 1.5em; line-height: 1em; }
.font-bold { font-weight: bold; }
.font-normal { font-weight: normal; }
.font-minchou { font-family: "ＭＳ 明朝",serif; font-weight: normal; }
.font-yu-minchou { font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN","HG明朝E","ＭＳ Ｐ明朝","ＭＳ 明朝",serif; font-weight: normal; }
.font-italic { font-style: italic; }
.copyright { font-size: 12px; line-height: 1.4em;}

/* textColor */
.text-red { color: #cc0000; }
.text-white { color: #fff; }
.text-black { color: #000; }
.sat { color: #0b5792; }
.sun { color: #a63646; }

/* textAlign */
.text-left { text-align: left; }
.text-center { text-align: center; }
.text-right { text-align: right; }

/* margin */
.mb-05vw { margin-bottom: .5vw !important; }
.mb-1vw { margin-bottom: 1vw !important; }
.mb-2vw { margin-bottom: 2vw !important; }
.mb-3vw { margin-bottom: 3vw !important; }
.mb-4vw { margin-bottom: 4vw !important; }
.mb-5vw { margin-bottom: 5vw !important; }
.mb-6vw { margin-bottom: 6vw !important; }
.mb-7vw { margin-bottom: 7vw !important; }
.mb-8vw { margin-bottom: 8vw !important; }
.mb-9vw { margin-bottom: 9vw !important; }
.mb-10vw { margin-bottom: 10vw !important; }
.mb-01em { margin-bottom: .1em !important; }
.mb-02em { margin-bottom: .2em !important; }
.mb-03em { margin-bottom: .3em !important; }
.mb-04em { margin-bottom: .4em !important; }
.mb-05em { margin-bottom: .5em !important; }
.mb-06em { margin-bottom: .6em !important; }
.mb-07em { margin-bottom: .7em !important; }
.mb-08em { margin-bottom: .8em !important; }
.mb-09em { margin-bottom: .9em !important; }
.mb-1em { margin-bottom: 1em !important; }
.mb-2em { margin-bottom: 2em !important; }

/* linkButtonBased */
.link-button a { box-sizing: border-box; text-decoration:none;  display: block; border-radius: 100px; font-size: 22px; font-weight: bold; line-height: 1em; margin: 0 auto; padding: 1.5em .2em; position: relative; text-align: center; transition: .1s; width: 100%; max-width: 550px;}
.link-button.smtk-button a { border-radius: 12px;}
.link-button a:hover { text-decoration: none; opacity: .7;}
.link-button a:active { box-shadow: none; }

/* linkButtonColor */
.link-button a { background: #f16baa; color: #fff; }
.link-button.smtk-button a { background: #329EA8;}
.link-button.smtk-button a:hover { background: #79CFD7; opacity: 1;}

/* 16:9 wrap(youteubeとか) */
.video-outer-wrap { margin: 0 auto; width: 100%; max-width: 550px;}
.video-wrap { overflow: hidden; padding-bottom: 56.25%; position: relative; height: 0px; width: 100%; }
.video-wrap iframe { position: absolute; top: 0; left: 0; height: 100%; width: 100%; }

/* periodBox */
.period-box { background: #f8f8f8; border: 1px solid #cc0000; box-sizing: border-box; color: #cc0000; font-size: 26px; font-weight: bold; line-height: 1.4em; margin: 0 auto 20px; padding: 25px 0; text-align: center; width: 80%; }

/* bottomLineBased */
.solid-line { border-bottom: 1px solid #000; }
.dotted-line { border-bottom: 1px dotted #000; }
.dashed-line { border-bottom: 1px dashed #000; }

/* bottomLinePadding */
.solid-line,
.dotted-line,
.dashed-line { padding-bottom: 16px; }

/* textList(div等で囲む) */
p.text-list,
.text-list ul li { padding: 0 0 0 1.1em; position: relative; }
p:not(:last-of-type).text-list { margin-bottom: 1em; }
.text-list ul li:not(:last-of-type) { margin-bottom: .2em; }
p.text-list::before,
.text-list ul li::before { content: "※"; position: absolute; left: 0; }
p.text-list-dotted::before,
.text-list-dotted ul li::before { content: "・"; }
p.text-list-circle::before,
.text-list-circle ul li::before { content: "●"; }
p.text-list-square::before,
.text-list-square ul li::before { content: "■"; }
p.text-list-counter,
.text-list-counter{ counter-reset: number 0;}
p.text-list-counter,
.text-list-counter ul li { padding-left: 2.1em; }
p.text-list-counter::before,
.text-list-counter ul li::before { counter-increment: number 1; content: "" counter(number) ""; }

/* linkOff */
.link-off a { background: #ccc!important; border: none!important; box-shadow: none!important; pointer-events: none!important; }
.link-off a::after { display: none!important; }

/* smartphone
------------------------------------------------------------------------------------------*/
@media screen and (max-width: 768px){
  /* =base
  ------------------------------------------------------------------------------------------*/
  body { font-size: 14px; line-height: 1.6em; }

  /* =header
  ------------------------------------------------------------------------------------------*/
  /* header { border-top: solid 2px #e95098; }
  header .header-wrap { padding: 8px 8px 10px; }
  header .left,
  header .right { display: block; width: 100%; }
  header .left { margin-bottom: 10px; }
  header .right { margin: 0; }
  header h1 { text-align: left; line-height: 1.2em;}
  header .logo-eplus { width: 60px; height: 12px;} */

  /* =foot
  -----------------------------------------------------------------------------------------*/
  /* footer { padding: 30px 0; } */

  /* =pagetop
  ------------------------------------------------------------------------------------------*/
  .page_top{ display: none; }

  /* = sp nav
  ------------------------------------------------------------------------------------------*/
  .sp-nav { display: block; }
  #toggle { background: #fcc700; position: fixed; top: 0; right: 0; height: 45px; width: 45px; transition: .2s; z-index: 11; }
  #toggle .button { background: #fff; height: 4px; position: absolute; top: calc(50% - 2px); left: 20%; transition: .3s; width: 60%; }
  #toggle .button::before,
  #toggle .button::after { background: #fff; content: ""; display: block; height: 4px; position: absolute; top: 50%; left: 0; transition: .3s; width: 100%; }
  #toggle .button::before { margin-top: -12px; }
  #toggle .button::after { margin-top: 8px; }
  #toggle .close { background: transparent; top: calc(50% - 4px); }
  #toggle .close::before,
  #toggle .close::after{ margin-top: 0; }
  #toggle .close::before{ transform: rotate(-45deg); }
  #toggle .close::after{ transform: rotate(-135deg); }
  #menu { opacity: 0; transition: .3s; display: none;}
  #menu.open { display: block !important; opacity: 1; transition: .1s; }
  .nav-menu { background: rgba(0,0,0,.8); height: 100%; height: 100vh; position: fixed; top: 0; transition: .3s; width: 100%; width: 100vw; z-index: 10; }
  .nav-menu li:first-child { border-bottom: 1px solid #666; height: 45px; }
  .nav-menu li a { border-bottom: 1px solid #666; color: #fff; display: inherit; font-size: 14px; line-height: 1em; padding: 14px 0; width: 100%; text-align: center; }

  /* = parts
  ------------------------------------------------------------------------------------------*/
  .pc-none { display: block; }
  .sp-none { display: none; }

  /* 横並びbox */
  .float-box,
  .float-box .box01,
  .float-box .box02,
  .float-box .box03 { width: 100%;}
  .float-box .box02,
  .float-box .box03 { float: none; margin: 0 0 5% 0; }
  .float-box .box04 { width: 48%; }
  .table-box .box02,
  .table-box .box03 { display: block; width: 100%; }
  .table-box .box04 { width: 50%; }


  /* textAlign */
  .sp-text-left { text-align: left; }
  .sp-text-right { text-align: right; }
  .sp-text-center { text-align: center; }

  /* margin */
  .sp-mb-05vw { margin-bottom: .5vw !important; }
  .sp-mb-1vw { margin-bottom: 1vw !important; }
  .sp-mb-2vw { margin-bottom: 2vw !important; }
  .sp-mb-3vw { margin-bottom: 3vw !important; }
  .sp-mb-4vw { margin-bottom: 4vw !important; }
  .sp-mb-5vw { margin-bottom: 5vw !important; }
  .sp-mb-6vw { margin-bottom: 6vw !important; }
  .sp-mb-7vw { margin-bottom: 7vw !important; }
  .sp-mb-8vw { margin-bottom: 8vw !important; }
  .sp-mb-9vw { margin-bottom: 9vw !important; }
  .sp-mb-10vw { margin-bottom: 10vw !important; }

  /* linkButton */
  .link-button a { font-size: 16px; width: 100%;}

  /* periodBox */
  .period-box { font-size: 18px; line-height: 1.2em; margin-bottom: 4vw; padding: .6em 0; width: 90%; }
}

/* css add*/

/* = FixedBg
------------------------------------------------------------------------------------------*/
/*body::before {content:""; display:block; position:fixed; top:0; left:0; z-index:-1; width:100%; height:100vh; background:url(../images/page_background.jpg) center top no-repeat #fff;  background-size:cover; }*/

/* = parts
------------------------------------------------------------------------------------------*/
.flex-box{ display: flex; flex-wrap: wrap; width: 100%; gap: 20px 2%;}
.flex-box .box01 { width: 100%;}
.flex-box .box02 { width: 49%;}
.flex-box .box03 { width: 32%;}
.flex-box .box04 { width: 23.5%;}
.text-link{text-decoration: underline;}
.text-link:hover{text-decoration: none;}
.big-text{font-size: 26px; line-height: 1.4em;}
.mid-text{font-size: 20px; line-height: 1.4em;}
.min-text{font-size: 14px; line-height: 1.4em;}
.marker-text{ background: linear-gradient(transparent 70%, #f6bbd7 0%);}
.indent-text{padding-left: 1.1em; text-indent: -1.1em; display: block;}
.in-b{display: inline-block; white-space: pre-wrap;}
.bp-list:not(:last-of-type){margin-bottom: .2em;}
.inline-list{display: inline-block;}
.inline-list:not(:last-of-type){ margin: 0 1em 0 0;}
.inline-list.slash-list:not(:last-of-type){ margin: 0;}
.inline-list.slash-list:not(:last-of-type)::after{ content: "／"; margin: 0;}
.period-txt{font-size: 24px; line-height: 1.6em; text-align: center; margin-bottom: 1em;}
.text-pink{color: #dd2279;}
@media screen and (max-width: 768px) {
.flex-box{ gap: 15px 2%;}
.flex-box .box02,
.flex-box .box03 { width: 100%;}
.flex-box .box04 { width: 49%;}
.big-text{font-size: 22px;}
.mid-text{font-size: 16px;}
.min-text{font-size: 12px;}
.period-txt{font-size: 18px;}
}

/* = wrap
------------------------------------------------------------------------------------------*/
.main-wrap {display: block; width: 100%; overflow-x: hidden;}
.main-wrap img{width: 100%; max-width: 100%; height: auto;}
.wrap-1200px{max-width: 1200px; width: 92%; margin: 0 auto;}
.bg-color:nth-of-type(odd){background-color: #fff;}
.bg-color:nth-of-type(even){background-color: #f7f7f7;}
.bg-color.bg-border{ background-image:linear-gradient(-45deg, #fff 25%, #fdeff6 25%, #fdeff6 27%, #fff 27%, #fff 50%, #fdeff6 50%, #fdeff6 52%, #fff 52%, #fff 75%, #fdeff6 75%, #fdeff6 77%, #fff 77% ); background-size: 40px 40px;}
#sns .bg-color:nth-of-type(odd){background-color: #f7f7f7;}
#sns .bg-color:nth-of-type(even){background-color: #fff;}
.bg-inner{padding: 90px 0; box-sizing: border-box;}
.bg-inner.chap-inner{padding: 120px 0 0;}
.bg-inner.nav-inner{padding: 90px 0 170px;}
.bg-inner.min-inner{padding: 15px 0;}
.section-wrap:not(:last-of-type){margin-bottom: 90px;}
.content-wrap:not(:last-of-type){margin-bottom: 50px;}
@media screen and (max-width: 768px) {
.bg-inner{padding: 60px 0;}
.bg-inner.chap-inner{padding: 60px 0 0;}
.bg-inner.nav-inner{padding: 60px 0 140px;}
.bg-inner.min-inner{padding: 10px 0;}
.section-wrap:not(:last-of-type){margin-bottom: 60px;}
.content-wrap:not(:last-of-type){margin-bottom: 35px;}
}

/* = heading
------------------------------------------------------------------------------------------*/
.sec-h{font-weight: bold; margin-bottom: 1em; line-height: 1.4em; font-size: min(3.5vw,42px); position: relative; padding-top: 55px; z-index: 1;}
.sec-h .h-min{font-size: .7em; line-height: 1em;}
.sec-h .hukidashi {position: absolute; left: 0; top: 0; font-size: 18px; line-height: 1em; font-weight: normal; background-color: #E85298; box-sizing: border-box; border-radius: 500px; padding: .6em 1.5em; color: #fff; z-index: 0;
opacity: 0; transform: translateY(20px) scale(0.9); transition: opacity 0.6s ease, transform 0.6s ease, filter 0.6s ease; filter: blur(3px);transform-origin: center bottom;}
.sec-h .hukidashi::after{position: absolute; content: ""; background-repeat: no-repeat; background-image: url(../images/hukidashi_ob.svg); aspect-ratio:500 / 225; height: 15px; left: 15px; bottom: -14px; z-index: -1;}
.sec-h .hukidashi.is-active{opacity: 1; transform: translateY(0) scale(1);filter: blur(0);}
.con-h{ font-weight: bold; margin-bottom: .6em; line-height: 1em; font-size: 20px;}
@media screen and (max-width: 768px){
.sec-h{ font-size: min(7.8vw, 42px);padding-top: 52px;}
.sec-h .hukidashi {font-size: 16px;}
.con-h{ font-size: 16px;}
}

/* = .fixed-nav
------------------------------------------------------------------------------------------*/
.fixed-nav { background: #fff; border-radius: 12px; box-shadow:0px 0px 5px 2px rgba(0,0,0,.2); margin: 0 auto; position: fixed; left: 50%; bottom: 50px; width: 92%; max-width: 1000px; padding: 15px 4%; transform: translate3d(-50%,30px,0); z-index: 69; transition: .5s; -webkit-font-smoothing: antialiased; box-sizing: border-box; pointer-events: none; opacity: 0;}
.fixed-nav img { width: 100%; max-width: 100%; height: auto;}
.fixed-nav .nav-wrap { display: flex; align-items: center; justify-content: space-between; gap: 20px 2%;}
.fixed-nav .nav-wrap .left {display: flex; align-items: center;}
.fixed-nav .nav-wrap .left .text{line-height: 1.4em;font-size: min(16px, 1.7vw);}
.fixed-nav .nav-wrap .right ul {display: flex; align-items: center;}
.fixed-nav .nav-wrap .right ul li {  max-height: 60px; height: 7.2vw;}
.fixed-nav .nav-wrap .right ul li a { display: block; }
.fixed-nav .nav-wrap .left .app-icon { margin-right: 10px; max-width: 60px; width: 7.3vw; aspect-ratio: 148 / 145;}
.fixed-nav .nav-wrap .right ul li.apple { aspect-ratio: 207 / 76; margin-right: 10px;}
.fixed-nav .nav-wrap .right ul li.google { aspect-ratio: 256 / 76;}
.fixed-nav .nav-wrap .right ul li.sp-apple,
.fixed-nav .nav-wrap .right ul li.sp-google,
.fixed-nav .nav-wrap .right ul li.sp-apple a,
.fixed-nav .nav-wrap .right ul li.sp-google a { display: none; }
.fixed-nav.is-absolute {position: absolute; bottom: auto; top: auto;}
@media screen and (max-width: 768px){
.fixed-nav { padding: 12px; bottom: 20px;}
.fixed-nav .nav-wrap .left .app-icon { width: 11.3vw; }
.fixed-nav .nav-wrap .left .text{font-size: min(14px, 3.3vw);}
.fixed-nav .nav-wrap .right ul li {  max-height: initial; height: 100%;}
.fixed-nav .nav-wrap .right ul li.apple,
.fixed-nav .nav-wrap .right ul li.google,
.fixed-nav .nav-wrap .right ul li.apple a,
.fixed-nav .nav-wrap .right ul li.google a { display: none; }
.fixed-nav .nav-wrap .right ul li.sp-apple,
.fixed-nav .nav-wrap .right ul li.sp-google,
.fixed-nav .nav-wrap .right ul li.sp-apple a,
.fixed-nav .nav-wrap .right ul li.sp-google a { display: block; }
.fixed-nav .nav-wrap .right ul li.sp-apple a,
.fixed-nav .nav-wrap .right ul li.sp-google a { font-size: 10px; line-height: 1em; background: #3367d6; color: #fff; font-weight: bold; border-radius: 4px; padding: 1.5em 1.2em; box-sizing: border-box;}
.fixed-nav .nav-wrap .right ul li.sp-google a:hover { background: #1187dc;}
}

/* = footer
------------------------------------------------------------------------------------------*/
footer { background: #e95098; color: #fff; text-align: center; width: 100%; }
footer .footer-wrap { margin: 0 auto; padding: 30px 0; }
footer .bottom-link { margin-bottom: 16px; }
footer .bottom-link ul li,
footer .copyright p { display: inline-block; vertical-align: middle; }
footer .bottom-link ul li:first-child{position: relative; margin-right: 24px;}
footer .bottom-link ul li:first-child::after { border-right: 1px solid #fff; content: ""; position: absolute; top: 0; right: -16px; height: 100%; }
footer .bottom-link ul li a { color: #fff; font-size: 14px; line-height: 1em; position: relative; }
footer .copyright p.eplus a { display: block; margin: -4px 10px 0 0; width: 32vw; max-width: 120px; }
footer .copyright p.eplus img { width: 100%; max-width: 100%; height: auto;}
@media screen and (max-width: 768px){
footer .footer-wrap { padding: 5.5vw 0; }
footer .copyright p { display: block; }
footer .copyright p.eplus a { margin: 0 auto 1.5vw; }
}

/* = mainImage
------------------------------------------------------------------------------------------*/
#main-img { background: url(../images/main_background.png) center center no-repeat #fff; width: 100%; position: relative;  background-size: cover; overflow-y: hidden;}
#main-img .main-inner{max-width: 1200px; margin: 0 auto; display: flex; flex-wrap: wrap; width: 92%; gap: 0 6%; box-sizing: border-box; padding: 70px 0 10px; position: relative; align-items: flex-start;}
#main-img .main-ob{position: absolute; max-width: 60px; width: 4.5vw;}
#main-img .main-ob.ob-l{left: -20px; bottom: 50px;}
#main-img .main-ob.ob-r{right: 20px; top: 35px;}
#main-img .main-l{width: 52%;display: flex; flex-wrap: wrap; justify-content: center;}
#main-img .main-r{width: 42%; position: relative;}
#main-img h1 {order: 1; width: 100%; margin: 0 auto 2%; line-height: 1em;}
#main-img h2 {order: 3; width: 80%; margin: 0 auto 4%; line-height: 1em;}
#main-img .txt-01{order: 2; width: 86%; margin: 0 auto 7%; line-height: 1em;}
#main-img .txt-02{order: 4; width: 74%; margin: 0 auto; line-height: 1em;}
#main-img .img-phone.phone-l{position: relative;max-width: 350px; width: 26.5vw; top: -50px;}
#main-img .img-phone.phone-r{position: absolute;max-width: 470px; width: 35.6vw; bottom: -20px; right: 0;}
#main-img img { width: 100%; max-width: 100%; height: auto;}
#main-img .main-ob.ob-l{opacity: 0; transform: rotateY(-540deg) scale(0.8) translate3d(0px, 30px, 0px);transition: opacity 0.2s ease, transform .8s ease; transform-origin: top center;}
#main-img .main-ob.ob-r{opacity: 0; transform: rotateY(-540deg) scale(0.8) translate3d(0px, -30px, 0px);transition: opacity 0.2s ease, transform .8s ease; transform-origin: bottom center;}
#main-img .main-ob.ob-l.action,
#main-img .main-ob.ob-r.action{ opacity: 1;transform: none;}
#main-img h1,
#main-img h2,
#main-img .txt-01,
#main-img .txt-02{opacity: 0; transform: translateY(10px); transition: opacity 0.3s ease, transform 0.3s ease; }
#main-img h1.show,
#main-img h2.show,
#main-img .txt-01.show,
#main-img .txt-02.show{opacity: 1; transform: translateY(0);}
#main-img .img-phone.phone-l{opacity: 0; transform: translate3d(0px,20px,0px); transition: opacity 0.3s ease, transform 0.3s ease;}
#main-img .img-phone.phone-r{opacity: 0; transform: translate3d(0px, 20px, 0px)rotate(-5deg); transition: opacity 0.3s ease, transform 0.3s ease;}
#main-img .img-phone.phone-l.active,
#main-img .img-phone.phone-r.active{opacity: 1;transform: none;}
@media screen and (max-width: 768px) {
#main-img { background: url(../images/main_background_sp.png) center 12vw no-repeat #fff; background-size: cover; overflow-y: initial;}
#main-img .main-ob{display: none;}
#main-img .main-inner{ padding: 45vw 0 8vw; position: relative;z-index: 0;}
#main-img .main-l{width: 100%; z-index: 0;}
#main-img .main-r{width: 90%; z-index: -1; position: absolute; left: 50%; top: 3vw; transform: translate3d(-50%,0,0);}
#main-img h1 { width: 90%; margin: 0 auto 3.2%; position: relative;}
#main-img h1::before,
#main-img h1::after{position: absolute; content: ""; width: 110%; height: 102%; left: 50%; transform: translate3d(-50%,0,0); z-index: -1;}
#main-img h1::before{ background-color: #fff;}
#main-img h1::after{background-image: linear-gradient(transparent 30%, #ffffff); top: -100%;}
#main-img h2 { width: 64%; margin: 0 auto 4%;}
#main-img .txt-01{ width: 80%; margin: 0 auto 3.2%;}
#main-img .txt-02{ width: 54%;}
#main-img .img-phone{position: absolute;}
#main-img .img-phone.phone-l{max-width: 750px; width: 44vw; top: initial; bottom: 0; left: 5vw;}
#main-img .img-phone.phone-r{ max-width: 750px; width: 44vw; bottom: 0; right: 5vw;}
}

/* = chapter
------------------------------------------------------------------------------------------*/
.chapter .chap-txt{font-size: clamp(16px,1.8vw,18px); line-height: 1.8em;}
.chapter .icon-txt{background-repeat: no-repeat;}
.chapter .icon-txt.icon-heart{background-image: url(../images/icon_heart.svg);background-size: 78%;background-position: center center;}
.chapter .icon-txt.icon-glass{background-image: url(../images/icon_glass.svg);background-position: 0px 6px; background-size: 80%;}
.chapter .chapter-wrap{ display: flex; flex-wrap: wrap; width: 100%; gap: 30px 8%;}
.chapter .chapter-wrap .chapter-txt{ width: 56%; margin:0 0 30px 0 ;}
.chapter .chapter-wrap .chapter-img{ width: 36%; position: relative; display: flex; align-items: flex-end;transform-origin: center bottom;transform: scale(0.9); transition: .5s; margin: 0 auto;}
.chapter .chapter-wrap .chapter-img .chap-hukidashi{position: absolute; max-width: 250px; width: 18.9vw;opacity: 0; transform: translateY(20px) scale(0.8); transition: opacity 0.8s ease, transform 0.8s ease, filter 0.8s ease; filter: blur(5px);transform-origin: center bottom;}
.chapter .chapter-wrap .chapter-img .chap-hukidashi.is-active{opacity: 1; transform: translateY(0) scale(1);filter: blur(0);}
.chapter .chapter-wrap .chapter-img .chap-hukidashi.hukidashi-01{top: 25%; right: -7%;}
.chapter .chapter-wrap .chapter-img .chap-hukidashi.hukidashi-02{top: 55%;}
.chapter .chapter-wrap .chapter-img .chap-hukidashi.hukidashi-03{bottom: 8%; right: -2%;}
.chapter .chapter-wrap .chapter-img.is-active{ transform: scale(1);}
.chapter .chapter-wrap .chapter-img img{object-fit: contain;}
.chapter:nth-of-type(odd) .chapter-wrap .chapter-txt{ order: 2;}
.chapter:nth-of-type(odd) .chapter-wrap .chapter-img{ order: 1;}
.chapter:nth-of-type(even) .chapter-wrap .chapter-txt{ order: 1;}
.chapter:nth-of-type(even) .chapter-wrap .chapter-img{ order: 2;}
@media screen and (max-width: 768px) {
.chapter .chapter-wrap{ gap: 30px 8%;}
.chapter .chapter-wrap .chapter-txt{ width: 100%; margin:0 0 0 0 ;}
.chapter .chapter-wrap .chapter-img{ width: 80%;}
.chapter:nth-of-type(odd) .chapter-wrap .chapter-txt{ order: 1;}
.chapter:nth-of-type(odd) .chapter-wrap .chapter-img{ order: 2;}
.chapter .chapter-wrap .chapter-img .chap-hukidashi{ width: 45vw;}
.chapter .chapter-wrap .chapter-img .chap-hukidashi.hukidashi-01{top: 22%; right: -7%;}
.chapter .chapter-wrap .chapter-img .chap-hukidashi.hukidashi-02{top: 54%; left: -9%;}
.chapter .chapter-wrap .chapter-img .chap-hukidashi.hukidashi-03{bottom: 11%; right: -6%;}
}

/* = smtk
------------------------------------------------------------------------------------------*/
#smtk .smtk-h{display: flex; width: 100%; gap: 20px; justify-content: center; align-items: flex-end; margin-bottom: 30px;}
#smtk .smtk-h .smtk-logo{display: block; max-width: 240px;}
#smtk .smtk-h .h-txt{ color: #e85298; font-weight: bold; line-height: 1em; font-size: 38px; padding-bottom: 3px;}
#smtk .smtk-txt{ color: #e85298; text-align: center; margin-bottom: 1em;}
@media screen and (max-width: 768px) {
#smtk .smtk-h{ gap: 10px; margin-bottom: 20px;}
#smtk .smtk-h .smtk-logo{width: 44%;}
#smtk .smtk-h .h-txt{ font-size: 20px; padding-bottom: 3px;}
}

/* = share
------------------------------------------------------------------------------------------*/
#share .snslink{display: flex; flex-wrap: wrap; width: 100%; gap: 20px 6%; align-items: center; justify-content: center;}
#share .snslink li{width: 50px;}
#share .snslink li a{width: 100%; display: block;line-height: 1em; transition: .2s;}
#share .snslink li a:hover{opacity: 1; transform: translate3d(0,-10px,0);}
@media screen and (max-width: 768px) {
#share .snslink{ gap: 20px 10%;}
}

/* animation */
.motion-txt { display: inline-block; position: relative; overflow: hidden;}
.motion-inner{display: inline-block; opacity: 0;}
.motion-txt::after {content: ""; position: absolute; opacity: 1; left: 0; top: 0; bottom: 0; width: 100%; height: 100%; box-sizing: border-box; transform: translate3d(-101%, 0, 0); }
.js-motion.show .motion-txt::after {transition-property: transform, opacity; transition-duration: .5s; transition-delay: 0s; transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); transform: translate3d(0, 0, 0); }
.js-motion.done .motion-txt::after {transition-property: transform; transition-duration: .5s; transition-delay: 0s; transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); transform: translate3d(103%, 0, 0); }
.motion-txt .motion-inner {display: inline-block; opacity: 0; }
.js-motion.done .motion-txt .motion-inner {opacity: 1; }
.motion-txt .motion-inner img {width: 100%; height: auto; }
.motion-txt.color-black::after{background-color: #000; }
.motion-txt.color-white::after{background-color: #fff; }

