@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&display=swap');

html {
  font-size: 62.5%;
}

img,figure {
  width: 100%;
  height: auto;
}

a {
  text-decoration: none;
  color: #000;
}

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

em{
	font-style: normal;
	font-weight: 600;
}

em.yellow_border{
	color:#ffffd3;
	text-decoration: underline;
	font-weight: 400;
}

em.yellow_bg{
	color:#fff;
	background:#918044;
	padding:2px 5px;
}

em.yellow{
	font-size:1.2em;
	color:#fff000;
	position: relative;
	font-weight: 400;
}

em.yellow::after{
	content: "";
	width:min(6vw,30px);
	height:min(6vw,30px);
	position: absolute;
	top:75%;
	right:calc(100% + 2px);
	background:url("/images/elec_icon.svg");
	background-size: contain;
	background-repeat: no-repeat;
}

em.red{
	color:#b12e2a;
}

sup,sub{
	font-size: 0.6em;
}

.clearfix:after {
  content: " ";
  display: block;
  clear: both;
}
.object-fit-img {
  object-fit: cover !important;
  width: 100% !important;
  height: 100% !important;
}

ol, ul, li {
  list-style: none;
  padding: 0;
  margin: 0;
}
h1, h2, h3, h4, h5, h6 {
  font-weight: 400; 
  font-style: normal;
}

.mb0{margin-bottom: 0 !important;}

.font-serif{
  font-family: "Noto Serif JP", serif;
  font-style: normal;
}

body {
  padding: 0;
  margin: 0;
  background: #fff;
  position: relative;
  color: #000;
  font-feature-settings: "palt" 1;
  letter-spacing: 0;
  font-family: "Noto Sans JP", serif;
  font-weight: 400;
  font-style: normal;
  font-optical-sizing: auto;
  min-width: 100%;
  line-height: 1;
}

*{
min-width: 0;
min-height: 0;
}


/*fixed_pc_cont*/
#fixed_pc_cont{
	position:fixed;
	top:0;
	left:0;
	width:100lvw;
	height:100lvh;
	background-image:url("/images/fixed_bg.png");
	background-repeat: no-repeat;
	background-size: cover;
	background-position: 50% 50%;
	display: flex;
	justify-content: space-between;
	z-index: 1;
}

#fixed_pc_cont .left_cont{
	width:calc((100vw - 500px) / 2);
	height: 100lvh;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}

#fixed_pc_cont .left_cont .innerbox{
	max-width:300px;
	width:90%;
	padding:0 min(5%,20px);
	position: relative;
}

#fixed_pc_cont .left_cont .innerbox .po1{
	position: absolute;
	bottom:45%;
	right:-20px;
	width:30px;
	animation: rotate 3s;
	animation-delay: 0s;
	animation-timing-function: linear;
	animation-fill-mode:both;
	animation-iteration-count:infinite;
}

#fixed_pc_cont .left_cont .innerbox .po2{
	position: absolute;
	bottom:0;
	left:-8%;
	width:30px;
	animation: rotate 4s;
	animation-delay: 0s;
	animation-timing-function: linear;
	animation-fill-mode:both;
	animation-iteration-count:infinite;
}

#fixed_pc_cont .left_cont .innerbox .po3{
	position: absolute;
	bottom:30%;
	left:-10px;
	width:8px;
	animation: rotate 5s;
	animation-delay: 0s;
	animation-timing-function: linear;
	animation-fill-mode:both;
	animation-iteration-count:infinite;
}

#fixed_pc_cont .left_cont .innerbox .po4{
	position: absolute;
	bottom:5%;
	left:10px;
	width:16px;
	animation: rotate 6s;
	animation-delay: 0s;
	animation-timing-function: linear;
	animation-fill-mode:both;
	animation-iteration-count:infinite;
}

#fixed_pc_cont .left_cont .innerbox .po5{
	position: absolute;
	bottom:30%;
	right:-10px;
	width:8px;
	animation: rotate 4s;
	animation-delay: 0s;
	animation-timing-function: linear;
	animation-fill-mode:both;
	animation-iteration-count:infinite;
}

#fixed_pc_cont .left_cont .innerbox a{
	width: 120px;
	width:40%;
	display: block;
	position: absolute;
	bottom:0;
	right:0;
}

#fixed_pc_cont .right_cont{
	width:calc((100vw - 500px) / 2);
	height: 100lvh;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	position: relative;
}

#fixed_pc_cont .right_cont .innerbox{
	max-width:300px;
	position: relative;
	margin-top:150px;
}

#fixed_pc_cont .right_cont .innerbox .headill{
	position: absolute;
	width:390px;
	right:-90px;
	bottom:calc(100% - 60px - min(3.2vw,16px));
}

#fixed_pc_cont .right_cont .innerbox .headill .inbox{
	position: relative;
}

#fixed_pc_cont .right_cont .innerbox .headill .inbox .po1{
	position: absolute;
	top:20%;
	right:55%;
	width:16px;
	animation: rotate 7s;
	animation-delay: 0s;
	animation-timing-function: linear;
	animation-fill-mode:both;
	animation-iteration-count:infinite;
}

#fixed_pc_cont .right_cont .innerbox .headill .inbox .po2{
	position: absolute;
	bottom:10px;
	left:0;
	width:8px;
	animation: rotate 4s;
	animation-delay: 0s;
	animation-timing-function: linear;
	animation-fill-mode:both;
	animation-iteration-count:infinite;
}

#fixed_pc_cont .right_cont .innerbox .headill .inbox .po3{
	position: absolute;
	bottom:22%;
	left:65%;
	width:8px;
	animation: rotate 5s;
	animation-delay: 0s;
	animation-timing-function: linear;
	animation-fill-mode:both;
	animation-iteration-count:infinite;
}

#fixed_pc_cont .right_cont .innerbox button#pagetop{
	width:50px;
	position: absolute;
	bottom:-20px;
	right:calc(100% + 30px);
}

#fixed_pc_cont .right_cont .innerbox nav{
	width:100%;
}

#fixed_pc_cont .right_cont .innerbox nav ul.linknav{
	width:100%;
	max-width: 220px;
	margin:0 auto;
}

#fixed_pc_cont .right_cont .innerbox nav ul.linknav a{
	padding:20px 0;
	border-bottom:1px solid #fff;
	color:#4d4693;
	text-align: center;
	display: block;
	position: relative;
}

#fixed_pc_cont .right_cont .innerbox nav ul.linknav a::after{
	content: "";
	width:100%;
	border-bottom:1px solid #4d4693;
	position: absolute;
	bottom:-1px;
	left:0;
	transition: transform 0.3s;
	transform: scaleX(0);
	transform-origin: left;
}

#fixed_pc_cont .right_cont .bottomlink{
	display: none;
}

@media (any-hover: hover) {
	
  #fixed_pc_cont .right_cont .innerbox nav ul.linknav a:hover::after{
	transform: scaleX(1);
  }
}

#fixed_pc_cont .right_cont .innerbox nav ul.snsnav{
	width:100%;
	max-width: 220px;
	display: flex;
	justify-content: space-around;
	margin:40px auto;
}

#fixed_pc_cont .right_cont .innerbox nav ul.snsnav li{
	width:calc(25% - 5px);
	max-width: 30px;
	display: flex;
	align-items: center;
}

#fixed_pc_cont .right_cont .innerbox nav ul.snsnav a{
	width:100%;
	max-width: 30px;
	display: block;
	white-space: nowrap;
}

#fixed_pc_cont .right_cont .innerbox nav ul.snsnav a figure{
	width:100%;
	display: block;
}

#fixed_pc_cont .right_cont .innerbox nav ul.subnav{
	width:100%;
	display: flex;
	justify-content: center;
}

#fixed_pc_cont .right_cont .innerbox nav ul.subnav li{
	padding:0 10px;
	border-left:1px solid #4d4693;
}

#fixed_pc_cont .right_cont .innerbox nav ul.subnav li:first-child{
	border:none;
}

