@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Zen+Maru+Gothic:wght@400;700;900&display=swap');
:root {
    --font-default: "Noto Sans JP", sans-serif;
    --font-marugo: "Zen Maru Gothic", sans-serif;
    --color-black: #222222;
    --color-blue: #0952a0;
    --color-red: #cb0000;
    --color-yellow: #fa9c3e;
    --layout-vw: 750*100vw;
    --1em: 25.6*1em;
    --font-medium: min(25.6 / var(--layout-vw), 25.6px);
    --font-small: min(19.8 / var(--layout-vw), 19.8px);
    --font-large: min(28 / var(--layout-vw), 28px);
    --font-large2: min(32 / var(--layout-vw), 32px);
}

#content {
  font-optical-sizing: auto;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: var(--font-medium);
  font-family: var(--font-default);
  color: var(--color-black);
  line-height: 1.8;
  overflow: clip;
}
.modal-content {
  font-optical-sizing: auto;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: var(--font-medium);
  font-family: var(--font-default);
  color: var(--color-black);
  line-height: 1.8;
}
/* CSS Document */
@media screen and (min-width: 768px) {
	.pc{
		display: block;
	}
	.spn{
		display: none !important;
	}
}
@media screen and (max-width: 767px) {
  .pc{
    display: none !important;
  }
  .spn{
    display: block;
  }
}
/*--- font ---*/
.fs-ll {
  font-size: var(--font-large2) !important;}
.fs-l {
  font-size: var(--font-large) !important;}
.fs-m {
  font-size: var(--font-medium) !important;}
.fs-s {
  font-size: var(--font-small) !important;}
.fw-normal {
  font-weight: normal !important;}
.fw-bold, strong {
  font-weight: 700 !important;}
span[class^="fw-"], span[class^="fs-"], strong {
  line-height: 1;
  vertical-align: baseline;}
.txt-under {
  text-underline-offset: .3em;
  text-decoration: underline;
  vertical-align: baseline;}
