@charset "UTF-8";

/* CSS Document */
@font-face {
  font-family: "Yu Gothic";
  font-display: auto;
  font-weight: normal;
  src: local("Yu Gothic-Medium"),
  local('Yu Gothic Medium'),
  local('YuGothic-Regular'); 
}
@font-face {
  font-family: "Yu Gothic";
  font-display: auto;
  font-weight: bold;
  src: local("Yu Gothic-Bold"),
  local('Yu Gothic');
}


/* reset
------------------------------------------*/
/*!
 * ress.css ? v4.0.0
 * MIT License
 * github.com/filipelinhares/ress
 */html{box-sizing:border-box;-webkit-text-size-adjust:100%;word-break:normal;-moz-tab-size:4;tab-size:4}*,:after,:before{background-repeat:no-repeat;box-sizing:inherit}:after,:before{text-decoration:inherit;vertical-align:inherit}*{padding:0;margin:0}hr{overflow:visible;height:0;color:inherit}details,main{display:block}summary{display:list-item}small{font-size:80%}[hidden]{display:none}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}a{background-color:transparent}a:active,a:hover{outline-width:0}code,kbd,pre,samp{font-family:monospace,monospace}pre{font-size:1em}b,strong{font-weight:bolder}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-color:inherit;text-indent:0}input{border-radius:0}[disabled]{cursor:default}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}textarea{overflow:auto;resize:vertical}button,input,optgroup,select,textarea{font:inherit}optgroup{font-weight:700}button{overflow:visible}button,select{text-transform:none}[role=button],[type=button],[type=reset],[type=submit],button{cursor:pointer;color:inherit}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button:-moz-focusring{outline:1px dotted ButtonText}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}button,input,select,textarea{background-color:transparent;border-style:none}a:focus,button:focus,input:focus,select:focus,textarea:focus{outline-width:0}select{-moz-appearance:none;-webkit-appearance:none}select::-ms-expand{display:none}select::-ms-value{color:currentColor}legend{border:0;color:inherit;display:table;white-space:normal;max-width:100%}::-webkit-file-upload-button{-webkit-appearance:button;color:inherit;font:inherit}img{border-style:none}progress{vertical-align:baseline}[aria-busy=true]{cursor:progress}[aria-controls]{cursor:pointer}[aria-disabled=true]{cursor:default}address{font-style:normal}
h1,h2,h3,h4,h5,h6 { font-size: inherit; font-weight: inherit; margin: 0; padding:0;}
ul,li,ol,li { list-style: none;}
a,form,iframe {outline: 0; border: 0;}
img {
	max-width: 100%;
	height:auto;
	line-height:0;
	vertical-align:top;
}

a:link,
a:hover,
a:visited {
	text-decoration: none;
	color: inherit;
}

/* テキストリンク */
a.txtlink {
	color: #4c4398;
	text-decoration: underline;
}
a.txtlink.blank {
	padding-right: 13px;
	margin-right: 3px;
	position: relative;
	display: inline-block;
}
a.txtlink.blank::before,
a.txtlink.blank::after {
    content: "";
    display: block;
    width: 8px;
    height: 8px;
    border-color: rgba(0, 0, 0, 0.5);
    border-style: solid;
    position: absolute;
    z-index: 1;
}
a.txtlink.blank::before {
	border-width: 1px;
    right: 0;
    top: 50%;
    margin-top: -5px;
}
a.txtlink.blank::after {
    border-width: 0 0 1px 1px;
    right: 2px;
    top: calc(50% + 2px);
    margin-top: -5px;
}

a.txtlink:hover {
	text-decoration: none;
}

/* 電話リンク */
.sp-tel { display: inline-block;}
@media (min-width: 768px){
	a[href^="tel:"], a.sp-tel[href^="tel:"] {
		pointer-events: none;
	}
}

/* font style 親要素引継ぎ */
span {
	font-size: inherit;
  	font-weight: inherit;
}

/* Primary Styles
------------------------------------------*/
html {
	overflow-y: scroll;
	box-sizing: border-box;
	font-size: 62.5%;
}

body {
	position: relative;
	background:#fff;
	text-size-adjust:100%;
	color: #000;
	font-size: 1.6rem;
	font-weight:500;
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro","メイリオ", Meiryo, "ＭＳ ゴシック",sans-serif;
	letter-spacing: 0;
	line-height: 1.7;
}

body.fixed {
    position: fixed;
    width: 100%;
}

main {
	font-size: 1.6rem;
	line-height: 1.75;
	display:  block;
}


/* Common style
---------------------------------*/
.txt-center,
.stxt-center {
	text-align: center;
}
@media (max-width: 767px){
	.stxt-center {
		text-align: left;
	}
}

.block { display: block;}
.iblock { display: inline-block;}

/*PC SP only*/
@media (min-width: 1281px){.sp-only-ll {display: none;}}
@media (max-width: 1280px){.pc-only-ll {display: none;}}
@media (min-width: 1025px){.sp-only-l {display: none;}}
@media (max-width: 1024px){.pc-only-l {display: none;}}
@media (min-width: 768px){.sp-only {display: none;}}
@media (max-width: 767px){.pc-only {display: none;}}
@media (min-width: 481px){.sp-only-m {display: none;}}
@media (max-width: 480px){.pc-only-m {display: none;}}

/* flex ---------------- */
.flex {
	display: flex;
	flex-wrap: wrap;
}
.flex.column {
    flex-direction: column;
}
.flex.between {
	-webkit-box-pack: justify;
    justify-content: space-between;
}
/* 上下左右中央 */
.flex.vc {
    flex-direction: column; 
    justify-content: center; 
    align-items: center;  
}
/* 上下中央横並び */
.flex.vm {
    flex-direction: row; 
    align-items: center;  
}
/* 下揃え */
.flex.fe {
	align-items: flex-end;
}