#fixed_pc_cont .right_cont .innerbox nav ul.subnav li{
	padding:0 10px;
}

#fixed_pc_cont .right_cont .innerbox nav ul.subnav li a{
	display: block;
	color:#4d4693;
	white-space: nowrap;
}

.menu {
  display: none;
  align-items: center;
  justify-content: center;
  position: relative;
  margin: 0 0 0 0;
  cursor: pointer;
  position: fixed;
  top:calc(40px + 2.5%);
  left:calc(50% + (max(50vw,500px) / 2) - 70px);
  border-radius: 50%;
	background:#fff;
	width:50px;
	height: 50px;
	z-index: 10;
}

.menu.active {
  background:none;
}

.menu-trigger,.menu-trigger span {
  display: inline-block;
  transition: all .4s;
  box-sizing: border-box;
  cursor: pointer;
  z-index: 2;
}

.menu-trigger {
  position: relative;
  width: 35px;
  height: 11px;
  z-index: 5;
}
.menu-trigger span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #4d4693;
  border-radius: 0px;
}
.menu-trigger span:nth-of-type(1) {
  top: 0;
}
.menu-trigger span:nth-of-type(2) {
 opacity: 0;
}
.menu-trigger span:nth-of-type(3) {
  bottom: 0;
}
.menu-trigger.active span:nth-of-type(1) {
  -webkit-transform: translateY(5.5px) rotate(45deg);
  transform: translateY(5.5px) rotate(45deg);
  background-color: #4d4693 !important;
}
.menu-trigger.active span:nth-of-type(2) {
  opacity: 0;
}
.menu-trigger.active span:nth-of-type(3) {
  -webkit-transform: translateY(-5.5px) rotate(-45deg);
  transform: translateY(-5.5px) rotate(-45deg);
  width: 100% !important;
  margin: 0 0 0 0;
  background-color: #4d4693 !important;
}

@media screen and (max-width:968px) {

	.menu {
  		display: flex;
	}
	
	#fixed_pc_cont .left_cont{
		display: none;
	}
	
	#fixed_pc_cont .right_cont .innerbox .headill{
		display: none;
	}
	
	#fixed_pc_cont .right_cont .innerbox button#pagetop{
		display: none;
	}
	
	#fixed_pc_cont .right_cont .innerbox{
		margin-top:0;
	}
	
	#fixed_pc_cont .right_cont{
		position:fixed;
		top:0;
		left:0;
		width:100lvw;
		height:100lvh;
		background-image:url("/images/fixed_bg.png");
		background-repeat: no-repeat;
		background-size: cover;
		background-position: 50% 50%;
		display: flex;
		justify-content: center;
		align-items: center;
		z-index: 13;
		visibility: hidden;
		opacity: 0;
	}
	
	#fixed_pc_cont .right_cont.active{
		visibility: visible;
		opacity: 1;
	}
	
	#fixed_pc_cont .right_cont .innerbox nav ul.linknav a{
		padding:min(3vw,15px);
		border-bottom:1px solid #fff;
		color:#4d4693;
		text-align: center;
		display: block;
		position: relative;
	}
	
	#fixed_pc_cont .right_cont .innerbox nav ul.snsnav{
		width:100%;
		max-width: 220px;
		display: flex;
		justify-content: space-around;
		padding:0 min(4vw,20px);
		margin: min(4vw,20px) auto;
	}
	
	#fixed_pc_cont .right_cont .bottomlink{
		display: block;
		width:min(24vw,120px);
		margin:min(8vw,40px) auto 0;
	}

}

/*main*/
main{
	max-width: 500px;
	width:100vw;
	margin:0 auto;
	position: relative;
	z-index: 2;
	padding:40px 0;
	transition: all 0.3s;
	opacity: 1;
    visibility: visible;
}

main.hidden{
	opacity: 0;
    visibility: hidden;
}

@media screen and (min-width:969px) {
	main{
		opacity:1 !important;
		visibility: visible !important;
	}
}

main #main_container{
	border-radius: 20px;
	box-shadow: 10px 10px 20px rgba(0,0,0,0.2);
	overflow: hidden;
}

/*mainvisual*/
.mainvisual{
	width:100%;
	background-image:url("/images/main_visual.png");
	background-repeat: no-repeat;
	background-size: 100%;
	background-position: center bottom;
	height: 780px;
	padding:max(10%,50px);
	display: flex;
	justify-content: space-between;
	position: relative;
	z-index: 2;
}

.main_white{
	position: relative;
	z-index: 2;
}

.main_white::before{
	content: "";
	position: absolute;
	bottom:100%;
	left:0;
	background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMjgwIDEwMCIgd2lkdGg9IjEwMCUiPiA8cGF0aCBkPSJNIC05NjAgMTAwIFEgLTgwMCAxMDAgLTY0MCA1MCBRIC0zMjAgLTUwIDAgNTAgUSAxNjAgMTAwIDMyMCAxMDAgUSA0ODAgMTAwIDY0MCA1MCBRIDk2MCAtNTAgMTI4MCA1MCBRIDE0NDAgMTAwIDE2MDAgMTAwIEwgMTI4MCAxMDAgTCAwIDEwMCBaIiBmaWxsPSIjZmZmZmZmIj48L3BhdGg+PC9zdmc+");
	background-repeat: no-repeat;
	background-size: 100%;
	width:100%;
	height:min(7.7vw,38px);
}

.main_white::after{
	content: "";
	position: absolute;
	top:0;
	left:0;
	width:100%;
	height:calc(100% - 10%);
	background:#fff;
	z-index: 1;
}

.mainbottom_ph{
	margin-top:max(-7.7vw,-38px);
	z-index: 1;
}

@media screen and (max-width:500px) {
  .mainvisual{
	  height: 156vw;
	  padding:10%;
  }
	
  .menu {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  margin: 0 0 0 0;
  cursor: pointer;
  position: fixed;
  top:2.5%;
  left:auto;
  right:2.5%;
  border-radius: 50%;
	background:#fff;
	width:50px;
	height: 50px;
	z-index: 10;
}
}

.mainvisual .title_area{
	width:62.5%;
	position: relative;
	z-index: 2;
}

.mainvisual .title_area .subtl span{
	border-radius: 5px;
	background:#4d4693;
	position: relative;
	color:#fff;
	margin:0 0 max(0.3vw,15px) 0;
	padding:max(0.05vw,5px) max(0.1vw,10px);
	display: inline-block;
}

.mainvisual .title_area .subtl span::after{
	content: "";
	width: 0;
  	height: 0;
  	border-style: solid;
  	border-right: 5px solid transparent;
  	border-left: 5px solid transparent;
  	border-top: 5px solid #4d4693;
  	border-bottom: 0;
	position: absolute;
	top:100%;
	left:calc(50% - 5px);
}

.mainvisual .title_area h1{
	margin:0 0 max(0.4vw,20px) 0;
}

.mainvisual .title_area h1 figure{
	width:100%;
}

.mainvisual .subtitle_area{
	width:37.5%;
	display: flex;
	position: relative;
	z-index: 2;
}

.mainvisual .subtitle_area h2{
	writing-mode: vertical-rl;
	line-height:2em;
	margin:0 0 0 auto;
}

.mainvisual .subtitle_area h2 span{
	color:#fff;
	background: linear-gradient(0deg, rgba(75,156,225,1) 0%, rgba(105,103,163,1) 100%);
	padding:0.5em 0.3em;
	line-height: 1;
	display:inline;
	margin:0 0 0 5px;
}

.inner_container{
	width:100%;
	position: relative;
}

.innerbox_cont{
	width:100%;
	padding:0 min(10%,50px);
	position: relative;
}

.innerbox_cont_type2{
	width:100%;
	padding:0 min(5%,20px);
	position: relative;
}

.innerbox_cont.po_absolute{
	position: absolute;
	top:0;
	left:0;
	width:100%;
}

.text_ill_flexbox{
	display: flex;
	justify-content: space-between;
}