.txt-bg {
background:linear-gradient(transparent 50%, #ffffb5 50%, #ffffb5 90%, transparent 90%);}
.em01 {
	color:#cc0000 !important;}
.em02 {
	color:#003399 !important;}
.em03 {
	color:#306dbd !important;}
.tx-red {
	color: var(--color-red) !important;}
.tx-orange {
	color: var(--color-yellow) !important;}
p.tx-link a,
a.tx-link {
  color: #0952a0 !important;
  text-decoration: underline;
text-underline-offset: .3em;
}
a[href^="tel:"] {
	color:inherit !important;
	text-decoration:none !important;}

#content a {
	color: inherit;
	transition: opacity .3s ease;}

/*------------------------------------------------------------

   parts

--------------------------------------------------------------*/
.inline-block {
	display: inline-block;
}
.body_pc a[href^="tel:"] {
	pointer-events: none;
}
ul[class] {
  list-style: none;}
.note-list {
  color: #707070;
  margin-top: .8em;
}
.note-list > li {
  font-size:var(--font-small);
  list-style:none;
  text-indent: -1em;
  padding-left: 1em;}
.note-list-m > li {
  text-indent: -1em;
  margin-left: 1em;}
.note-list-m > li + li {
  margin-top: 0.4em;}
.note-list > li > *,
.note-list-m > li > * {
  text-indent: 0;}
.note-list + .note-list-m {
  margin-top: .5em;
}
/* alignment */
.ta-left {
  text-align: left !important;
}
.ta-center {
  text-align: center !important;
}
.ta-right {
  text-align: right !important;
}

/* switch */
.all-switch {
	cursor: pointer;
}

@media screen and (max-width:767px) {
	.sp-switch{
		position:relative;}
	.sp-switch:after{
		content:"";
		position:absolute;
		display:block;
		background:url(../images/switch_ic01.gif) 0 50% no-repeat;
		background-size:40px;
		width:40px;
		height:100%;
		top:0;
		right:10px;
			transition: all 1s ease;
			-webkit-transition: all 1s ease;
			transform: rotate(180deg);
			-webkit-transform: rotate(180deg);}
	.sp-switch.switchClose:after {
			transform: rotate(0deg);
			-webkit-transform: rotate(0deg);
	}
	.sec-sp-swich{
		margin:0 3%;}
}
@media screen and (min-width:768px) {
	.sp-switch{
		pointer-events: none;
		}
	.sec-sp-swich{
		display: block !important;
		}
}


/*------------------------------------------------------------

   Nav: open / close

--------------------------------------------------------------*/
body.openNav {
	/*-webkit-overflow-scrolling: auto;
	-ms-overflow-x: hidden;
	    overflow-x: hidden;*/
/*	-webkit-overflow-scrolling: hidden;
	-ms-overflow: hidden;
	    overflow: hidden;*/
}
/*body.openNav {
	-webkit-overflow-scrolling: hidden;
	-ms-overflow: hidden;
			overflow: hidden;
	height: 100vh;
}*/

#content-nav .hmenu-box {
  transform-origin: right top;
}
body:not(.openNav) #content-nav .hmenu-box {
 pointer-events: none;
    width: 0;
    height: 0;
  border-radius: min(90 / var(--layout-vw), 90px);
  padding: 0;
  top: min(65 / var(--layout-vw), 65px);
    right: min(65 / var(--layout-vw), 65px);
  transform: scale(0);
}
body.openNav #content-nav .hmenu-box {
	-webkit-overflow-scrolling: touch;
	    overflow-y: scroll;
		min-height: 100vh;
		min-height: 100dvh;
		max-height: 100vh;
		max-height: 100dvh;
}

body.openNav #content-nav .hmenu-box::-webkit-scrollbar{display: none;background:transparent;width:2px;height:2px;border-radius:0}
body.openNav #content-nav .hmenu-box::-webkit-scrollbar-track{background:transparent;border-radius:0}
body.openNav #content-nav .hmenu-box::-webkit-scrollbar-thumb{background:transparent;border-radius:0}

/*------------------------------------------------------------

   header

--------------------------------------------------------------*/
#content-header {
  min-height: min(634 / var(--layout-vw), 634px);
  margin: 0 0 min(110 / var(--layout-vw), 110px);
  padding: min(150 / var(--layout-vw), 150px) 0 min(152 / var(--layout-vw), 152px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 0;
}
#content-header::before {
  content: "";
  background: url("../images/content_bg02.png") no-repeat 50% 0% / 100% auto, url("../images/content_bg01.png") no-repeat 50% 100% / 100% auto;
  width: 100%;
  height:100%;
  position: absolute;
  display: block;
  pointer-events: none;
  top: 0;
  left: 0;
  z-index: -1;
}
#content-header::after {
  content: "";
  background: url("../images/content_bg04.png") no-repeat 50% 0 / 100% auto;
  width: 100%;
  height: min(2050 / var(--1em), 2050px);
  position: absolute;
  display: block;
  pointer-events: none;
  top: 100%;
  left: 0;
  z-index: -2;
  /*transform: translateY(min(-715 / var(--1em), -715px));*/
  transform: translateY(calc(-715 / 2050 * 100%));
}
#content-header.hd-bg02 {
  background: url("../images/content_bg02.png") no-repeat 50% 0% / 100% auto, url("../images/content_bg01b.png") no-repeat 50% 100% / 100% auto;
}
#content-header .-logo {
	width: min(353 / var(--layout-vw), 353px);
  top: calc(-7 / var(--1em));
  left: calc(-22 / var(--1em));
  position: absolute;
}
#content-header .-logo a {
	display: inline-block;
}
#content-header .ti02 {
  margin: 0 0 .9em;
}
.page-thanks #content-header .ti02 {
  margin: 0 -1em .4em;
}
#content-header .sec-lead {
  line-height: 2.18;
  margin-top: -.5em;
  /*line-height: calc(56 / var(--1em));*/
}
#content-footer {
  padding: min(185 / var(--layout-vw), 185px) 0 0;
  position: relative;
}
#content-footer::before {
  content: "";
  background: url("../images/bg05b.png") no-repeat 40% 50% / contain;
  width: calc(642 / var(--1em));
  height: calc(161 / var(--1em));
  position: absolute;
  top: calc(10 / var(--1em));
  left: calc(76 / var(--1em));
  display: block;
  pointer-events: none;
}
#content-footer .text {
  font-weight: 700;
  text-align: center;
  text-shadow: .5em 0 1em #fff, 0 .5em 1em #fff, -.5em 0 1em #fff, -.5em 0 1em #fff;
  line-height: 2.03;
}

/*-- hmenu --*/
#hmenu {
  border-radius: 50%;
  background: #fbae60;
  width: min(90 / var(--layout-vw), 90px);
  height: min(90 / var(--layout-vw), 90px);
  position: absolute;
  display: block;
  top: min(20 / var(--layout-vw), 20px);
  right: min(20 / var(--layout-vw), 20px);
	cursor: pointer;
  transition: 0.2s ease-out;
  z-index: 1005;
  /*box-shadow: 0 0 .1em #fff;*/
}
#hmenu .btn-menu{
	display: block;
	width: 43%;
	height: 6%;
  position: relative;
	left:50%;
  top: 50%;
  transform: translate(-50%, -50%);
  transition: 0.2s ease-out;
}
#hmenu .btn-menu::before,
#hmenu .btn-menu::after {
	content:'';
	width: 100%;
	height: 100%;
	display: block;
	border-radius: 9999em;
	background: #fff;
	position: absolute;
  transition: 0.1s ease-out;
}
#hmenu .btn-menu::before {
	top:-160%;
}
#hmenu .btn-menu::after {
	top: 160%;
}
#hmenu._close{
  background-color: #f4cd47;
}
#hmenu._close .btn-menu::before {
	top: 0%;
	transform: rotate(135deg);
}
#hmenu._close .btn-menu::after {
	top: 0%;
	transform: rotate(45deg);
}
#content-nav {
	position: sticky;
	top:0;
	right: 0;
	z-index: 1000;
}
#content-nav .hmenu-box {
	background: #eca45c;
  color: #fff;
	width: min(685 / var(--layout-vw), 685px);
  position: absolute;
	top:0;
	right: 0;
	padding: min(220 / var(--layout-vw), 220px) min(66 / var(--layout-vw), 66px) min(178 / var(--layout-vw), 178px);
	transition: 0.1s linear;
  white-space: nowrap;
  overflow: hidden;
}
#content-nav .hmenu-list {
  font-family: var(--font-marugo);
  font-weight: 700;
  font-size: calc(32 / var(--1em));
  line-height: 1.5;
}
#content-nav .hmenu-list li {
  border-top: 2px solid #fff;
}
#content-nav .hmenu-list a {
  text-decoration: none;
  display: flex;
  align-items: center;
  height: calc(153/32*1em);
  position: relative;
}
#content-nav .hmenu-list li:not(.-top) a::after {
  content: "";
  width: calc(22 / 32 * 1em);
  height: calc(22 / 32 * 1em);