/* layout --------------------- */
.wrap, .wrap-l, .wrap-m, .wrap-s, .wrap-ss {
    box-sizing: border-box;
    width: 90%;
    margin: 0 auto;
}
.wrap-l {max-width: 1350px;}
.wrap-m {max-width: 1200px;}
.wrap-s {max-width: 900px;}

/* object fit --------------------- */
.of-wrap {
    width: 100%;
    display: block;
    position: relative;
}
.of-wrap img {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0
}
.of-wrap.of-1x1 {padding-top: 100%;}
.of-wrap.of-2x1 {padding-top: 50%;}
.of-wrap.of-3x2 {padding-top: 66.6666%;}
.of-wrap.of-4x3 {padding-top: 75%;}
.of-wrap.of-16x9 {padding-top: 56.25%;}

.of-wrap.of-cover img {object-fit: cover}
.of-wrap.of-contain img {object-fit: contain}


/* font STYLE ------------------- */
.f-po { font-family: 'Passion One', cursive, sans-serif; font-weight: 400; letter-spacing: 0; line-height: 0.9;}
.f-yug { font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;}
.f-hkg { font-family: "ヒラギノ角ゴ Pro W6",'HiraKakuPro-W6',"Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;}

/* font weight --------------------------------------*/
.f-bold { font-weight: bold;}
.f-normal { font-weight: normal;}
.f-w100 { font-weight: 100;}
.f-w200 { font-weight: 200;}
.f-w300 { font-weight: 300;}
.f-w400 { font-weight: 400;}
.f-w500 { font-weight: 500;}
.f-w600 { font-weight: 600;}
.f-w700 { font-weight: 700;}
.f-w900 { font-weight: 900;}

/* font color --------------------------------------*/
.f-wht { color: #fff;}
.f-blk { color: #000;}

.f-lred { color: #e95669;}

.f-pink { color: #ce0069;}
.f-pink2 { color: #e3007f;}

.f-lgreen { color: #17b3a7;}
.f-green { color: #00b372;}

.f-blue { color: #4d4397;}
.f-blue2 { color: #010996;}
.f-lblue { color: #4394d0;}

.f-navy { color: #000448;}
.f-navy2 { color: #0a0d3f;}

.f-gry666 { color: #666;}
.f-gry444 { color: #444;}
.f-gry333 { color: #333;}

.f-light { color: #0f7ac9;}
.f-middle { color: #f04359;}
.f-premium { color: #00a296;}
.f-customize { color: #4f45a9;}

/* line height --------------------------------------*/
.f-lh1 { line-height: 1;}
.f-lh12 { line-height: 1.2;}
.f-lh13 { line-height: 1.3;}
.f-lh14 { line-height: 1.4;}
.f-lh15 { line-height: 1.5;}
.f-lh2 { line-height: 2;}
.f-lh25 { line-height: 2.5;}

/* letter spacing --------------------------------------*/
.f-ls0 { letter-spacing: 0; }
.f-ls25 { letter-spacing: 0.025em;}
.f-ls50 { letter-spacing: 0.050em;}
.f-ls100 { letter-spacing: 0.1em;}

/* font size --------------------------------------*/
.f-sz10 { font-size: 1.0rem;}
.f-sz11 { font-size: 1.1rem;}
.f-sz12 { font-size: 1.2rem;}
.f-sz13 { font-size: 1.3rem;}
.f-sz14 { font-size: 1.4rem;}
.f-sz15 { font-size: 1.5rem;}
.f-sz16 { font-size: 1.6rem;}
.f-sz17 { font-size: 1.7rem;}
.f-sz18 { font-size: 1.8rem;}
.f-sz19 { font-size: 1.9rem;}
.f-sz20 { font-size: 2.0rem;}
.f-sz21 { font-size: 2.1rem;}
.f-sz22 { font-size: 2.2rem;}
.f-sz23 { font-size: 2.3rem;}
.f-sz24 { font-size: 2.4rem;}
.f-sz25 { font-size: 2.5rem;}
.f-sz26 { font-size: 2.6rem;}
.f-sz27 { font-size: 2.7rem;}
.f-sz28 { font-size: 2.8rem;}
.f-sz29 { font-size: 2.9rem;}
.f-sz30 { font-size: 3.0rem;}
.f-sz31 { font-size: 3.1rem;}
.f-sz32 { font-size: 3.2rem;}
.f-sz33 { font-size: 3.3rem;}
.f-sz34 { font-size: 3.4rem;}
.f-sz35 { font-size: 3.5rem;}
.f-sz36 { font-size: 3.6rem;}
.f-sz37 { font-size: 3.7rem;}
.f-sz38 { font-size: 3.8rem;}
.f-sz39 { font-size: 3.9rem;}
.f-sz40 { font-size: 4.0rem;}
.f-sz41 { font-size: 4.1rem;}
.f-sz42 { font-size: 4.2rem;}
.f-sz43 { font-size: 4.3rem;}
.f-sz44 { font-size: 4.4rem;}
.f-sz45 { font-size: 4.5rem;}
.f-sz46 { font-size: 4.6rem;}
.f-sz47 { font-size: 4.7rem;}
.f-sz48 { font-size: 4.8rem;}
.f-sz49 { font-size: 4.9rem;}
.f-sz50 { font-size: 5.0rem;}
.f-sz51 { font-size: 5.1rem;}
.f-sz52 { font-size: 5.2rem;}
.f-sz53 { font-size: 5.3rem;}
.f-sz54 { font-size: 5.4rem;}
.f-sz55 { font-size: 5.5rem;}
.f-sz56 { font-size: 5.6rem;}
.f-sz57 { font-size: 5.7rem;}
.f-sz58 { font-size: 5.8rem;}
.f-sz59 { font-size: 5.9rem;}
.f-sz60 { font-size: 6.0rem;}
.f-sz62 { font-size: 6.2rem;}
.f-sz64 { font-size: 6.4rem;}
.f-sz66 { font-size: 6.6rem;}
.f-sz68 { font-size: 6.8rem;}
.f-sz70 { font-size: 7.0rem;}
.f-sz72 { font-size: 7.2rem;}
.f-sz76 { font-size: 7.5rem;}
.f-sz80 { font-size: 8.0rem;}
.f-sz85 { font-size: 8.5rem;}
.f-sz90 { font-size: 9.0rem;}
.f-sz95 { font-size: 9.5rem;}
.f-sz100 { font-size:10rem;}
.f-sz110 { font-size:11rem;}
@media (min-width: 481px) and (max-width: 1200px) {
    .f-sz15 { font-size: calc(1.4rem + ((1vw - 0.48rem) * 0.1389));}
    .f-sz16 { font-size: calc(1.5rem + ((1vw - 0.48rem) * 0.1389));}
    .f-sz17 { font-size: calc(1.6rem + ((1vw - 0.48rem) * 0.1389));}
    .f-sz18 { font-size: calc(1.7rem + ((1vw - 0.48rem) * 0.1389));}
    .f-sz19 { font-size: calc(1.75rem + ((1vw - 0.48rem) * 0.2083));}
    .f-sz20 { font-size: calc(1.8rem + ((1vw - 0.48rem) * 0.2778));}
    .f-sz21 { font-size: calc(1.85rem + ((1vw - 0.48rem) * 0.3472));}
    .f-sz22 { font-size: calc(1.9rem + ((1vw - 0.48rem) * 0.4167));}
    .f-sz23 { font-size: calc(1.95rem + ((1vw - 0.48rem) * 0.4861));}
    .f-sz24 { font-size: calc(2rem + ((1vw - 0.48rem) * 0.5556));}
    .f-sz25 { font-size: calc(2rem + ((1vw - 0.48rem) * 0.6944));}
    .f-sz26 { font-size: calc(2.1rem + ((1vw - 0.48rem) * 0.6944));}
    .f-sz27 { font-size: calc(2.1rem + ((1vw - 0.48rem) * 0.8333));}
    .f-sz28 { font-size: calc(2.2rem + ((1vw - 0.48rem) * 0.8333));}
    .f-sz29 { font-size: calc(2.2rem + ((1vw - 0.48rem) * 0.9722));}
    .f-sz30 { font-size: calc(2.3rem + ((1vw - 0.48rem) * 0.9722));}
    .f-sz31 { font-size: calc(2.3rem + ((1vw - 0.48rem) * 1.1111));}
    .f-sz32 { font-size: calc(2.4rem + ((1vw - 0.48rem) * 1.1111));}
    .f-sz33 { font-size: calc(2.4rem + ((1vw - 0.48rem) * 1.25));}
    .f-sz34 { font-size: calc(2.5rem + ((1vw - 0.48rem) * 1.25));}
    .f-sz35 { font-size: calc(2.5rem + ((1vw - 0.48rem) * 1.3889));}
    .f-sz36 { font-size: calc(2.6rem + ((1vw - 0.48rem) * 1.3889));}
    .f-sz37 { font-size: calc(2.6rem + ((1vw - 0.48rem) * 1.5278));}
    .f-sz38 { font-size: calc(2.7rem + ((1vw - 0.48rem) * 1.5278));}
    .f-sz39 { font-size: calc(2.7rem + ((1vw - 0.48rem) * 1.6667));}
    .f-sz40 { font-size: calc(2.8rem + ((1vw - 0.48rem) * 1.6667));}
    .f-sz41 { font-size: calc(2.8rem + ((1vw - 0.48rem) * 1.8056));}
    .f-sz42 { font-size: calc(2.9rem + ((1vw - 0.48rem) * 1.8056));}
    .f-sz43 { font-size: calc(2.9rem + ((1vw - 0.48rem) * 1.9444));}
    .f-sz44 { font-size: calc(3rem + ((1vw - 0.48rem) * 1.9444));}
    .f-sz45 { font-size: calc(3rem + ((1vw - 0.48rem) * 2.0833));}
    .f-sz46 { font-size: calc(3.1rem + ((1vw - 0.48rem) * 2.0833));}
    .f-sz47 { font-size: calc(3.1rem + ((1vw - 0.48rem) * 2.2222));}
    .f-sz48 { font-size: calc(3.2rem + ((1vw - 0.48rem) * 2.2222));}
    .f-sz49 { font-size: calc(3.2rem + ((1vw - 0.48rem) * 2.3611));}
    .f-sz50 { font-size: calc(3.3rem + ((1vw - 0.48rem) * 2.3611));}
    .f-sz51 { font-size: calc(3.3rem + ((1vw - 0.48rem) * 2.5));}
    .f-sz52 { font-size: calc(3.4rem + ((1vw - 0.48rem) * 2.5));}
    .f-sz53 { font-size: calc(3.4rem + ((1vw - 0.48rem) * 2.6389));}
    .f-sz54 { font-size: calc(3.5rem + ((1vw - 0.48rem) * 2.6389));}
    .f-sz55 { font-size: calc(3.5rem + ((1vw - 0.48rem) * 2.7778));}
    .f-sz56 { font-size: calc(3.6rem + ((1vw - 0.48rem) * 2.7778));}
    .f-sz57 { font-size: calc(3.6rem + ((1vw - 0.48rem) * 2.9167));}
    .f-sz58 { font-size: calc(3.7rem + ((1vw - 0.48rem) * 2.9167));}
    .f-sz59 { font-size: calc(3.7rem + ((1vw - 0.48rem) * 3.0556));}
    .f-sz60 { font-size: calc(3.8rem + ((1vw - 0.48rem) * 3.0556));}
    .f-sz62 { font-size: calc(3.8rem + ((1vw - 0.48rem) * 3.3333));}
    .f-sz64 { font-size: calc(3.9rem + ((1vw - 0.48rem) * 3.4722));}
    .f-sz66 { font-size: calc(3.9rem + ((1vw - 0.48rem) * 3.75));}
    .f-sz68 { font-size: calc(4rem + ((1vw - 0.48rem) * 3.8889));}
    .f-sz70 { font-size: calc(4.2rem + ((1vw - 0.48rem) * 3.8889));}
    .f-sz72 { font-size: calc(4.4rem + ((1vw - 0.48rem) * 3.8889));}
    .f-sz76 { font-size: calc(4.6rem + ((1vw - 0.48rem) * 4.1667));}
    .f-sz80 { font-size: calc(4.8rem + ((1vw - 0.48rem) * 4.4444));}
    .f-sz85 { font-size: calc(5rem + ((1vw - 0.48rem) * 4.8611));}
    .f-sz90 { font-size: calc(5rem + ((1vw - 0.48rem) * 5.5556));}
    .f-sz95 { font-size: calc(5.5rem + ((1vw - 0.48rem) * 5.5556));}
    .f-sz100 { font-size: calc(5.5rem + ((1vw - 0.48rem) * 6.25));}
    .f-sz110 { font-size: calc(5.5rem + ((1vw - 0.48rem) * 7.6389));}
}
@media (max-width: 480px){
    .f-sz15 { font-size: 1.4rem;}
    .f-sz16 { font-size: 1.5rem;}
    .f-sz17 { font-size: 1.6rem;}
    .f-sz18 { font-size: 1.7rem;}
    .f-sz19 { font-size: 1.75rem;}
    .f-sz20 { font-size: 1.8rem;}
    .f-sz21 { font-size: 1.85rem;}
    .f-sz22 { font-size: 1.9rem;}
    .f-sz23 { font-size: 1.95rem;}
    .f-sz24 { font-size: 2rem;}
    .f-sz25 { font-size: 2rem;}
    .f-sz26 { font-size: 2.1rem;}
    .f-sz27 { font-size: 2.1rem;}
    .f-sz28 { font-size: 2.2rem;}
    .f-sz29 { font-size: 2.2rem;}
    .f-sz30 { font-size: 2.3rem;}
    .f-sz31 { font-size: 2.3rem;}
    .f-sz32 { font-size: 2.4rem;}
    .f-sz33 { font-size: 2.4rem;}
    .f-sz34 { font-size: 2.5rem;}
    .f-sz35 { font-size: 2.5rem;}
    .f-sz36 { font-size: 2.6rem;}
    .f-sz37 { font-size: 2.6rem;}
    .f-sz38 { font-size: 2.7rem;}
    .f-sz39 { font-size: 2.7rem;}
    .f-sz40 { font-size: 2.8rem;}
    .f-sz41 { font-size: 2.8rem;}
    .f-sz42 { font-size: 2.9rem;}
    .f-sz43 { font-size: 2.9rem;}
    .f-sz44 { font-size: 3rem;}
    .f-sz45 { font-size: 3rem;}
    .f-sz46 { font-size: 3.1rem;}
    .f-sz47 { font-size: 3.1rem;}
    .f-sz48 { font-size: 3.2rem;}
    .f-sz49 { font-size: 3.2rem;}
    .f-sz50 { font-size: 3.3rem;}
    .f-sz51 { font-size: 3.3rem;}
    .f-sz52 { font-size: 3.4rem;}
    .f-sz53 { font-size: 3.4rem;}
    .f-sz54 { font-size: 3.5rem;}
    .f-sz55 { font-size: 3.5rem;}
    .f-sz56 { font-size: 3.6rem;}
    .f-sz57 { font-size: 3.6rem;}
    .f-sz58 { font-size: 3.7rem;}
    .f-sz59 { font-size: 3.7rem;}
    .f-sz60 { font-size: 3.8rem;}
    .f-sz62 { font-size: 3.8rem;}
    .f-sz64 { font-size: 3.9rem;}
    .f-sz66 { font-size: 3.9rem;}
    .f-sz68 { font-size: 4rem;}
    .f-sz70 { font-size: 4.2rem;}
    .f-sz72 { font-size: 4.4rem;}
    .f-sz76 { font-size: 4.6rem;}
    .f-sz80 { font-size: 4.8rem;}
    .f-sz85 { font-size: 5rem;}
    .f-sz90 { font-size: 5rem;}
    .f-sz95 { font-size: 5.5rem;}
    .f-sz100 { font-size: 5.5rem;}
    .f-sz110 { font-size: 5.5rem;}
}


/* padding */
.pt130 { padding-top: 130px;}
.pt120 { padding-top: 120px;}
.pt110 { padding-top: 110px;}
.pt100 { padding-top: 100px;}
.pt90 { padding-top: 90px;}
.pt80 { padding-top: 80px;}
.pt70 { padding-top: 70px;}
.pt60 { padding-top: 60px;}
.pt50 {	padding-top: 50px;}
.pt40 { padding-top: 40px;}
.pt30 { padding-top: 30px;}
.pt20 { padding-top: 20px;}
.pt15 {	padding-top: 15px;}
.pt10 {	padding-top: 10px;}
.pt5 { padding-top: 5px;}

.pb130 { padding-bottom: 130px;}
.pb120 { padding-bottom: 120px;}
.pb110 { padding-bottom: 110px;}
.pb100 { padding-bottom: 100px;}
.pb90 { padding-bottom: 90px;}
.pb80 { padding-bottom: 80px;}
.pb70 {	padding-bottom: 70px;}
.pb60 {	padding-bottom: 60px;}
.pb50 {	padding-bottom: 50px;}
.pb40 {	padding-bottom: 40px;}
.pb30 {	padding-bottom: 30px;}
.pb20 {	padding-bottom: 20px;}
.pb15 {	padding-bottom: 15px;}
.pb10 {	padding-bottom: 10px;}
.pb5 { padding-bottom: 5px;}

.mb90 {	margin-bottom: 90px;}
.mb80 {	margin-bottom: 80px;}
.mb70 {	margin-bottom: 70px;}
.mb60 {	margin-bottom: 60px;}
.mb50 {	margin-bottom: 50px;}
.mb40 {	margin-bottom: 40px;}
.mb30 {	margin-bottom: 30px;}
.mb20 { margin-bottom: 20px;}
.mb15 { margin-bottom: 15px;}
.mb10 { margin-bottom: 10px;}
.mb5 { margin-bottom: 5px;}

@media (max-width: 767px) {
	.pt130 { padding-top: 100px;}
	.pt120 { padding-top: 95px;}
	.pt110 { padding-top: 90px;}
	.pt100 { padding-top: 75px;}
	.pt90 { padding-top: 60px;}
	.pt80 { padding-top: 55px;}
	.pt70 { padding-top: 50px;}
	.pt60 { padding-top: 45px;}
	.pt50 { padding-top: 40px;}
	.pt40 { padding-top: 30px;}
	.pt30 { padding-top: 25px;}
	
	.pb130 { padding-bottom: 100px;}
	.pb120 { padding-bottom: 95px;}
	.pb110 { padding-bottom: 90px;}
	.pb100 { padding-bottom: 80px;}
	.pb90 { padding-bottom: 65px;}
	.pb80 { padding-bottom: 55px;}
	.pb70 { padding-bottom: 50px;}
	.pb60 { padding-bottom: 45px;}
	.pb50 { padding-bottom: 40px;}
	.pb40 { padding-bottom: 30px;}
	.pb30 { padding-bottom: 25px;}
	
	.mb90 { margin-bottom: 65px;}
    .mb80 { margin-bottom: 55px;}
	.mb70 { margin-bottom: 50px;}
    .mb60 {	margin-bottom: 45px;}
    .mb50 {	margin-bottom: 40px;}
    .mb40 {	margin-bottom: 30px;}
    .mb30 { margin-bottom: 25px;}
}

@media (max-width: 480px) {
	.pt130 { padding-top: 70px;}
	.pt120 { padding-top: 65px;}
	.pt110 { padding-top: 60px;}
	.pt100 { padding-top: 55px;}
	.pt90 { padding-top: 50px;}
	.pt80 { padding-top: 45px;}
	.pt70 { padding-top: 40px;}
	.pt60 { padding-top: 35px;}
	.pt50 { padding-top: 30px;}
	.pt40 { padding-top: 25px;}
	.pt30 { padding-top: 20px;}
	.pt20 { padding-top: 15px;}

	.pb130 { padding-bottom: 70px;}
	.pb120 { padding-bottom: 65px;}
	.pb110 { padding-bottom: 60px;}	
	.pb100 { padding-bottom: 55px;}
	.pb90 { padding-bottom: 50px;}
	.pb80 { padding-bottom: 45px;}
	.pb70 { padding-bottom: 40px;}
	.pb60 { padding-bottom: 35px;}
	.pb50 { padding-bottom: 30px;}
	.pb40 { padding-bottom: 25px;}
	.pb30 { padding-bottom: 20px;}
	.pb20 { padding-bottom: 15px;}
	
	.mb90 {	margin-bottom: 50px;}
    .mb80 {	margin-bottom: 45px;}
	.mb70 {	margin-bottom: 40px;}
	.mb60 {	margin-bottom: 35px;}
	.mb50 {	margin-bottom: 30px;}
	.mb40 { margin-bottom: 25px;}
	.mb30 { margin-bottom: 20px;}
	.mb20 { margin-bottom: 15px;}
}

/* iOS タップバグ回避
========================= */
@media screen and (max-width: 640px) {
	.button a{
		pointer-events: none;
	}
	a:hover:after,
	a:active:after,
	a:focus:after
	a:after {
		display: none;
	}
}

/* ----------------------------------------
   header
------------------------------------------*/
/* .site-header */
.site-header {
/*
	width: 90%;
	position: fixed;
	top: 40px;
	left: 5%;
	z-index: 1000;
	background: #fff;
	height: 70px;
	border-radius: 35px;
*/
}

.site-header.fixed-header {
	/* 小さくなったスタイルなど表記 */
}

.site-header .head-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 90%;
	height: 70px;
	padding: 0 30px;
	box-sizing: border-box;
	position: fixed;
	top: 40px;
	left: 5%;
	z-index: 9999;
	transition: all ease 0.25s;
}
.fixed .site-header .head-inner {
	transition-delay: 0.5s;
}

.site-header .head-inner:before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background-color: #fff;
	border-radius: 35px;
	position: absolute;
	left: 0;
	top: 0;
	z-index: -1;
	transition: all ease 0.25s;
}
.fixed .site-header .head-inner:before {
	transition-delay: 0.5s;
}

.site-header.fixed-header .head-inner {
	width: 100%;
	top: 0;
	left: 0;
}
.site-header.fixed-header .head-inner:before {
	border-radius: 0;
}

@media (max-width: 480px) {
	.site-header .head-inner {
		top: 20px;
		padding: 0 14px;
	}
}

/* header-logo --------------------------*/
.site-header .header-logo .h-logo .logo-m {
	display: block;
	width: 160px;
	margin-right: 15px;
}
.site-header .header-logo .h-logo .logo-t {
	display: block;
	width: 106px;
}

.site-header .header-logo .h-logo .logo-m img {
	width: 100%;
}

@media (max-width: 767px) {
	.site-header .header-logo .h-logo .logo-m {
		margin-right: 0;
		margin-bottom: 5px;
	}
	.site-header .header-logo .h-logo .logo-t {
		display: none;
	}
}

@media (max-width: 480px) {
	.site-header .header-logo .h-logo .logo-m {
		width: 130px;
	}	
}


/* .site-header .h-right --------------------------*/
.site-header .h-right {
	width: calc(100% - 200px); /* 100% - ロゴの領域 */
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	position: absolute;
	top: 0;
	right: 0;
}
/* gnav --------------------------*/
.site-header .h-right #gnav {
	width: auto;
	/*animation-name: fix-h;
	animation-duration: 0.28s;
	animation-timing-function: ease-out;*/
}

@keyframes fix-h {
	0% {transform: translateY(-100%);}
	100% {transform: translateY(0%);}
}

.site-header #gnav .menulist {
	width: auto;
	display: table;
	position: relative;
	max-width: 100%; /* メニューの最大幅 */
	height: 80px;
}
.site-header #gnav .menulist > li {
	display: table-cell;
	text-align: center;
	vertical-align: middle;
	width: calc(100%/5);
	position: relative;
	height: 100%;
	padding: 0 5px;
}

.site-header #gnav .menulist > li > a,
.site-header #gnav .menulist > li.has-submenu > span {
	white-space: nowrap;
    line-height: 80px;/*メニューｓの高さ*/
	padding-left: 5px;
	padding-right: 5px;
}
.site-header #gnav .menulist > li.has-submenu:hover {
	cursor: pointer;	
}
.site-header #gnav .menulist > li > a:hover,
.site-header #gnav .menulist > li.has-submenu:hover,
.site-header #gnav .menulist > li.has-submenu.touch.active {
	background: #eee;
}
/* submenu --------------------------*/
.site-header #gnav .menulist > li.has-submenu .submenu {
	/*display: block;*/
	position: absolute;
	top: calc(100% + 20px);
	left: 50%;
	width: 100%;
	z-index: 0;
	opacity: 0;
	visibility: hidden;
	transform: translateX(-50%);
	min-width: 220px;
}
.site-header #gnav .menulist > li.has-submenu.touch .submenu {
	display: none;
}
.site-header #gnav .menulist > li.has-submenu.touch.active .submenu {
	display: block;
}
.site-header #gnav .menulist > li.has-submenu > span {
	white-space: nowrap;
}

.site-header #gnav .menulist > li.has-submenu.active .submenu,
.site-header #gnav .menulist > li.has-submenu:hover .submenu {
	top: 100%;
	z-index: 0;
	opacity: 1;
	visibility: visible;
	display: block;
	transition: all ease 0.28s;
}
.site-header #gnav .menulist > li.has-submenu.active .submenu li,
.site-header #gnav .menulist > li.has-submenu:hover .submenu li {
	background-color: rgba(200,200,200,0.9);
	margin-bottom: 1px;	
    transition: all ease 0.28s;
}
.site-header #gnav .menulist > li.has-submenu:hover .submenu li a {
    line-height: 40px;
    padding: 0 20px;
}

.site-header #gnav .menulist > li .submenu li a {
	white-space: nowrap;
}
.site-header #gnav .menulist > li.has-submenu:hover .submenu li:hover {
	background-color: rgba(200,200,200,1);
}


/*---------------------------------------------
 sp-menu
---------------------------------------------*/
.sp-header {
	display: flex;
	align-items: center;
	position: fixed;
	top: 50px;
	right: calc(5% + 15px);
    z-index: 10001;
	transition: all ease 0.25s;
}
body.fixed .sp-header {
	transition-delay: 0.5s;
}

.sp-header-menu {
    display: inline-block;
    vertical-align: middle;
    padding-right: 10px;
    font-size: 2rem;
    letter-spacing: 0.075em;
    color: #010996;
    font-family: 'Passion One', cursive, sans-serif;
    transition: color ease 0.25s;
}
.site-header.fixed-header .sp-header {
	top: 10px;
	right: 15px;
}
body.fixed .site-header .sp-header-menu {
	color: #fff;
}

@media (max-width: 767px) {
	.sp-header-menu {
		display: none;
	}
}
@media (max-width: 480px) {
	.sp-header {
		top: 30px;
	}
}

/* menu button */
.hamburger-menu.menu-button {
    display: block;
    width: 50px;
    height: 50px;
    background-color: #e3007f;
	border-radius: 50%;
    position: relative;
    cursor: pointer;
}
.site-header.fixed-header .hamburger-menu {
}
.menu-button .sp-btn-inner {
    width: 20px;
    height: 18px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    transition: transform ease 0.25s;
}
.menu-button .lines {
    width: 20px;
    height: 2px;
    color: #fff;
	background: #fff;
    position: absolute;
	left: 0;
    transition: 0.2s cubic-bezier(.33333,0,.66667,.33333),opacity 0.1s 0.27s ease;
}
.menu-button .lines:first-child {
	top: 0;
}
.menu-button .lines:nth-child(2) {
	top: 8px;
	transition: all 0.2s ease;
}
.menu-button .lines:nth-child(3) {
	top: 16px;
}
.menu-button:not(.active):hover .lines {
	animation-name: lines-anim;
	animation-duration: 0.5s;
	animation-fill-mode: forwards;
	animation-timing-function: ease;
}
.menu-button:not(.active):hover .lines:nth-child(2) {
	animation-delay: 0.1s;
}
.menu-button:not(.active):hover .lines:nth-child(3) {
	animation-delay: 0.2s;
}

@keyframes lines-anim {
	0% {
	    width: 20px;
	}
	50% {
	    width: 10px;
	}
	100% {
	    width: 20px;
	}
}



/*active*/
.menu-button.active .lines:first-child {
	top: 9px;
    transform: rotate(-45deg);
    transition-delay: 0.2s;
    transition-timing-function: ease;
}
.menu-button.active .lines:nth-child(2) {
	transform: scale(0,0);
}
.menu-button.active .lines:nth-child(3) {
	top: 9px;
    transform: rotate(45deg);
    transition-delay: 0.2s;
    transition-timing-function: ease;
}

/* spnav */
.spnav.hide-nav {
	opacity: 0;
	visibility: hidden;
}
.spnav {
    width: 100%;
    position: fixed;
    z-index: 10000;
    pointer-events: none;
    transition: .5s cubic-bezier(.77,0,.175,1);
    
    /*上から
    bottom: 101%;
    right: 0; 
    left: 0;*/
    
    /*左から
    top: 0;
    bottom: 0;
    right: 101%;*/
        
    /*右から*/
    top: 0;
    bottom: 0;
    left: 101%;
    
    /*下から
    top: 101%;
    right: 0; 
    left: 0;*/
}

.spnav.show-nav {
    pointer-events: auto;
    transform: scaleY(1);
	visibility: visible;
	opacity: 1;
    
    /*上から
    bottom: 0;*/
    
    /*左から
    right: 0;*/
    
    /*右から*/
    left: 0;
    
    /*下から
    top: 0;*/
}
.wrap-spnav {
    width: 100%;
    background: rgba(0,4,72,0.9);
    position: relative;
    z-index: 2;
    /*padding-top: 70px;上部にロゴがある場合*/
    
    /*menuが画面幅より小さい場合*/
    max-width: 400px;
    position: absolute;
    right: 0;
}
.wrap-spnav .inner-spnav {
    position: relative;
    z-index: 2;
    display: flex;
    width: 100%;
    margin: auto;
    /*height: calc(100vh - 70px);上部にロゴがある場合*/
    height: 100vh;
    box-sizing: border-box;
	overflow-y: auto;
	overflow-x: hidden;
	padding-top: 140px;
    padding-left: 5%;
    padding-right: 5%;
}
.wrap-spnav nav {
	width: 100%;
}
.wrap-spnav nav > *:last-child {
    padding-bottom: 100px;
}

/* sp-menulist */
.wrap-spnav .sp-menulist > li {
	opacity: 0;
	transform: translateX(10%);
}
.wrap-spnav .sp-menulist > li .link {
	cursor: pointer;
	position: relative;
}
.wrap-spnav .sp-menulist > li .link:before,
.wrap-spnav .sp-menulist > li .link:after {
	content: "";
	display: block;
	width: 13px;
	height: 1px;
	background-color: currentColor;
	position: absolute;
	top: 50%;
	right: 15px;
	transition: all ease 0.28s;
}
.wrap-spnav .sp-menulist > li .link:before {
	transform: rotate(-90deg);
}
.wrap-spnav .sp-menulist > li .link.sub-open:before {
	transform: rotate(0deg);
}
.wrap-spnav .sp-menulist > li > span,
.wrap-spnav .sp-menulist > li > a {
	display: block;
	color: #fff;
	padding: 20px 0;
}

.show-nav .wrap-spnav .sp-menulist > li {
	animation-name: sp-slidein;
	animation-timing-function: ease;
	animation-duration: 0.25s;
	animation-fill-mode: forwards;
}
.wrap-spnav .sp-menulist .sp-nav01 {
	animation-delay: 0.5s;
}
.wrap-spnav .sp-menulist .sp-nav02 {
	animation-delay: 0.6s;
}
.wrap-spnav .sp-menulist .sp-nav03 {
	animation-delay: 0.7s;
}
.wrap-spnav .sp-menulist .sp-nav04 {
	animation-delay: 0.8s;
}
.wrap-spnav .sp-menulist .sp-nav05 {
	animation-delay: 0.9s;
}
.wrap-spnav .sp-menulist .sp-nav06 {
	animation-delay: 1.0s;
}
.wrap-spnav .sp-menulist .sp-nav07 {
	animation-delay: 1.1s;
}
.wrap-spnav .sp-menulist .sp-nav08 {
	animation-delay: 1.2s;
}
.wrap-spnav .sp-menulist .sp-nav09 {
	animation-delay: 1.3s;
}

@keyframes sp-slidein {
	0% {
		opacity: 0;
		transform: translateX(10%);
	}
	100% {
		opacity: 1;		
		transform: translateX(0);
	}
}

.wrap-spnav .sp-menulist .sp-nav03,
.wrap-spnav .sp-menulist .sp-nav05 {
/*	margin-bottom: 30px;*/
}
.wrap-spnav .sp-menulist .sp-nav04{
/*	margin-bottom: 10px;*/
}


/* sp-submenu */
.wrap-spnav .sp-submenu {
	display: block;
	background-color: rgba(255,255,255,0.15);
	border-radius: 20px;
}
.wrap-spnav .sp-submenu > li > a {
	display: block;
	padding: 20px 0 20px 20px;
	color: #fff;
	position: relative;
	transition: padding ease 0.25s;
}
.wrap-spnav .sp-submenu > li > a:before {
	content: "";
	display: block;
	width: 10px;
	height: 10px;
	background-color: currentColor;
	border-radius: 50%;
	position: absolute;
	left: 20px;
	top: 50%;
	margin-top: -5px;
	z-index: 1;
	transform: scale(0);
	transition: transform ease 0.25s;
}
.wrap-spnav .sp-submenu > li > a:hover {
	padding-left: 40px;
}
.wrap-spnav .sp-submenu > li > a:hover:before {
	transform: scale(1);
}


/* subsubmenu */
.wrap-spnav .subsubmenu {
	border-bottom: 1px solid rgba(255,255,255,0.1);
	padding-left: calc(20px + 1em);
	padding-bottom: 20px;
}
.wrap-spnav .subsubmenu > li > a {
	display: block;
	color: rgba(255,255,255,0.7);
	position: relative;
	padding: 5px 0 5px 20px;
	transition: color ease 0.25s;
}
.wrap-spnav .subsubmenu > li > a::before {
	content: "";
	display: block;
	width: 8px;
	height: 10px;
	background-color: currentColor;
	clip-path: polygon(0 0, 100% 50%, 0 100%);
	position: absolute;
	left: 0;
	top: 50%;
	margin-top: -5px;
	z-index: 1;
	transition: background-color ease 0.25s;
}
.wrap-spnav .subsubmenu > li > a:hover {
	color: #fff;
}

.wrap-spnav .subsubmenu > li > a > .customize {
	display: inline-block;
	padding-right: 20px;
	position: relative;
}
.wrap-spnav .subsubmenu > li > a > .customize::before,
.wrap-spnav .subsubmenu > li > a > .customize::after {
    content: "";
    display: block;
    width: 8px;
    height: 8px;
    border-color: currentColor;
    border-style: solid;
    position: absolute;
    z-index: 1;
}
.wrap-spnav .subsubmenu > li > a > .customize::before {
    border-width: 1px;
    right: 0;
    top: 50%;
    margin-top: -5px;
}
.wrap-spnav .subsubmenu > li > a > .customize::after {
    border-width: 0 0 1px 1px;
    right: 2px;
    top: calc(50% + 2px);
    margin-top: -5px;
}



/* .sub-link */
.wrap-spnav .sub-link {
	
}
.wrap-spnav .sub-link a {
	display: inline-block;
	border-bottom: 1px solid transparent;
	color: #fff;
	opacity: 0.5;
	transition: opacity ease 0.25s, border-color ease 0.25s;
	line-height: 2;
}
.wrap-spnav .sub-link a:hover {
	opacity: 1;
	border-color: currentColor;	
}



.spnav .spnav-mask {
    width: 100vw;
    height: 100vh;
    display: none;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 0;
}
.spnav.show-nav .spnav-mask {
    display: block;
}

/*---------------------------------------------
PCメニューとSPボタン切り替え
---------------------------------------------*/
@media (min-width: 768px) {
/*	.spnav {
		display: none;
	}*/	
}
@media (max-width: 767px) {
	.site-header .pc-menu {
		display: none;
	}
}



/*---------------------------------------------
 共通スタイル
---------------------------------------------*/

/* ページタイトル ------------------------*/
.pagetitle {
}
.pagetitle .page-ttl {
	padding-top: 200px;
	background-color: #eae5fc;
}
.pagetitle .page-ttl .ttl-en {
	line-height: 1;
}
.pagetitle .page-ttl .ttl-jp {
}
.pagetitle .page-ttl-img {
	background: linear-gradient(0deg, #ffdbef 0 50%, #eae5fc 50% 100%);
}
.pagetitle .page-ttl-img .img-block {
	display: block;
	width: fit-content;
	max-width: 600px;
	margin: 0 auto;
	border-radius: 20px;
	overflow: hidden;
}

.pagetitle .page-ttl-intro {
	background-color: #ffdbef;
}
.pagetitle .page-ttl-intro .product-costs {

}
.pagetitle .page-ttl-intro .product-costs .price {
	display: block;
	width: fit-content;
	margin: 0 auto;
}
.pagetitle .page-ttl-intro .product-costs .price.then {
	padding: 0 10px;
	position: relative;
	transform: scale(0.8);
}
.pagetitle .page-ttl-intro .product-costs .price.then::before,
.pagetitle .page-ttl-intro .product-costs .price.then::after {
	content: "";
	display: block;
	width: 100%;
	height: 3px;
	background-color: #e3007f;
	position: absolute;
	left: 0;
}
.pagetitle .page-ttl-intro .product-costs .price.then::before {
	top: calc(50% - 8px);
}
.pagetitle .page-ttl-intro .product-costs .price.then::after {
	top: 50%;
}
.pagetitle .page-ttl-intro .product-costs .discount-label {
	display: block;
    width: fit-content;
    padding: 5px 15px;
    margin: 0 auto;
    color: #fff;
    background-color: #e3007f;
    line-height: 1.3;	
}

.pagetitle .ttl-bgtxt {
	background-color: #fff;
	border-radius: 30px;
	padding: 14px 15px;
}

@media (max-width: 991px) {
	.pagetitle .page-ttl {
		padding-top: 150px;
	}
}
@media (max-width: 480px) {
	.pagetitle .page-ttl {
		padding-top: 120px;
	}
}

/* セクションタイトル ------------------------*/
.sec-ttl {
}
.sec-ttl .f-po {
	line-height: 0.7;
}


/* プライバシーポリシー */
.txt-privacy p {
    margin-bottom: 15px;
    letter-spacing: 0.08em;
}
.txt-privacy em {
	font-style: normal;
}