.text_ill_flexbox figure{
	filter: drop-shadow(3px 3px 3px rgba(0,0,0,0.2));
	width:calc((100% - min(6vw,30px)) / 3 );
}

.patent_flexbox{
	display: flex;
	justify-content: space-between;
}

.patent_flexbox .txbox{
	width:calc(75% - min(2vw,10px));
}

.patent_flexbox .txbox .tl{
	margin-left:min(18vw,90px)
}

.patent_flexbox figure{
	width:25%;
}

.text_table{
	border-collapse: collapse;
}

.table_border{
	padding:min(4vw,20px);
	border:1px solid #000;
}

.table_bgwhite{
	padding:min(1vw,5px) min(2vw,10px);
	background:#fff;
}

.text_table td{
	vertical-align: top;
}

.text_table td:first-child{
	white-space: nowrap;
}

.text_table td:nth-child(2){
	padding:0 min(1vw,5px);
}

figure.caption{
	position: relative;
}

figure.caption figcaption{
	position: absolute;
	width:100%;
	bottom:min(4vw,20px);
	lef:0;
}

button.modalbtn{
	width:62.5%;
	max-width: 250px;
	margin-left:auto;
	margin-right:auto;
	display: block;
	will-change: auto;
	transform: translate3d(0, 0, 0);
}

ol.num{
	list-style: none;
	counter-reset: number 0;
}

ol.num li::before{
	counter-increment: number 1;
  	content: counter(number) ". ";
	color:#4d4693;
}

.caution_tx{
	display: flex;
	justify-content: space-between;
}

.caution_tx::before{
	content: "";
	display: flex;
	width:16%;
	max-width: 65px;
	max-height: 65px;
	background-image: url("/images/caution_icon.svg");
	background-repeat: no-repeat;
	background-size: contain;
}

.scroll_box{
	width:calc(100% + 11%);
	margin-left:-5.5%;
	padding-bottom:5.5%;
	/* IE, Edge 対応 */
 	/*-ms-overflow-style: none;*/
 	/* Firefox 対応 */
 	/*scrollbar-width: none;*/
}

/* Chrome, Safari 対応 */
/*.scroll_box::-webkit-scrollbar {
 display:none;
}*/

.scroll_box .scroll_inbox{
	width:min(150vw,750px);
	padding:0 5%;
}

.scroll_box .simplebar-track{
	margin:0 5%;
	background: #e0e0e0;
}

.simplebar-track.simplebar-horizontal{
	height: 2px !important;
}

.scroll_box .simplebar-scrollbar::before{
	height: 2px;
	background: #2286bd;
	border-radius: 0;
	left:0 !important;
	right:0 !important;
	top:0;
	bottom:0;
	opacity: 1;
}

.simplebar-track.simplebar-horizontal .simplebar-scrollbar{
  right: auto;
  left: 0 !important;
  top: 0 !important;
  height: 2px !important;
  min-height: 0;
  min-width: 2px !important;
  width: auto;
}

.scroll_box .scroll_inbox.w900{
	width:min(180vw,900px);
}

.scroll_box2{
	overflow: hidden !important;
	padding:min(10vw,50px) 0 0 0;
}

.scroll_box2 .scroll_inbox.w900{
	width:min(180vw,900px);
}

.bubble{
	position: relative;
}

.bubble .inbubble{
	max-width: 105px;
	width:26%;
	position: absolute;
	bottom:0;
	left:-2.5%;
}

.info_flexbox{
	display: flex;
	justify-content: space-between;
}

.info_flexbox .leftcont{
	width:47%;
	padding-right: min(6vw,30px);
	white-space: nowrap;
}

.info_flexbox .leftcont figure{
}

.info_flexbox .rightcont{
	width:53%;
}

.box_flex{
	display: flex;
	justify-content: space-between;
	padding:0 min(6vw,30px);
}

.box_flex .box{
	width:calc((100% - min(9vw,40px)*2) / 3);
	background:#fff;
	box-shadow: 4px 4px 4px rgba(0,0,0,0.2);
	border-top-left-radius: 250px;
	border-top-right-radius:250px;
	border-bottom-left-radius: 20px;
	border-bottom-right-radius: 20px;
	padding:min(10vw,50px) min(4vw,20px) min(4vw,20px);
	display: flex;
	flex-direction:column;
}

.box_flex .box figure{
	margin-top:auto;
}

.number_box{
	position: relative;
}

.number_box::after{
	content: "";
	width:calc(100% - min(10vw,50px));
	height: 100%;
	position: absolute;
	top:0;
	right:0;
	z-index: 1;
	background: linear-gradient(90deg, rgba(77,70,147,0.5) 0%, rgba(77,70,147,0) 100%);
	display: block;
	border-top-left-radius: min(19vw,80px);
	
}

.number_box .box{
	display: flex;
	justify-content: space-between;
	z-index: 2;
	position: relative;
	padding: 10% 5%;
}

.number_box .box .num{
	width:min(24vw,130px);
	position: relative;
	top:-0.2em;
}

.number_box .box .txbox{
	width:calc(100% - min(24vw,130px));
}

.youtube{
	aspect-ratio: 16 / 9;
	position: relative;
}

.youtube iframe{
	position: absolute;
	top:0;
	left:0;
	width:100%;
	height: 100%;
}

.voicebox{
	padding-bottom:min(4vw,20px);
	margin-bottom:min(4vw,20px);
	border-bottom:3px dotted #000;
}