background: url("../images/icon_arrow01.svg") no-repeat center / contain;
  position: absolute;
  display: inline-block;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
	transition: 0.1s ease-out;
}
#content-nav .hmenu-list li:not(.-top) a:hover::after {
  transform: translateY(-50%) translateX(30%);
}
#content-nav .hmenu-list .-top a {
  height: calc(163/32*1em);
  justify-content: center;
}
.bodyMask {
	position: fixed;
	height: 100%;
	top:0;
	width: 100%;
	left: 0;
	background: rgba(0, 0, 0, 0);
	display: none;
	z-index: 900;
}


/*------------------------------------------------------------

   content

--------------------------------------------------------------*/
.content-inner {
	width: 100%;
	max-width: 750px;
	margin: 0 auto;
	position: relative;
	text-align: left;
}
#content *,
.modal-content * {
	box-sizing: border-box;}
#content img,
.modal-content img {
	max-width: 100%;
	height:auto;}
#content > .content-inner {
  box-shadow: 0 0 50px rgba(222,177,131,.8), 0 0 0 1px #ffbf7f;
  overflow: clip;
}
#content {
  background: url("../images/bg02.png") repeat-y 50% 0, url("../images/bg01.png") repeat-y 50% 0;
  background-color: #c6e5e6;
	position: relative;
}
#content .content-bg01 {
  background: url("../images/content_bg03.png") no-repeat 50% 100% / 100% auto, #fff;
  padding-bottom: min(250 / var(--layout-vw), 250px);
}
#content .content-bg02 {
  background: url("../images/content_bg04b.png") no-repeat 50% 0 / 100% auto, url("../images/content_bg03b.png") no-repeat 50% 100% / 100% auto, #fff;
  padding-bottom: min(240 / var(--layout-vw), 240px);
}
#main-header {
  background: url("../images/top_mv01.png") no-repeat 50% 100% / 100% auto;
  padding: min(68 / var(--layout-vw), 68px) 0 min(513 / var(--layout-vw), 513px);
  position: relative;
}
#main-header::after {
  content: "";
  background: url("../images/bg04.png") no-repeat 50% 50% / contain;
  width: calc(138 / var(--1em));
  height: calc(107 / var(--1em));
  position: absolute;
  display: block;
  pointer-events: none;
  bottom: calc(-90 / var(--1em));
  left: calc(20 / var(--1em));
}
#main-header .-logo {
	width: min(465 / var(--layout-vw), 465px);
  margin: 0 auto min(60 / var(--layout-vw), 60px);
}
#main-header .sec-lead {
  line-height: 2.18;
  /*line-height: calc(56 / var(--1em));*/
  margin-top: 1.6em;
}
.sec-attention {
  color: var(--color-red);
  padding: 0 calc(40 / var(--1em));
}
.sec-attention2 {
  border-radius: calc(20 / var(--1em));
  background: #ffea74;
  color: #e30001;
  padding: calc(20 / var(--1em)) calc(40 / var(--1em));
  text-align: center;
}
.sec-attention2 .att-ti {
  border-radius: 9999em;
  width: fit-content;
  font-weight: 700;
  background: #e30001;
  color: #fff;
  padding: .1em 1.8em .2em;
  margin: 0 auto .5em;
  line-height: 1.5;
}
#content-main {
  background: #fff;
  box-shadow: 0 0 0 min(4 / var(--layout-vw), 4px) #fed6cc;
  border-radius: min(76 / var(--layout-vw), 76px);
  margin: calc(126 / var(--1em)) 0 0;
  padding: calc(85 / var(--1em)) calc(40 / var(--1em)) calc(103 / var(--1em));
  position: relative;
}
#content-main.-icon{
  margin-top: calc(215 / var(--1em));
}
.sec-attention + #content-main.-icon{
  margin-top: calc(208 / var(--1em));
}
#content-main > *:first-child {
  margin-top: 0;
}
.sec-frame02 {
  background: #fff;
  border: min(3 / var(--layout-vw), 3px) solid #fed6cc;
  border-radius: min(50 / var(--layout-vw), 50px);
  margin: calc(50 / var(--1em)) 0 calc(48 / var(--1em));
  padding: calc(40 / var(--1em)) calc(37 / var(--1em));
  padding: calc(28 / var(--1em)) calc(38 / var(--1em));
  position: relative;
}
.sec-frame02 + .sec-frame02 {
  margin-top: calc(60 / var(--1em));
}
.sec-frame02 > .sec-text:last-child {
  margin-bottom: .1em !important;
}
.sec-frame02.-wide {
  border-width: min(6 / var(--layout-vw), 6px);
  line-height: 1.64;
  margin-bottom: calc(27 / var(--1em));
}
.sec-frame02.-ex {
  overflow: hidden;
  margin-top: calc(55 / var(--1em));
  padding: 0;
}
.sec-frame02.-ex .-bg {
  background: #feede9;
  padding: calc(28 / var(--1em)) calc(38 / var(--1em)) calc(28 / var(--1em));
}
.sec-frame02.-ex .ti06 {
  background: #f9ab8d;
  color: #fff;
  margin: 0;
  padding: .9em .5em 1em;
}
.sec-frame03 {
  background: #fddebe;
  border-radius: min(50 / var(--layout-vw), 50px);
  margin: calc(59 / var(--1em)) 0 0;
  margin: calc(50/ var(--1em)) 0 0;
  padding: calc(30 / var(--1em)) calc(38 / var(--1em));
  position: relative;
}
.ti04 + .sec-frame02,
.ti04 + .sec-frame03 {
  margin-top: calc(40/ var(--1em))
}
/*div[class^="sec-frame"] {
  padding-bottom: .1px;
}*/
.sec-frame02 .sec-text {
  margin: calc(14 / var(--1em)) 0;
}
.sec-frame02.-ex + .sec-frame02.-ex {
  margin-top: calc(60 / var(--1em));
}
.sec-frame02.-ex .sec-text {
  margin: calc(30 / var(--1em)) calc(38 / var(--1em)) 0;
  padding-bottom: calc(30 / var(--1em));
}
.sec-price {
  font-family: var(--font-marugo);
  font-weight: 700;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  line-height: 1.2;
  margin: calc(30 / 25.6 * 1em) 0 0;
}
.sec-price + .sec-price {
  margin-top: calc(40 / 25.6 * 1em);
}
.sec-price dt {
  width: 100%;
  border-radius: 9999em;
  background: #ffe08d;
  color: #ff6700;
  margin: 0 0 calc(20 / 25.6 * 1em);
  padding: .4em;
}
.sec-price dd {
  width: calc(386 / var(--1em));
  display: flex;
  justify-content: center;
  align-items: center;
}
/*.sec-price dd span {
  display: inline-block;
  vertical-align: baseline;
}*/
.sec-price dd .-icon-arrow {
  background: url("../images/icon_arrow03.svg") no-repeat 50% 50% / contain;
  width: calc(49 / 25.6 * 1em);
  height: calc(48 / 25.6 * 1em);
  display: inline-block;
  text-indent: -9999em;
  overflow: hidden;
  margin: 0 calc(18 / 25.6 * 1em) 0 calc(28 / 25.6 * 1em);
}
.sec-price dd .-sub {
  border-radius: 9999em;
  display: table;
  margin: 0 auto -.2em;
  white-space: nowrap;
  line-height: .8;
  padding: 0 .2em .3em;
  letter-spacing: -.1em;
  font-size: calc(20 / 25.6 * 1em);
  line-height: 1;
}
.sec-price dd .-yen {
  font-size: calc(20 / 25.6 * 1em);
  vertical-align: baseline;
  line-height: 1;
  transform: translateY(-10%);
  text-shadow: none;
}
.sec-price dd .-yen .-number {
  font-size: calc(32 / 20 * 100%);
  vertical-align: baseline;
  line-height: 1;
}
.sec-price dd .-fs-l.-yen {
  font-size: calc(32 / 25.6 * 1em);
  transform: translateY(-15%);
}
.sec-price dd.-price {
  padding-right: .4em;
}
.sec-price dd.-price strong {
  color: #f9751c;
}
.sec-price dd.-save {
  border: calc(3 / var(--1em)) solid #99c6fe;
  border-radius: 50%;
  background: #b9eeff;
  color: #02677d;
  width: calc(112 / var(--1em));
  height: calc(112 / var(--1em));
  position: relative;
}
.sec-price dd.-save .-inner {
  position: absolute;
  letter-spacing: -.04em;
  line-height: 1.2;
  white-space: nowrap;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
}
.sec-price dd.-save .ls-mark {
  margin: 0 -.2em;
}
.sec-price.-price2 dt {
  background: #ffd86e;
}
.sec-price.-price2 dd.-price strong {
  color: #f84000;
}
.sec-price.-price2 dd.-save .-fw-bold.-yen {
  font-weight: 900;
  font-size: calc(24 / 25.6 * 1em);
}
.sec-price.-price2 dd.-save {
  border-color: #97e236;
  background: #bcff65;
  width: calc(116 / var(--1em));
  height: calc(116 / var(--1em));
}
.sec-price.-price2 dd.-save .-sub {
  background: #bcff65;
}
.sec-price.-price2 dd.-save .-sub .-number {
-webkit-text-stroke: .2em #bcff65;
  paint-order: stroke fill;
    position: relative;
  display: inline-block;
  letter-spacing: 0;
  white-space: nowrap;
}
.sec-price.-price2 dd.-save .-sub .-yen {
  font-size: calc(18 / 20 * 1em);
}
.sec-price.-price2 dd.-save .-sub .-yen .-number {
  font-size: calc(26 / 18 * 1em);
}
.sec-price.-price2 dd.-save .-fw-bold .-number {
  font-size: calc(36 / 25.6 * 1em);
  letter-spacing: -.02em;;
}
/* index-menu */
.index-menu::before {
  content: "";
  background: url("../images/bg04.png") no-repeat 50% 50% / contain;
  width: calc(138 / var(--1em));
  height: calc(107 / var(--1em));
  position: absolute;
  display: block;
  pointer-events: none;
  top: calc(-100 / var(--1em));
  right: calc(6 / var(--1em));
  transform: rotate(180deg);
}
.index-menu::after {
  content: "";
  background: url("../images/bg05.png") no-repeat 70% 50% / contain;
  width: calc(642 / var(--1em));
  height: calc(161 / var(--1em));
  position: absolute;
  display: block;
  pointer-events: none;
  top: calc(11 / var(--1em));
  left: calc(22 / var(--1em));
}
.index-list {
  margin: 0 0;
}
.index-list li + li {
  margin-top: calc(70 / var(--1em));
}
.index-list a {
  background-image: linear-gradient(0deg, #fff 65%, #fddfc0);
  width: min(670 / var(--layout-vw), 670px);
  height: min(395 / var(--layout-vw), 395px);
  border: min(3 / var(--layout-vw), 3px) solid #fff;
  border-radius: min(50 / var(--layout-vw), 50px);
  font-family: var(--font-marugo);
  font-weight: 700;
  font-size: calc(40 / var(--1em));
  line-height: 1.5;
  text-decoration: none !important;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  margin: 0 auto;
  padding: calc(32 / 40 * 1em) 0 calc(2 / 40 * 1em);
  box-shadow: 1px 0 min(25 / var(--layout-vw), 25px) rgba(0,0,0,.25);
  position: relative;
  letter-spacing: .04em;
}
.index-list a:hover {
  background-image: linear-gradient(0deg, #fdb8cc, #ffeea2);
  color: #fff !important;
}
.index-list li .icon-category {
  width: calc(188 / 40 * 1em);
  display: block;
}
.index-list .text {
  position: relative;
  margin: auto 0;
  padding: 0;
}
.index-list .text::after {
  content: "";
  width: calc(37 / 40 * 1em);
  height: calc(37 / 40 * 1em);
background: url("../images/icon_arrow01_orange.svg") no-repeat center / contain;
  position: absolute;
  display: inline-block;
  transform: translate(.3em, .3em);
}
.index-list a:hover .text::after {
background-image: url("../images/icon_arrow01.svg");
}
.bnr-list {
  margin: calc(105 / var(--1em)) calc(43 / var(--1em)) 0;
}
.bnr-list li + li {
  margin-top: calc(60 / var(--1em));
}
.bnr-list li a:hover {
  opacity: .7;
}
.index-menu {
  background: url("../images/bg03.png") no-repeat 50% 0 / 100% auto;
  margin: calc(119 / var(--1em)) 0 0;
  padding: calc(181 / var(--1em)) 0 0;
  position: relative;
}
.faq-list {
  /*min-height: calc(140 / var(--1em));*/
  background: #ffede9;
  border-radius: min(50 / var(--layout-vw), 50px);
  padding: calc(40 / var(--1em));
}
.faq-list:first-of-type {
  margin-top: calc(108 / var(--1em));
}
.faq-list + .ti03 {
  margin-top: calc(100 / var(--1em));
}
.faq-list:last-of-type {
  margin-bottom: calc(-20 / var(--1em));
}
.faq-list + .faq-list {
  margin-top: calc(60 / var(--1em));
}
.faq-list dt {
  min-height: calc(60 / 28 * 1em);
  font-weight: 700;
  font-size: calc(28 / var(--1em));
  line-height: 1.5;
  padding: min(3 / var(--layout-vw), 3px) min(45 / var(--layout-vw), 45px) 0 min(85 / var(--layout-vw), 85px);
  position: relative;
}
.faq-list dd {
  margin-top: 1.3em;
  margin-bottom: -.3em;
  padding: min(3 / var(--layout-vw), 3px) 0 0 min(85 / var(--layout-vw), 85px);
  position: relative;
}
.faq-list dt::before,
.faq-list dd::before {
  font-family: var(--font-marugo);
  font-size: min(28 / var(--layout-vw), 28px);
  font-weight: 900;
  border-radius: 50%;
  color: #fff;
  width: min(60 / var(--layout-vw), 60px);
  height: min(60 / var(--layout-vw), 60px);
  display: flex;
  justify-content: center;
  align-items: center;
  pointer-events: none;
  line-height: 1;
  padding-bottom: .2em;
  box-sizing: border-box;
  position: absolute;
  top: 0;
  left: 0;
}
.faq-list dt::before {
  content: "Q";
  background-color: #80d7c6;
}
.faq-list dd::before {
  content: "A";
  background-color: #f9a653;
}


hr.hr0 {
	border: none;
}
hr.hr-line1 {
	border-top: min(4 / var(--layout-vw), 4px) solid #f9751c;
	margin: calc(92 / var(--1em)) 0;
}
.ti01 {
	color: var(--color-blue);
  font-family: var(--font-marugo);
	font-size: calc(34 / var(--1em));
	font-weight: 700;
	line-height: 1.5;
  text-align: center;
  letter-spacing: .04em;
}
.ti01 sub {
  vertical-align: super;
  font-size: 70%;
}
.ti02 {
	color: var(--color-blue);
  font-family: var(--font-marugo);
	font-size: calc(60 / var(--1em));
	font-weight: 700;
	margin: 0 0 .5em;
	line-height: 1.5;
  text-align: center;
  text-shadow: .3em 0 .5em #fff, 0 .3em .5em #fff, -.3em 0 .5em #fff, -.3em 0 .5em #fff;
}
.ti02 .-sub {
  display: block;
	font-size: calc(40 / 60 * 1em);
  text-shadow: none;
}
.ti02 .-sub .-number {
	font-size: calc(44 / 40 * 1em);
  line-height: 1.3;
  letter-spacing: .04em;
}
.ti02 sub {
  vertical-align: super;
  font-size: 70%;
}
.ti02 .tx-label + .-sub {
  margin-bottom: .8em;
}
.ti03 {
	color: var(--color-blue);
  font-family: var(--font-marugo);
	font-size: calc(48 / var(--1em));
	font-weight: 700;
	margin: 0 0 .75em;
	line-height: 1.5;
  text-align: center;
  letter-spacing: -.02em;
  letter-spacing: .04em;
}
.ti03 .fs-m {
	display: block;
}
.icon-category + .ti03 {
	margin-top: min(90 / var(--layout-vw), 90px);
}
.ti04 {
	color: var(--color-yellow);
  font-family: var(--font-marugo);
	font-size: calc(40 / var(--1em));
	font-weight: 700;
	margin: 4.6em 0 .75em;
	line-height: 1.5;
  text-align: center;
}
.sec-text + .ti04 {
	margin-top: 4.35em;
	margin-top: 4.45em;
}
.sec-lead + .ti04 {
	margin-top: 2.45em;
}
.ti05{
  text-align: center;
  font-family: var(--font-marugo);
	font-size: calc(28 / var(--1em));
  font-weight: 700;
  margin: 0 0 .55em;
      letter-spacing: .04em;
}
.ti05.-under{
  display: table;
  margin: 0 auto .85em;
  border-bottom: calc(2 / var(--1em)) solid var(--color-black);
}
.sec-text + .ti05 {
	margin-top: 2em;
}
.ti05 .-icon {
  width: calc(71 / var(--1em));
  display: block;
  margin: .4em auto .3em;
}
.ti06 {
	color: var(--color-yellow);
  font-family: var(--font-marugo);
	font-size: calc(32 / var(--1em));
	font-weight: 700;
  margin: 2.8em 0 .5em;
	line-height: 1.5;
  text-align: center;
}
.ti07{
  text-align: center;
  font-family: var(--font-marugo);
  font-weight: 700;
  margin: 0 0 .55em;
}
.tx-label {
	font-size: var(--font-large2);
  border-radius: 0.625em;
  background: var(--color-yellow);
  color: #fff;
  text-shadow: none;
  margin: .9em auto .8em;
  padding: .23em .7em .35em;
  line-height: 1.4;
  display: inline-block;
  letter-spacing: 0;
}
/*.tx-data {
  font-feature-settings: "palt";
}*/
.icon-category {
  width: calc(188 / var(--1em));
  display: block;
}
#content-main .icon-category {
  position: absolute;
  left: 50%;
  top: 0;
  transform: translate(-50%, -50%);
}
.sec-lead {
  text-align: center;
}
.sec-lead + .sec-lead {
	margin-top: .7em;
}
.sec-lead2 {
  text-align: center;
  margin: 2.4em 0 0;
}
.sec-lead2 + .sec-frame02.-ex {
  margin-top: calc(45 / var(--1em));
}
.sec-lead + .sec-text {
	margin-top: 1.1em;
}
.sec-text p + p {
	margin-top: 1.7em;
}
/* img */
.img {
	margin: 1em 0;
	text-align: center;
}
.img img {
    vertical-align: bottom;
}
.img .img-border1 {
  display: inline-block;
  /*border: calc(3 / var(--1em)) solid #fed6cc;*/
  border-radius: calc(25 / var(--1em));
  padding: calc(3 / var(--1em));
  background: #fed6cc;
}
.img figcaption.caption {
  font-size: calc(20.48 / var(--1em));
  display: table;
	margin: .5em auto 0;
    line-height: 1.75;
}
.img figcaption.caption.fs-s {
	margin-top: 1em;
}
.img .caption2 {
  font-weight: 700;
  margin: 0 0 1.6em;
  line-height: 1;
}
.img.-ticket {
  margin-top: .4em;
}
.img.-ticket + .img.-ticket {
  margin-top: 2.1em;
}
.img.-ticket + .caption {
  display: table;
  margin: 1.2em auto 0;
}
.img.-colum-2 {
  display: flex;
  flex-wrap: wrap;
  gap: calc(34 / 670 * 100%);
	margin-top: 2em;
}
.img.-colum-2 figure {
  width: calc(318 / 670 * 100%);
}

/* btn */
.btn-link {
  background-image: linear-gradient(0deg, #feede9 65%, #fdd5b5);
  width: 100%;
  max-width: min(670 / var(--layout-vw), 670px);
  height: min(130 / var(--layout-vw), 130px);
  border: min(3 / var(--layout-vw), 3px) solid #fff;
	border-radius: 9999em;
  font-family: var(--font-marugo);
	font-size: calc(38 / var(--1em));
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none !important;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
	text-align: center;
  /*margin: 0 auto min(80 / var(--layout-vw), 80px);*/
  margin: .85em 0;
  box-shadow: 1px 0 min(25 / var(--layout-vw), 25px) rgba(0,0,0,.25);
  position: relative;
  cursor: pointer;
  letter-spacing: -.02em;
  padding: 0 .1em .1em 0;
}
.btn-link.-btn02 {
  background-image: linear-gradient(0deg, #f98e3a, #fdcd85);
  color: #fff !important;
}
a.btn-link:hover,
button.btn-link:hover {
  background-image: linear-gradient(0deg, #fdb8cc, #ffeea2);
  color: #fff !important;
}
span.btn-link {
	filter: grayscale(1) contrast(80%);
  pointer-events: none;
}
.btn-link .-inner{
  position: initial;
}
.btn-link .-inner::after {
  content: "";
  width: calc(37 / 38 * 1em);
  height: calc(37 / 38 * 1em);
  background: url("../images/icon_arrow01_orange.svg") no-repeat center / contain;
  position: absolute;
  display: inline-block;
  /*transform: translate(.5em, .3em);*/
  right: .8em;
  top: 50%;
  transform: translateY(-50%);
  transition: transform 0.1s ease-out;
}
.btn-link.-btn02 .-inner::after,
a.btn-link:hover .-inner::after {
background-image: url("../images/icon_arrow01.svg");
}
a.btn-link:hover .-inner::after {
  transform: translateY(-50%) translateX(10%);
}
.btn-link:not(.-btn02) .-inner {
  position: relative;
}
.btn-link:not(.-btn02) .-inner::after {
  right: auto;
  top: auto;
  transform: translate(.5em, .2em);
}
.btn-link:not(.-btn02):hover .-inner::after {
  transform: translate(.7em, .2em);
}
.ti06 + p .btn-link,
.ti07 + p .btn-link {
  margin-top: .6em;
}

/* policy */
.policy .btn-link.bd-pass .-inner{
  position: initial;
}
.policy .btn-link.bd-pass {
  margin: 1.5em 0 0;
}
.policy .btn-link.bd-pass .-inner::after {
  right: 1em;
  top: 50%;
  transform: translateY(-50%);
}
.policy .btn-link.bd-pass.-hide {
  display: none;
}
.policy {
  text-align: center;
}
.policy p + p {
  margin-top: 1.3em;
}
.policy .sec-lead {
  margin: 0 -1em 1.5em;
  letter-spacing: -0.02em;
}
.policy input {
  width: calc(355 / var(--1em));
  font-size: inherit;
  border-radius: calc(10 / var(--1em));
  border: 1px solid #bdbdbd;
  line-height: calc(50 / var(--1em));
  box-sizing: border-box;
  box-shadow: inset .1em .2em .3em rgba(0, 0, 0, 0.1);
}
.policy input:focus {
    outline: none;
}
.policy input.m-form_input {
  padding: 0 .5em;
  margin-left: 1.4em;
  position: relative;
  transform: translateY(-5%);
}
.policy label {
  cursor: pointer;}
.policy #chkbox {
  position: relative;
  width: calc(50 / var(--1em));
  height: calc(50 / var(--1em));
  appearance: none;
  background: #FFFFFF;
  border: 1px solid #bdbdbd;
  border-radius: calc(10 / var(--1em));
  box-shadow: inset .1em .2em .3em rgba(0, 0, 0, 0.1);
  margin-right: 1.4em;
  transform: translateY(-5%);
  cursor: pointer;
}
.policy #chkbox::before {
  font-size: 180%;
  font-family: var(--font-marugo);
  font-weight: 900;
    position: absolute;
    display: block;
    content: "✔";
  color: #fbae60;
  opacity: 0;
  top: 40%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(10deg);
  line-height: 1;
}
.policy #chkbox:checked::before {
  opacity: 1;
}

/* switch */
.switch-btn {
	position: relative;
  cursor: pointer;
}
.switch-btn:after {
	content: "";
  width: min(35 / var(--layout-vw), 35px);
  height: min(21 / var(--layout-vw), 21px);
	display: block;
	position: absolute;
	top: 50%;
	right: 0;
	background: url(../images/icon_arrow02.svg) no-repeat 50% 50% / contain;
	transform: translateY(-50%);
	transition: transform .3s ease;
}
.switch-btn.switch-open:after {
	transform: translateY(-50%) rotate(-180deg);
}

/*--- modal ---*/
body.lock {
    overflow:hidden;
}
body.body_pc.lock #container {
    overflow-y:scroll;
}
body.lock #header.vendor {
  z-index: 100;
}
body.body_spn.lock #content-main {
  z-index: 2000;
}
.modal-overlay {
    display:none;
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background-color:rgba(215,166,116,0.8);
    z-index:1000;
}
.modal-wrap {
    z-index:2000;
    display:none;
    position:fixed;
    top:50%;
    left:0;
    width:100%;
    max-height:100%;
    overflow:auto;
	text-align: center;
	padding: 15px;
	box-sizing: border-box;
  transform: translateY(-50%);
}
.modal-wrap .modal-content {
	display: block;
}
.modal-close{
  border-radius: 50%;
  background: #fbae60;
  width: min(90 / var(--layout-vw), 90px);
  height: min(90 / var(--layout-vw), 90px);
  position: absolute;
  display: block;
  top: min(26 / var(--layout-vw), 26px);
  right: min(32 / var(--layout-vw), 32px);
	cursor: pointer;
  z-index: 1005;
}
.modal-close.-bottom{
  top: auto;
  bottom: min(26 / var(--layout-vw), 26px);
}
.modal-close::before,
.modal-close::after {
	content:'';
	width: 100%;
	height: 100%;
	display: block;
	border-radius: 9999em;
	background: #fff;
	position: absolute;
  transition: 0.1s ease-out;
	top: 0%;
	width: 43%;
	height: 6%;
	left:50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
.modal-close::before {
	transform: translate(-50%, -50%) rotate(135deg);
}
.modal-close::after {
	transform: translate(-50%, -50%) rotate(45deg);
}
.modal-content {
	border-radius: 80px;
	max-width: 690px;
	position: relative;
	display: none;
	background: #ffffff;
	margin: 0 auto 0;
	padding: min(150 / var(--layout-vw), 150px) min(50 / var(--layout-vw), 50px);
	text-align: left;
  box-sizing: border-box;
}
.modal-content > *:first-child {
	margin-top: 0;
}
.modal-content .sec-info {
	border-radius: 0;
	margin: 20px -16px -16px;
	box-shadow: none;
}
.modal-content .sec-info::after {
	display: none;
}
.modal-content .img.img-b1 {
	display: block;
}
.flow-list > li {
  border-radius: min(40 / var(--layout-vw), 40px);
  background: #feede9;
	padding: min(70 / var(--layout-vw), 70px) min(45 / var(--layout-vw), 45px);
  position: relative;
}
.flow-list > li + li {
  margin-top: calc(182 / var(--1em));
}
.flow-list > li + li::before {
  content: "";
  width: calc(101 / var(--1em));
  height: calc(107 / var(--1em));
	display: block;
	position: absolute;
	top: calc(-143 / var(--1em));
	left: 50%;
	background: url("../images/icon_arrow01_orange.svg") no-repeat 50% 50% / contain;
	transform: translate(-50%, 0) rotate(90deg);
}
.flow-list .flow-ti {
	font-size: calc(28 / var(--1em));
  font-weight: 700;
  margin-bottom: 1.2em;
  padding-left: 1.2em;
  text-indent: -1.2em;
  line-height: 1.5;
}
.flow-list .flow-ti .ic-no {
  width: 1.2em;
  display: inline-block;
  text-indent: 0;
}
.flow-list .flow-ti2 {
	font-size: calc(28 / var(--1em));
  font-weight: normal;
  margin-bottom: 1em;
  padding: 1.2em 0 0 1em;
  text-indent: -1em;
  line-height: 1.5;
}
.flow-list .flow-ti2 .ic-no {
  color: #00a2a4;
  width: 1em;
  display: inline-block;
  text-indent: 0;
}
.flow-list .img {
  margin: 1.5em calc(-15 / var(--1em));
}
.flow-list .img .caption2 {
  margin: 0 0 .5em;
  display: flex;
  justify-content: center;
  align-items: center;
}
.flow-list .img .caption2 > span {
  width: 50%;
  margin-bottom: -.5em;
  line-height: 1.44;
}
.flow-list .img .caption2 {
      margin: 0 0 .7em;
}
.flow-list > li > *:last-of-type {
  margin-bottom: 0:
}

/* space  */
.mt0 {
	margin-top: 0 !important;
}
.mt05em {
	margin-top: .5em !important;
}
.mt1em {
	margin-top: 1em !important;
}
.mt1line {
	margin-top: 1.8em !important;
}
.ls-mark {
  margin: 0 -.1em;
}
.ls-mark2 {
  margin: 0 -.5em;
}
.ls-0{
  letter-spacing: 0 !important;
}
.ls-s1{
  letter-spacing: -.02em !important;
}
.ls-s2{
  letter-spacing: -.04em !important;
}
.ls-s3{
  letter-spacing: -.06em !important;
}
.ls-s4{
  letter-spacing: -.08em !important;
}
.ls-s5{
  letter-spacing: -.1em !important;
}
.ls-s6{
  letter-spacing: -.12em !important;
}
.ls-w1{
  letter-spacing: .02em !important;
}
.ls-w2{
  letter-spacing: .04em !important;
}
.ls-w3{
  letter-spacing: .06em !important;
}