.voicebox .voice_flex{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

.voicebox .voice_flex p{
	width:70%;
}

.voicebox .voice_flex figure{
	width:22%;
}

.price_cont{
	background:#fff;
	border-radius: 10px;
	box-shadow: 7px 7px 7px rgba(0,0,0,0.2);
}

.price_cont .head{
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
	background:#b12e2a;
	padding:min(2vw,10px);
	border-top-left-radius: 10px;
	border-top-right-radius: 10px;
}

.price_cont .head .border{
	border:1px solid #fff;
	margin-right:min(2vw,10px);
	display: inline-block;
	padding:3px 5px;
}

.price_cont .titlebox{
	position: relative;
	background:#9c8d57;
}

.price_cont .titlebox.head_radius{
	border-top-left-radius: 10px;
	border-top-right-radius: 10px;
}

.price_cont .titlebox figure.off_icon01{
	width:min(27vw,135px);
	position: absolute;
	right:-10%;
	top:calc(100% - min(7vw,35px));
	z-index: 2;
}

.price_cont .titlebox figure.off_icon02{
	width:min(22vw,114px);
	position: absolute;
	right:-10%;
	top:calc(100% - min(14vw,65px));
	z-index: 2;
}

.price_cont .titlebox figure.off_icon01 img,
.price_cont .titlebox figure.off_icon02 img{

	animation: leftright 2s;
	animation-delay: 0s;
	animation-timing-function: ease-in-out;
	animation-fill-mode:both;
	animation-iteration-count:infinite;
	position: relative;
}

.price_cont .titlebox figure{
	width:min(27vw,135px);
	position: absolute;
	right:-10%;
	top:calc(100% - min(7vw,35px));
	z-index: 2;
}

.price_cont .titlebox::after{
	content: "";
	position: absolute;
	top:100%;
	left:0;
	background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMjgwIDEwMCIgd2lkdGg9IjEwMCUiPiA8cGF0aCBkPSJNIC02NDAgMCBRIC0zMjAgMCAwIDEwMCBRIDMyMCAwIDY0MCAwIFEgOTYwIDAgMTI4MCAxMDAgUSAxNjAwIDAgMTkyMCAwIEwgMTI4MCAwIEwgMCAwIFoiIGZpbGw9IiM5YzhkNTciPjwvcGF0aD48L3N2Zz4=");
	background-repeat: no-repeat;
	background-size: 100%;
	width:100%;
	height:min(7.7vw,38px);
	z-index: 1;
}

.price_cont .white_bgbox{
	padding:5%;
}

.price_cont .yellow_bgbox{
	background:#9c8d57;
}

.price_cont .white_bgbox.border{
	border-top:1px solid #aaa2c8;
	border-bottom:1px solid #aaa2c8;
}

.price_cont .white_bgbox .border_tx{
	padding:0 0 3px 0;
	display: inline-block;
	border-bottom:1px solid #4d4693;
}

.price_cont .white_bgbox .flex_tx{
	display: flex;
	flex-wrap: wrap;
	padding:min(1vw,5px);
}

.price_cont .white_bgbox .flex_tx p{
	width:50%;
}

.price_cont .white_bgbox .num_box .box{
	width:100%;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	position: relative;
}

.price_cont .white_bgbox .num_box .box::after{
	content: "";
	width:min(13vw,60px);
	height:min(19vw,90px);
	background-image: url("/images/ph19.png");
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
	top:0;
	right:max(-6.5%,-25px);
}

.price_cont .white_bgbox .num_box .box:nth-child(1)::after{
	content: "";
	width:min(7.4vw,37px);
	height:min(7.4vw,37px);
	background-image: url("/images/ph19b.png");
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
	top:max(1%,10px);
	right:0;
}

.price_cont .white_bgbox .num_box .box:nth-child(2)::after{
	display: none;
}

.price_cont .white_bgbox .num_box .box figure{
	width:min(20vw,100px);
	padding:0 min(5%,20px);
}

.price_cont .white_bgbox .num_box .box .txbox{
	width:calc(100% - min(20vw,100px));
}

.price_cont .white_bgbox .num_box .box .txbox .border{
	position: relative;
	display: inline-block;
}

.price_cont .white_bgbox .num_box .box .txbox .border span{
	position: relative;
	z-index: 2;
}

.price_cont .white_bgbox .num_box .box .txbox .border::before{
	content: "";
	position: absolute;
	bottom:-3px;
	background: linear-gradient(90deg, rgba(214,208,223,1) 0%, rgba(163,150,183,1) 100%);
	width:100%;
	left:0;
	height: min(1.6vw,8px);
}

.price_cont .white_bgbox .bubble_box{
	background:#e9e6da;
	padding:min(4vw,20px);
	border-radius: 10px;
	position: relative;
}

.price_cont .white_bgbox .bubble_box::before{
	content: "";
  	width: 0;
  	height: 0;
  	border-style: solid;
  	border-right: min(3.5vw,17px) solid transparent;
  	border-left: min(3.5vw,17px) solid transparent;
  	border-top: min(4vw,20px) solid #e9e6da;
  	border-bottom: 0;
	display: block;
	position: absolute;
	top:100%;
	left:calc(50% - min(4vw,20px));
}

.price_cont .white_bgbox .patch_box{
	padding:min(4vw,20px) 0;
	border-top:1px solid #c8bfa1;
}

.price_cont .white_bgbox .patch_box.border_topnone{
	padding:min(4vw,20px) 0;
	border-top:none;
}

.price_cont .white_bgbox .patch_box.border_bottom{
	border-bottom:1px solid #c8bfa1;
}

.price_cont .white_bgbox .patch_box .price_tx::after{
	content: "";
	width:min(6vw,30px);
	height:min(6.6vw,36px);
	background-image:url("/images/souryou.svg");
	background-repeat: no-repeat;
	background-size: contain;
	display: inline-block;
	margin:0 0 0 min(0.5vw,10px);
	vertical-align: bottom;
	position: relative;
	top:0.5em;
}

.arrow_tx{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.arrow_tx::after{
	content: "";
	width:1em;
	height: 1em;
	background-image:url("/images/white_arrow.svg");
	background-repeat: no-repeat;
	background-size: contain;
	display: block;
	margin-top:min(3vw,15px);
}

.qatl{
	width:min(28vw,140px);
	margin:0 auto;
}

.gray_flex{
	display: flex;
	width:100%;
	border:1px solid #b2b2b2;
}

.gray_flex p{
	width:35%;
	background:#b2b2b2;
	padding:0.5em 1.5em;
}

.gray_flex p:nth-child(2){
	background:#fff;
	width:65%;
}

dl.qa_cont{
	border-radius: 10px;
	overflow: hidden;
}

dl.qa_cont dt{
	display: flex;
	justify-content: space-between;
	position: relative;
	padding:min(2vw,10px) min(4vw,20px);
	background:#fff;
	cursor: pointer;
}

dl.qa_cont dt::after{
	content: "";
	display: inline-block;
  	width: 12px;
  	height: 12px;
  	margin: 0 0;
  	border-bottom: 1px solid #82478f;
  	border-right: 1px solid #82478f;
  	transform: rotate(45deg);
	position: absolute;
	right:min(4vw,20px);
	top:calc(50% - 7px);
}

dl.qa_cont dt.active::after{
	content: "";
	display: inline-block;
  	width: 12px;
  	height: 12px;
  	margin: 0 0;
  	border-bottom: 1px solid #82478f;
  	border-right: 1px solid #82478f;
  	transform: rotate(-135deg);
	position: absolute;
	right:min(4vw,20px);
	top:calc(50% - 7px);
}

dl.qa_cont dt span:nth-child(1){
	width:min(10vw,50px);
}

dl.qa_cont dt span:nth-child(2){
	width:calc(100% - min(10vw,50px));
	padding:0 min(4vw,20px);
	border-left:1px solid #82478f;
	display: flex;
  	align-items: center;
}

dl.qa_cont dd{
	display: none;
}

dl.qa_cont dd .inbox{
	display: flex;
	justify-content: space-between;
	position: relative;
	padding:min(2vw,10px) min(4vw,20px);
	background:#f7e8f6;
}

dl.qa_cont dd span:nth-child(1){
	width:min(10vw,50px);
}

dl.qa_cont dd span:nth-child(2){
	width:calc(100% - min(10vw,50px));
	padding:0 0 0 min(4vw,20px);
	border-left:1px solid #82478f;
}

.bottom_ph{
	margin-top:max(-7.8vw,-38px);
	position: relative;
	z-index: 2;
}

footer{
	margin-top:max(-7.8vw,-38px);
	background:#4d4693;
}

footer #pagetop2{
	display: block;
	width:min(10vw,50px);
}

footer .main_logo{
	filter: brightness(0) invert(1);
	width:min(41vw,207px);
	margin:0 auto;
}

footer .linebubble.active{
	animation: linelink 1s;
	animation-delay: 0s;
	animation-timing-function: ease-out;
	animation-fill-mode: forwards;
	position: relative;
}

footer .line_link{
	width:min(41vw,207px);
	display: block;
}

footer ul.snsnav{
	width:100%;
	max-width: 220px;
	display: flex;
	justify-content: space-around;
	margin:40px auto;
}

footer ul.snsnav li{
	width:calc(25% - min(1vw,5px));
	max-width: min(6vw,30px);
	display: flex;
	align-items: center;
}

footer ul.snsnav a{
	width:100%;
	max-width: min(6vw,30px);
	display: block;
	white-space: nowrap;
}

footer ul.snsnav a figure{
	width:100%;
	display: block;
	filter: brightness(0) invert(1);
}

footer ul.subnav{
	width:100%;
	display: flex;
	justify-content: center;
}

footer ul.subnav li{
	padding:0 10px;
	border-left:1px solid #fff;
}

footer ul.subnav li:first-child{
	border:none;
}

footer ul.subnav li{
	padding:0 10px;
}

footer ul.subnav li a{
	display: block;
	color:#fff;
	white-space: nowrap;
}

.copy{
	padding:min(5vw,25px) 0;
}
/*gradation_box*/
.gradation_box_type1{
	background: linear-gradient(90deg, rgba(255,209,255,0.7) 0%, rgba(185,190,241,0.7) 100%);
	margin-top:-0.5px;
	margin-bottom:min(7.6vw,37px);
	z-index: 1;
	position: relative;
}

.gradation_box_type1.wave::before{
	content: "";
	position: absolute;
	bottom:100%;
	left:0;
	background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMjgwIDEwMCIgd2lkdGg9IjEwMCUiPiA8ZGVmcz4gPGxpbmVhckdyYWRpZW50IGlkPSJ3YXZlLTE3MzkyNjUxMTQwNzEiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iMTI4MCIgeTE9IjAiIHgyPSIwIiB5Mj0iMCI+IDxzdG9wIG9mZnNldD0iMCUiIHN0b3AtY29sb3I9IiNiOWJlZjEiLz4gPHN0b3Agb2Zmc2V0PSIxMDAlIiBzdG9wLWNvbG9yPSIjZmZkMWZmIi8+IDwvbGluZWFyR3JhZGllbnQ+IDwvZGVmcz4gPHBhdGggZD0iTSAtOTYwIDEwMCBRIC04MDAgMTAwIC02NDAgNTAgUSAtMzIwIC01MCAwIDUwIFEgMTYwIDEwMCAzMjAgMTAwIFEgNDgwIDEwMCA2NDAgNTAgUSA5NjAgLTUwIDEyODAgNTAgUSAxNDQwIDEwMCAxNjAwIDEwMCBMIDEyODAgMTAwIEwgMCAxMDAgWiIgZmlsbD0idXJsKCN3YXZlLTE3MzkyNjUxMTQwNzEpIj48L3BhdGg+PC9zdmc+");
	background-repeat: no-repeat;
	background-size: 100%;
	width:100%;
	height:min(7.7vw,38px);
	opacity: 0.7;
}

.gradation_box_type1.wave::after{
	content: "";
	position: absolute;
	top:100%;
	left:0;
	background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMjgwIDEwMCIgd2lkdGg9IjEwMCUiPiA8ZGVmcz4gPGxpbmVhckdyYWRpZW50IGlkPSJ3YXZlLTE3MzkyNTMzNTI1MjIiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iMCIgeTE9IjAiIHgyPSIxMjgwIiB5Mj0iMCI+IDxzdG9wIG9mZnNldD0iMCUiIHN0b3AtY29sb3I9IiNiOWJlZjEiLz4gPHN0b3Agb2Zmc2V0PSIxMDAlIiBzdG9wLWNvbG9yPSIjZmZkMWZmIi8+IDwvbGluZWFyR3JhZGllbnQ+IDwvZGVmcz4gPHBhdGggZD0iTSAtOTYwIDEwMCBRIC04MDAgMTAwIC02NDAgNTAgUSAtMzIwIC01MCAwIDUwIFEgMTYwIDEwMCAzMjAgMTAwIFEgNDgwIDEwMCA2NDAgNTAgUSA5NjAgLTUwIDEyODAgNTAgUSAxNDQwIDEwMCAxNjAwIDEwMCBMIDEyODAgMTAwIEwgMCAxMDAgWiIgZmlsbD0idXJsKCN3YXZlLTE3MzkyNTMzNTI1MjIpIj48L3BhdGg+PC9zdmc+");
	background-repeat: no-repeat;
	background-size: 100%;
	width:100%;
	height:min(7.7vw,38px);
	opacity: 0.7;
	transform: rotate(180deg);
}

.gradation_box_type1.wavetop_none::before{
	display: none;
}

.gradation_box_type2{
	background: linear-gradient(-90deg, rgba(255,209,255,0.7) 0%, rgba(185,190,241,0.7) 100%);
	margin-top:-0.5px;
	margin-bottom:min(7.6vw,37px);
	z-index: 1;
	position: relative;
}

.gradation_box_type2.wave::before{
	content: "";
	position: absolute;
	bottom:100%;
	left:0;
	background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMjgwIDEwMCIgd2lkdGg9IjEwMCUiPiA8ZGVmcz4gPGxpbmVhckdyYWRpZW50IGlkPSJ3YXZlLTE3MzkyNTMzNTI1MjIiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iMCIgeTE9IjAiIHgyPSIxMjgwIiB5Mj0iMCI+IDxzdG9wIG9mZnNldD0iMCUiIHN0b3AtY29sb3I9IiNiOWJlZjEiLz4gPHN0b3Agb2Zmc2V0PSIxMDAlIiBzdG9wLWNvbG9yPSIjZmZkMWZmIi8+IDwvbGluZWFyR3JhZGllbnQ+IDwvZGVmcz4gPHBhdGggZD0iTSAtOTYwIDEwMCBRIC04MDAgMTAwIC02NDAgNTAgUSAtMzIwIC01MCAwIDUwIFEgMTYwIDEwMCAzMjAgMTAwIFEgNDgwIDEwMCA2NDAgNTAgUSA5NjAgLTUwIDEyODAgNTAgUSAxNDQwIDEwMCAxNjAwIDEwMCBMIDEyODAgMTAwIEwgMCAxMDAgWiIgZmlsbD0idXJsKCN3YXZlLTE3MzkyNTMzNTI1MjIpIj48L3BhdGg+PC9zdmc+");
	background-repeat: no-repeat;
	background-size: 100%;
	width:100%;
	height:min(7.7vw,38px);
	opacity: 0.7;
}

.gradation_box_type2.wave::after{
	content: "";
	position: absolute;
	top:100%;
	left:0;
	background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMjgwIDEwMCIgd2lkdGg9IjEwMCUiPiA8ZGVmcz4gPGxpbmVhckdyYWRpZW50IGlkPSJ3YXZlLTE3MzkyNjUxMTQwNzEiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iMTI4MCIgeTE9IjAiIHgyPSIwIiB5Mj0iMCI+IDxzdG9wIG9mZnNldD0iMCUiIHN0b3AtY29sb3I9IiNiOWJlZjEiLz4gPHN0b3Agb2Zmc2V0PSIxMDAlIiBzdG9wLWNvbG9yPSIjZmZkMWZmIi8+IDwvbGluZWFyR3JhZGllbnQ+IDwvZGVmcz4gPHBhdGggZD0iTSAtOTYwIDEwMCBRIC04MDAgMTAwIC02NDAgNTAgUSAtMzIwIC01MCAwIDUwIFEgMTYwIDEwMCAzMjAgMTAwIFEgNDgwIDEwMCA2NDAgNTAgUSA5NjAgLTUwIDEyODAgNTAgUSAxNDQwIDEwMCAxNjAwIDEwMCBMIDEyODAgMTAwIEwgMCAxMDAgWiIgZmlsbD0idXJsKCN3YXZlLTE3MzkyNjUxMTQwNzEpIj48L3BhdGg+PC9zdmc+");
	background-repeat: no-repeat;
	background-size: 100%;
	width:100%;
	height:min(7.7vw,38px);
	opacity: 0.7;
	transform: rotate(180deg);
}

.gradation_box_type3{
	background: linear-gradient(90deg, rgba(195,240,252,0.7) 0%, rgba(255,255,255,0.7) 100%);
	margin-top:-0.5px;
	margin-bottom:min(7.6vw,37px);
	z-index: 1;
	position: relative;
}

.gradation_box_type3.wave::before{
	content: "";
	position: absolute;
	bottom:100%;
	left:0;
	background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMjgwIDEwMCIgd2lkdGg9IjEwMCUiPiA8ZGVmcz4gPGxpbmVhckdyYWRpZW50IGlkPSJ3YXZlLTE3MzkyOTgzMzk1NjQiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iMCIgeTE9IjAiIHgyPSIxMjgwIiB5Mj0iMCI+IDxzdG9wIG9mZnNldD0iMCUiIHN0b3AtY29sb3I9IiNjM2YwZmMiLz4gPHN0b3Agb2Zmc2V0PSIxMDAlIiBzdG9wLWNvbG9yPSIjZmZmZmZmIi8+IDwvbGluZWFyR3JhZGllbnQ+IDwvZGVmcz4gPHBhdGggZD0iTSAtOTYwIDEwMCBRIC04MDAgMTAwIC02NDAgNTAgUSAtMzIwIC01MCAwIDUwIFEgMTYwIDEwMCAzMjAgMTAwIFEgNDgwIDEwMCA2NDAgNTAgUSA5NjAgLTUwIDEyODAgNTAgUSAxNDQwIDEwMCAxNjAwIDEwMCBMIDEyODAgMTAwIEwgMCAxMDAgWiIgZmlsbD0idXJsKCN3YXZlLTE3MzkyOTgzMzk1NjQpIj48L3BhdGg+PC9zdmc+");
	background-repeat: no-repeat;
	background-size: 100%;
	width:100%;
	height:min(7.7vw,38px);
	opacity: 0.7;
}

.gradation_box_type3.wave::after{
	content: "";
	position: absolute;
	top:100%;
	left:0;
	background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMjgwIDEwMCIgd2lkdGg9IjEwMCUiPiA8ZGVmcz4gPGxpbmVhckdyYWRpZW50IGlkPSJ3YXZlLTE3MzkyOTg0MjE2MTUiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iMTI4MCIgeTE9IjAiIHgyPSIwIiB5Mj0iMCI+IDxzdG9wIG9mZnNldD0iMCUiIHN0b3AtY29sb3I9IiNjM2YwZmMiLz4gPHN0b3Agb2Zmc2V0PSIxMDAlIiBzdG9wLWNvbG9yPSIjZmZmZmZmIi8+IDwvbGluZWFyR3JhZGllbnQ+IDwvZGVmcz4gPHBhdGggZD0iTSAtOTYwIDEwMCBRIC04MDAgMTAwIC02NDAgNTAgUSAtMzIwIC01MCAwIDUwIFEgMTYwIDEwMCAzMjAgMTAwIFEgNDgwIDEwMCA2NDAgNTAgUSA5NjAgLTUwIDEyODAgNTAgUSAxNDQwIDEwMCAxNjAwIDEwMCBMIDEyODAgMTAwIEwgMCAxMDAgWiIgZmlsbD0idXJsKCN3YXZlLTE3MzkyOTg0MjE2MTUpIj48L3BhdGg+PC9zdmc+");
	background-repeat: no-repeat;
	background-size: 100%;
	width:100%;
	height:min(7.7vw,38px);
	opacity: 0.7;
	transform: rotate(180deg);
}

.gradation_box_type4{
	background: linear-gradient(90deg, rgba(75,156,225,0.7) 0%, rgba(105,103,163,0.7) 100%);
	margin-top:-0.5px;
	margin-bottom:min(7.6vw,37px);
	z-index: 1;
	position: relative;
}

.gradation_box_type4.wavetop_none::before{
	display: none;
}

.gradation_box_type4.wave::before{
	content: "";
	position: absolute;
	bottom:100%;
	left:0;
	background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMjgwIDEwMCIgd2lkdGg9IjEwMCUiPiA8ZGVmcz4gPGxpbmVhckdyYWRpZW50IGlkPSJ3YXZlLTE3MzkzMTE3Mzc0MDAiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iMCIgeTE9IjAiIHgyPSIxMjgwIiB5Mj0iMCI+IDxzdG9wIG9mZnNldD0iMCUiIHN0b3AtY29sb3I9IiM0YjljZTEiLz4gPHN0b3Agb2Zmc2V0PSIxMDAlIiBzdG9wLWNvbG9yPSIjNjk2N2EzIi8+IDwvbGluZWFyR3JhZGllbnQ+IDwvZGVmcz4gPHBhdGggZD0iTSAtOTYwIDEwMCBRIC04MDAgMTAwIC02NDAgNTAgUSAtMzIwIC01MCAwIDUwIFEgMTYwIDEwMCAzMjAgMTAwIFEgNDgwIDEwMCA2NDAgNTAgUSA5NjAgLTUwIDEyODAgNTAgUSAxNDQwIDEwMCAxNjAwIDEwMCBMIDEyODAgMTAwIEwgMCAxMDAgWiIgZmlsbD0idXJsKCN3YXZlLTE3MzkzMTE3Mzc0MDApIj48L3BhdGg+PC9zdmc+");
	background-repeat: no-repeat;
	background-size: 100%;
	width:100%;
	height:min(7.7vw,38px);
	opacity: 0.7;
}

.gradation_box_type4.wave::after{
	content: "";
	position: absolute;
	top:100%;
	left:0;
	background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMjgwIDEwMCIgd2lkdGg9IjEwMCUiPiA8ZGVmcz4gPGxpbmVhckdyYWRpZW50IGlkPSJ3YXZlLTE3MzkzMTE3Njg1NjAiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iMTI4MCIgeTE9IjAiIHgyPSIwIiB5Mj0iMCI+IDxzdG9wIG9mZnNldD0iMCUiIHN0b3AtY29sb3I9IiM0YjljZTEiLz4gPHN0b3Agb2Zmc2V0PSIxMDAlIiBzdG9wLWNvbG9yPSIjNjk2N2EzIi8+IDwvbGluZWFyR3JhZGllbnQ+IDwvZGVmcz4gPHBhdGggZD0iTSAtOTYwIDEwMCBRIC04MDAgMTAwIC02NDAgNTAgUSAtMzIwIC01MCAwIDUwIFEgMTYwIDEwMCAzMjAgMTAwIFEgNDgwIDEwMCA2NDAgNTAgUSA5NjAgLTUwIDEyODAgNTAgUSAxNDQwIDEwMCAxNjAwIDEwMCBMIDEyODAgMTAwIEwgMCAxMDAgWiIgZmlsbD0idXJsKCN3YXZlLTE3MzkzMTE3Njg1NjApIj48L3BhdGg+PC9zdmc+");
	background-repeat: no-repeat;
	background-size: 100%;
	width:100%;
	height:min(7.7vw,38px);
	opacity: 0.7;
	transform: rotate(180deg);
}

/*text_icon_box*/
.text_icon_purple{
	line-height: 1.6em;
	text-indent: -1.7em;
	padding-left: 1.7em;
}

.text_icon_purple::before{
	content: "";
	width:1.2em;
	height:1.2em;
	background-image: url("/images/text_icon01.svg");
	background-repeat: no-repeat;
	background-size: contain;
	display: inline-block;
	vertical-align: middle;
	margin:0 0.5em 0 0;
	position: relative;
	top:-0.1em;
}

.text_icon_blue{
	line-height: 1.6em;
	text-indent: -1.7em;
	padding-left: 1.7em;
}

.text_icon_blue::before{
	content: "";
	width:1.2em;
	height:1.2em;
	background-image: url("/images/text_icon02.svg");
	background-repeat: no-repeat;
	background-size: contain;
	display: inline-block;
	vertical-align: middle;
	margin:0 0.5em 0 0;
	position: relative;
	top:-0.1em;
}

.text_icon_lightblue{
	line-height: 1.6em;
	text-indent: -1.7em;
	padding-left: 1.7em;
}

.text_icon_lightblue::before{
	content: "";
	width:1.2em;
	height:1.2em;
	background-image: url("/images/text_icon03.svg");
	background-repeat: no-repeat;
	background-size: contain;
	display: inline-block;
	vertical-align: middle;
	margin:0 0.5em 0 0;
	position: relative;
	top:-0.1em;
}

.star_icon::before{
	content: "";
	width:0.65em;
	height:0.65em;
	background-image: url("/images/star_icon.svg");
	background-repeat: no-repeat;
	background-size: contain;
	display: inline-block;
	vertical-align: middle;
	margin:0 0.5em 0 0;
	position: relative;
	top:-0.1em;
}

.star_icon::after{
	content: "";
	width:0.65em;
	height:0.65em;
	background-image: url("/images/star_icon.svg");
	background-repeat: no-repeat;
	background-size: contain;
	display: inline-block;
	vertical-align: middle;
	margin:0 0 0 0.5em;
	position: relative;
	top:-0.1em;
}

.star_icon_blue::before{
	content: "";
	width:0.65em;
	height:0.65em;
	background-image: url("/images/star_icon_blue.svg");
	background-repeat: no-repeat;
	background-size: contain;
	display: inline-block;
	vertical-align: middle;
	margin:0 0.5em 0 0;
	position: relative;
	top:-0.1em;
}

.star_icon_white::before{
	content: "";
	width:0.65em;
	height:0.65em;
	background-image: url("/images/star_icon_white.svg");
	background-repeat: no-repeat;
	background-size: contain;
	display: inline-block;
	vertical-align: middle;
	margin:0 0.5em 0 0;
	position: relative;
	top:-0.1em;
}

.border_tl{
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.border_tl span{
	padding:0 min(4vw,20px);
	white-space: nowrap;
	display: block;
	line-height: 1;
}

.border_tl.b_purple::before{
	content: "";
	width:20%;
	border-bottom:1px solid #4d4693;
	display: block;
	position: relative;
	top:0.1em;
}

.border_tl.b_purple::after{
	content: "";
	width:20%;
	border-bottom:1px solid #4d4693;
	display: block;
	position: relative;
	top:0.1em;
}

.border_tl.b_white::before{
	content: "";
	width:28%;
	border-bottom:1px solid #fff;
	display: block;
	position: relative;
	top:0.1em;
}

.border_tl.b_white::after{
	content: "";
	width:28%;
	border-bottom:1px solid #fff;
	display: block;
	position: relative;
	top:0.1em;
}

/*white_wrap*/
.white_space_nowrap{
	white-space: nowrap;
}

/*flex*/
.flex_column{
	display: flex;
	flex-direction: column;
}

.flex_center{
	align-items: center;
	justify-content: center;
}

/*text-align*/
.text_right{
	text-align: right;
}

.text_center{
	text-align: center;
}

.text_left{
	text-align: left;
}

.tx-justify{
	text-align: justify;
}

.tx-lastjustify{
	text-align-last: justify;
}

.kome,.circle,.square{
	padding-left: 1em;
	position: relative;
}

.kome::before{
	content: "※";
	width:1em;
	height: 1em;
	position: absolute;
	top:0;
	left:0;
	display: inline-block;
}

.circle::before{
	content: "・";
	width:1em;
	height: 1em;
	position: absolute;
	top:0;
	left:0;
	display: inline-block;
}

.square::before{
	content: "";
	width:0.6em;
	height: 0.6em;
	background:#918044;
	transform: rotate(45deg);
	position: absolute;
	top:0.45em;
	left:0;
	display: inline-block;
}

/*width*/
.w70{
	width: 70%;
}

.w80{
	width: 80%;
}

.w90{
	width: 90%;
}

.w100{
	width: 100% !important;
}

.w105{
	width: 102.5%;
	left:0;
	position: relative;
}

/*padding*/
.pt20{
	padding-top:min(4vw,20px);
}

.pt30{
	padding-top:min(6vw,30px);
}

.pt40{
	padding-top:min(8vw,40px);
}

.pt80{
	padding-top:min(16vw,80px);
}

.pt100{
	padding-top:min(20vw,100px);
}

.pt120{
	padding-top:min(24vw,120px);
}

.pb30{
	padding-bottom:min(6vw,30px);
}

.pb50{
	padding-bottom:min(10vw,50px);
}

.pb70{
	padding-bottom:min(14vw,70px) !important;
}

.pb100{
	padding-bottom:min(20vw,100px);
}

.pb120{
	padding-bottom:min(24vw,120px);
}

.pb150{
	padding-bottom:min(30vw,150px);
}

.pb160{
	padding-bottom:min(32vw,160px);
}

.pb80{
	padding-bottom:min(16vw,80px);
}

.mtnum{
	margin-top:calc(max(-4vw,-20px) - 0.6em);
}

.mt10{
	margin-top:min(2vw,10px);
}

.mt40{
	margin-top:min(8vw,40px);
}

.mb5{
	margin-bottom:min(1vw,5px);
}

.mb10{
	margin-bottom:min(2vw,10px);
}

.mb15{
	margin-bottom:min(3vw,15px);
}

.mb20{
	margin-bottom:min(4vw,20px);
}

.mb30{
	margin-bottom:min(6vw,30px);
}

.mb40{
	margin-bottom:min(8vw,40px);
}

.mb50{
	margin-bottom:min(10vw,50px);
}

.mb60{
	margin-bottom:min(12vw,60px);
}

.mb80{
	margin-bottom:min(16vw,80px);
}

.mb100{
	margin-bottom:min(20vw,100px) !important;
}

.mb120{
	margin-bottom:min(24vw,120px);
}

.mb-lr_auto{
	margin-left: auto;
	margin-right: auto;
}

/*font-size*/
.fz11{
	font-size:min(2.2vw,11px);
}

.fz12{
	font-size:min(2.4vw,12px);
}

.fz13{
	font-size:min(2.6vw,13px);
}

.fz14{
	font-size:min(2.8vw,14px);
}

.fz16{
	font-size:min(3.2vw,16px);
}

.fz18{
	font-size:min(3.6vw,18px);
}

.fz20{
	font-size:min(4vw,20px);
}

.fz22{
	font-size:min(4.4vw,22px);
}

.fz26{
	font-size:min(5.2vw,26px);
}

.fz25{
	font-size:min(5vw,25px);
}

.fz28{
	font-size:min(7vw,28px);
}

.fz30{
	font-size:min(6vw,30px);
}

.fz32{
	font-size:min(6.4vw,32px);
}

.fz36{
	font-size:min(6.8vw,36px);
}

.fz50{
	font-size:min(10vw,50px);
}

.fz68{
	font-size:min(13.6vw,68px);
}

.fz90{
	font-size:min(18vw,90px);
}

/*font-size*/
.fw300{
	font-weight: 300;
}

.fw400{
	font-weight: 400;
}

.fw500{
	font-weight: 500;
}

.fw600{
	font-weight: 600;
}

.fw700{
	font-weight: 700;
}

/*letter-spacing*/
.ls0{
	letter-spacing:0; 
}

.ls50{
	letter-spacing:0.05em; 
}

.ls100{
	letter-spacing:0.1em; 
}

/*line-height*/
.lh140{
	line-height: 1.4em;
}

.lh170{
	line-height: 1.7em;
}

.lh200{
	line-height: 2em;
}

.lh250{
	line-height: 2.5em;
}

/*italic*/
.italic{
	font-style: italic;
}

/*color*/
.co_white{
	color:#fff;
}

.co_purple{
	color:#935abf;
}

.co_darkpurple{
	color:#4d4693;
}

.co_blue{
	color:#2286bd;
}

.co_lightblue{
	color:#d9ffff;
}

.co_yellow{
	color:#ffffd3;
}

.co_darkyellow{
	color:#966e5a;
}

.co_red{
	color:#b12e2a;
}

/*gradation_bg*/
.gradation_bg{
	display: inline-block;
	padding:0.3em 0.4em 0.4em 0.3em;
	background: linear-gradient(90deg, rgba(169,99,189,1) 0%, rgba(95,94,212,1) 100%);
}

.gradation_bg_type2{
	display: inline-block;
	padding:0.3em 0.4em 0.4em 0.3em;
	background: linear-gradient(90deg, rgba(76,122,192,1) 0%, rgba(101,77,151,1) 100%);
}

.gradation_bg_type3{
	display: inline-block;
	padding:0.3em 0.4em 0.4em 0.3em;
	background: linear-gradient(90deg, rgba(34,134,189,1) 0%, rgba(70,127,207,1) 100%) !important;
}

.gradation_bg_type4{
	display: inline-block;
	padding:0.3em 0.4em 0.4em 0.3em;
	background: linear-gradient(90deg, rgba(64,182,198,1) 0%, rgba(70,127,207,1) 100%);
}

h2 .gradation_bg{
	white-space: nowrap;
}

/*border-box*/
.border_box_blue span{
	border:1px solid #2286bd;
	padding:max(0.1vw,5px) max(0.5vw,25px);
	display: inline-block;
}

/*border-radiusbox*/
.border-radius_box{
	width:100%;
	border-radius: 10px;
	background:#fff;
	padding:5%;
}

.border-radius_box.pad{
	padding:10%;
}

.border-radius_box.bg_yellow{
	background:#ffffd3;
}

.border-radius_box.bg_yellow_op{
	background-color:rgba(255,255,211,0.8);
}

.border-radius_box.bg_blue{
	background:#deedf5;
	position: relative;
}

.border-radius_textbox{
	border-radius: 9999px;
	border:1px solid #000;
	padding:min(1.6vw,8px) max(0.4vw,20px);
	display: inline-block;
}

.border-radius_textbox_type2{
	border-radius: 9999px;
	padding:min(1.6vw,8px) max(1vw,50px);
	display: inline-block;
}

.border-radius_textbox_type3{
	border-radius: 9999px;
	padding:min(2.2vw,12px) max(0.4vw,20px);
	display: inline-block;
	width:100%;
}

.border-radius_textbox_type4{
	border-radius: 9999px;
	padding:min(1.6vw,8px) max(0.4vw,20px);
	display: inline-block;
	position: absolute;
	top:min(-1.1vw,-0.8em);
	left:min(7.5%,30px);
}

.border-radius_textbox_type5{
	background:#fff;
	border-radius: 9999px;
	padding:min(1.4vw,6px) max(0.4vw,20px);
	display: inline-block;
}

.border-radius_textbox_type6{
	border-radius: 9999px;
	border:1px solid #fff;
	padding:min(1vw,5px) max(0.2vw,10px);
	display: inline-block;
	width:100%;
}

.border-radius_textbox_tb_purple{
}

.border-radius_textbox_tb_purple::before{
	content: "";
	border-top-left-radius: 10px;
	border-top-right-radius: 10px;
	border:1px solid #935abf;
	border-bottom:none;
	height:min(4vw,20px);
	display: block;
}

.border-radius_textbox_tb_purple::after{
	content: "";
	border-bottom-left-radius: 10px;
	border-bottom-right-radius: 10px;
	border:1px solid #935abf;
	border-top:none;
	height:min(4vw,20px);
	display: block;
}

.border-radius_textbox_tb_blue{
}

.border-radius_textbox_tb_blue::before{
	content: "";
	border-top-left-radius: 10px;
	border-top-right-radius: 10px;
	border:1px solid #2286bd;
	border-bottom:none;
	height:min(4vw,20px);
	display: block;
}

.border-radius_textbox_tb_blue::after{
	content: "";
	border-bottom-left-radius: 10px;
	border-bottom-right-radius: 10px;
	border:1px solid #2286bd;
	border-top:none;
	height:min(4vw,20px);
	display: block;
}

.border-radius_textbox_tb_white{
}

.border-radius_textbox_tb_white::before{
	content: "";
	border-top-left-radius: 10px;
	border-top-right-radius: 10px;
	border:1px solid #fff;
	border-bottom:none;
	height:min(4vw,20px);
	display: block;
}

.border-radius_textbox_tb_white::after{
	content: "";
	border-bottom-left-radius: 10px;
	border-bottom-right-radius: 10px;
	border:1px solid #fff;
	border-top:none;
	height:min(4vw,20px);
	display: block;
}

.border-radius_h2{
	border-radius: 9999px;
	background:#fff;
	padding:min(6vw,25px) 0;
	display: inline-block;
	box-shadow: 7px 7px 7px rgba(0,0,0,0.2);
	width:100%;
	text-align: center;
}

/*hover*/

.hover_opacity{
	transition: opacity 0.3s;
	opacity: 1;
}

.hover_brightness{
	transition: filter 0.3s;
	filter: brightness(1);
}

@media (any-hover: hover) {
  .hover_opacity:hover{
	opacity: 0.7;
  }
	
  .hover_brightness:hover{
	filter: brightness(1.25);
  }
}


@media screen and (min-width:501px) {
  .pc_none {
    display: none !important;
  }
}

@media screen and (max-width:500px) {
  .sp_none {
    display: none !important;
  }
	
  main{
	max-width: 100vw;
	width:100vw;
	margin:0 auto;
	position: relative;
	z-index: 2;
	padding:0 0;
}
	
  main #main_container{
	border-radius: 0;
	box-shadow: none;
}
}


/*scroll_active*/
.scroll_active .box:last-child{
	margin-bottom: 0;
}

/*animation*/
.fadeTop,.fadeBottom,.fadeLeft,.fadeRight,.fadeIn{
	opacity: 0;
}

.fadeTop.active{
		animation: fadeTop 1s;
		animation-delay: 0s;
		animation-timing-function: ease-out;
		animation-fill-mode: forwards;
		position: relative;
	}

.fadeBottom.active{
		animation: fadeBottom 1s;
		animation-delay: 0s;
		animation-timing-function: ease-out;
		animation-fill-mode: forwards;
		position: relative;
	}

.fadeLeft.active{
		animation: fadeLeft 1s;
		animation-delay: 0s;
		animation-timing-function: ease-out;
		animation-fill-mode: forwards;
		position: relative;
	}

.fadeRight.active{
		animation: fadeRight 1s;
		animation-delay: 0s;
		animation-timing-function: ease-out;
		animation-fill-mode: forwards;
		position: relative;
	}
	
.fadeIn.active{
		animation: fadeIn 1s;
		animation-delay: 0s;
		animation-timing-function: ease-out;
		animation-fill-mode: forwards;
		position: relative;
	}

.movefirst{
	animation-duration: 0.3s !important;
}

@keyframes fadeTop {
  0% {
     top:20px;
	 opacity: 0;
  }
  100% {
    top:0;
	opacity: 1;
  }
}

@keyframes fadeBottom {
  0% {
     bottom:20px;
	 opacity: 0;
  }
  100% {
    bottom:0;
	opacity: 1;
  }
}

@keyframes fadeLeft {
  0% {
     left:-20px;
	 opacity: 0;
  }
  100% {
    left:0;
	opacity: 1;
  }
}

@keyframes fadeRight {
  0% {
     right:-20px;
	 opacity: 0;
  }
  100% {
    right:0;
	opacity: 1;
  }
}

@keyframes fadeIn {
  0% {
	 opacity: 0;
  }
  100% {
	opacity: 1;
  }
}

@keyframes linelink {
  0% {
	 opacity: 1;
	 left:0;
  }
	
  25% {
	 opacity: 1;
	 left:10px;
  }
	
  50% {
	 opacity: 1;
	 left:-10px;
  }
	
  100% {
	opacity: 1;
	 left:0;
  }
}

@keyframes leftright {
  0%, 100% {
    transform: translateX(0);
  }
  50% {
    transform: translateX(-10px);
  }
}

@keyframes rotate {
  0% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(360deg);
  }
}

/*--------------------------------------
	modal
--------------------------------------*/
.modal__overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.6);
  display: flex;
  justify-content: center;
  align-items: center;
	z-index: 10;
}

.modal__container {
  background-color: #fff;
  padding: 10px;
  width:95%;
  max-width: 700px;
  max-height: 100vh;
  border-radius: 0;
  overflow-y: auto;
  box-sizing: border-box;
}

@keyframes mmfadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes mmfadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}

@keyframes mmslideIn {
  from {
    transform: translateY(15%);
  }
  to {
    transform: translateY(0);
  }
}

@keyframes mmslideOut {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(-10%);
  }
}

.micromodal-slide {
  display: none;
}

.micromodal-slide.is-open {
  display: block;
}

.micromodal-slide[aria-hidden="false"] .modal__overlay {
  animation: mmfadeIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.micromodal-slide[aria-hidden="false"] .modal__container {
  animation: mmslideIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.micromodal-slide[aria-hidden="true"] .modal__overlay {
  animation: mmfadeOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.micromodal-slide[aria-hidden="true"] .modal__container {
  animation: mmslideOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.micromodal-slide .modal__container,
.micromodal-slide .modal__overlay {
  will-change: transform;
}