@charset "utf-8";
body {
	font: normal 18px/1.7 "Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","ＭＳ Ｐゴシック","メイリオ",Meiryo,Arial,Verdana,sans-serif;
	text-align: left;
	color:#000;
	text-align: justify;
	overflow-x: hidden;
}

body .sp-item {
    display: none !important; }
  body .pc-item {
    display: block !important; }
	
  @media screen and (max-width: 640px) {
    body {
      min-width: inherit; 
	  height:100%; 
	  }
      body .sp-item {
        display: block !important; }
      body .pc-item {
        display: none !important; } 
	  body .sp-item img {
		width:100%;}
}

@media screen and (max-width: 640px) {
	.sp img{
		max-width:90%;	
}
	.sp02 img{
		max-width:100%;	
}
.sp03 img{
		max-width:70%;	
}
}

.fl_left {
	float: left;
}
.fl_right {
	float: right;
}
.ov_hd {
	overflow: hidden;
}
.bg_none {
	background-image: none!important;
}
a.rollover:hover {
	opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha( opacity=70 )";
}
.rollover:hover {
	opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha( opacity=70 )";
}
.center {
	text-align: center;
}
.right {
	text-align:right;
}
.line_0 {
	line-height: 0;
}
.zindex {
	z-index: 200;
}
input[type=radio] {
	width: 15px;
	height: 15px;
	vertical-align: middle;
}
input[type=image]:hover{
		opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha( opacity=70 )";
	}


/* ----------------------------------------------------
 
    text
 
---------------------------------------------------- */
em {
	text-decoration: underline;
  font-style: normal;
}
.bd_red {
	border-bottom: 1px solid #FF0004;
	padding-bottom: 2px;
}
.bd_red02 {
	border-bottom: 3px solid #FF0004;
	padding-bottom: 0px;
}
.gray {
	color:#666666;
}
.bold {
	font-weight: bold;
}
strong {
	font-weight: bold;
}
.strike {
	text-decoration: line-through;
}
.ac {
	text-align: center !important;
}
.ar {
	text-align: right !important;
}
.al {
	text-align: left !important;
}
.bold {
	font-weight: bold !important;
}
.font10 {
	font-size: 10px !important;
}
.font11 {
	font-size: 11px !important;
}
.font12 {
	font-size: 12px !important;
}
.font13 {
	font-size: 13px !important;
}
.font14 {
	font-size: 14px !important;
}
.font15 {
	font-size: 15px !important;
}
.font16 {
	font-size: 16px !important;
}
.font17 {
	font-size: 17px !important;
	line-height:150%;
}
.font18 {
	font-size: 18px !important;
}
.font19 {
	font-size: 19px !important;
}
.font20 {
	font-size: 20px !important;
}
.font21 {
	font-size: 21px !important;
}
.font22 {
	font-size: 22px !important;
}
.font23 {
	font-size: 23px !important;
}
.font24 {
	font-size: 24px !important;
}
.font25 {
	font-size: 25px !important;
}
.font26 {
	font-size: 26px !important;
}
.font27 {
	font-size: 27px !important;
}
.font28 {
	font-size: 28px !important;
}
.font29 {
	font-size: 29px !important;
}
.font30 {
	font-size: 30px !important;
}
.font32 {
	font-size: 32px !important;
}
/* ----------------------------------------------------
 
    float
 
---------------------------------------------------- */
.fr {
	float: right !important;
}
.fl {
	float: left !important;
}
.clear {
	clear: both;
}
img {
	line-height: 0;
	padding: 0;
	margin: 0;
}
.clearfix:after {
	content: ".";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}
.clearfix {
	min-height: 1px;
}
* html .clearfix {
	height: 1px;/*¥*//*/
  height: auto;
  overflow: hidden;
  /**/
}

hr {
	height: 0;
	margin: 0;
	padding: 0;
	border: 0;
}
/* ----------------------------------------------------
    clearfix の代用
    &#60;div class="hr"&#62;&#60;hr /&#62;&#60;/div&#62;
---------------------------------------------------- */

html {
	scroll-behavior: smooth;
}

img {
	width: 100%;
}

body {
	font-family: 'Noto Sans JP', sans-serif;
	letter-spacing: 0.08em;
	color: #313131;
}

.main-wrapper {
	width: 750px;
	margin: 0 auto;
	box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;
}

@media screen and (max-width: 640px) {
	.main-wrapper {
		width: 100%;
	}
}


header {
	/* background: linear-gradient(
		to right,
		#1f094e,
		#562482
	); */
	background: #1e3b62;
	padding: 3% 0;
}

.h-txt {
	font-size: 30px;
	color: #fff;
	font-weight: 500;
	line-height: 1.5;
	text-align: center;
	font-feature-settings: "palt";
}

@media screen and (max-width: 640px) {
	.h-txt {
		font-size: 4vw;
	}
}

.yellow {
	color: #ffff6a;
	font-weight: 600;
}

.h-txt::first-line {
	font-size: 107%;
}

.fv {
	background-color: #ffffef;
	padding: 5% 5%;
	padding-bottom: 0;
}

.fv-top-txt {
	font-size: 30px;
	font-weight: 500;
	text-align: center;
	line-height: 1.5;
	font-feature-settings: "palt";
}

@media screen and (max-width: 640px) {
	.fv-top-txt {
		font-size: 3.8vw;
	}
}

.fv-top-txt span {
	font-weight: bold;
	font-size: 132%;
}

.marker-yellow {
  background: linear-gradient(
    transparent 60%,
    #fff59d 60%
  );
}

.fv-fuki {
	position: relative;
	display: inline-block;
	padding: 5px 40px;
	box-sizing: border-box;
	background: #d9962a; /* オレンジ */
	color: #fff;
	font-weight: 700;
	text-align: center;
	font-size: 27px;
	width: 100%;
	margin-top: 5%;
}

@media screen and (max-width: 640px) {
	.fv-fuki {
		font-size: 4vw;
		padding: 1%;
	}
}

.fv-fuki::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: -10px;
	transform: translateX(-50%);
	width: 0;
	height: 0;
	border-left: 12px solid transparent;
	border-right: 12px solid transparent;
	border-top: 10px solid #d9962a;
}

@media screen and (max-width: 640px) {
	.fv-fuki::after {
		bottom: -8px;
		border-left: 8px solid transparent;
		border-right: 8px solid transparent;
		border-top: 8px solid #d9962a;
	}
}

.fv-main-txt {
	width: 100%;
	margin: 0 auto;
	margin: 6% 0;
}

@media screen and (max-width: 640px) {
	.fv-main-txt {
		margin-bottom: 4%;
	}
}

.fv-prop-logo {
	width: 65%;
	margin: 0 auto;
}

.fv-bottom-flex {
	display: flex;
}

@media screen and (max-width: 640px) {
	.fv-bottom-flex {
		align-items: flex-end;
	}
}

.fv-point-list {
	width: 75%;
	margin-top: 8%;
	font-size: 29px;
	justify-content: space-between;
	margin-right: -5%;
}

@media screen and (max-width: 640px) {
	.fv-point-list {
		font-size: 4vw;
	}
}

.fv-point-item {
	background-color: #ffff95;
	font-weight: 600;
	text-align: center;
	letter-spacing: 0.03em;
	border-radius: 10px;
	padding: 15px 0;
	margin-bottom: 15px;
}

@media screen and (max-width: 640px) {
	.fv-point-item {
		padding: 4% 0;
		margin-bottom: 3.5%;
	}
}

.fv-point-item2 {
	font-size: 98%;
}

.fv-point-item3 {
	font-size: 85%;
}

.fv-pic {
	width: 31%;
	margin-right: -3%;
	/* transform: translateX(7%); */
	margin-top: 3%;
	margin-left: 2%;
	/* transform: translateX(40px); */
	/* opacity: 0;
	transition:
	transform 0.9s cubic-bezier(.22,.61,.36,1),
	opacity 0.7s ease; */
}

/* .fv-pic.is-show {
  transform: translateX(7%);
  opacity: 1;
} */


.fv-under-txt {
	font-size: 39px;
	text-align: center;
	font-feature-settings: "palt";
	line-height: 1.6;
	font-weight: 600;
}

@media screen and (max-width: 640px) {
	.fv-under-txt {
		font-size: 5vw;
	}
}

.red {
	color: #c1272d;
}

.fv-under {
	padding: 5.5% 0;
}

@media screen and (max-width: 640px) {
	.fv-under {
		padding: 6% 0;
	}
}

.fv-under-txt .red {
	background: url(../svg/red-wavy.svg);
	background-repeat: no-repeat;
	background-position: center bottom;
	padding-bottom: 5px;
}

@media screen and (max-width: 640px) {
	.fv-under-txt .red {
		padding-bottom: 3px;
	}
}

.sec1 {
	background-color: #f2f2f2;
	padding: 10% 0;
}

.l-container {
	width: 90%;
	margin: 0 auto;
}

.sec1-h1 {
	text-align: center;
	font-size: 39px;
	font-weight: 500;
	font-feature-settings: "palt";
	letter-spacing: 0.05em;
	line-height: 1.5;
}

@media screen and (max-width: 640px) {
	.sec1-h1 {
		font-size: 6vw;
	}
}

.sec1-list {
	margin-top: 10%;
}

.sec1-item {
	display: flex;
	align-items: flex-start;
	gap:1.5%;
	margin-bottom: 3.5%;
}

.sec1-icon {
	/* width: 13%; */
	width: 80px;
}

@media screen and (max-width: 640px) {
	.sec1-icon {
		width: 15%;
	}
}

.speechBubble {
	position: relative;
	display: flex;
	align-items: center;
	margin-left: 10px;
	padding: 20px 30px;
	border: 1px solid #cccccc;
	border-radius: 6px;
	background-color: #ffffff;
	text-align: left;
	font-size: 28px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.05em;
	max-width: 74%;
}

@media screen and (max-width: 640px) {
	.speechBubble {
		font-size: 4vw;
		padding: 4% 5%;
		max-width: 67%;
	}
}


/* 汎用スクロールエフェクト(ここから) */
 
.fadeLeft,
.fadeRight,
.fadeUp,
.fadeDown {
  opacity: 0;
}

/* 左から */
.fadeLeft.is-show {
  animation: fadeLeftAnime 0.9s cubic-bezier(.22,.61,.36,1) forwards;
}

@keyframes fadeLeftAnime {
  from {
    opacity: 0;
    transform: translateX(-60px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

/* 右から */
.fadeRight.is-show {
  animation: fadeRightAnime 0.9s cubic-bezier(.22,.61,.36,1) forwards;
}

@keyframes fadeRightAnime {
  from {
    opacity: 0;
    transform: translateX(60px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

/* 下から */
.fadeUp.is-show {
  animation: fadeUpAnime 0.6s cubic-bezier(.25,.8,.25,1) forwards;
}

@keyframes fadeUpAnime {
  from {
    opacity: 0;
    transform: translateY(40px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* 上から */
.fadeDown.is-show {
  animation: fadeDownAnime 0.6s cubic-bezier(.25,.8,.25,1) forwards;
}

@keyframes fadeDownAnime {
  from {
    opacity: 0;
    transform: translateY(-40px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* 汎用スクロールエフェクト(ここまで) */




.speechBubble::before {
  content: "";
  position: absolute;
  top: 35px;
  left: 0;
  border-style: solid;
  border-width: 7.5px 10px 7.5px 0;
  border-color: transparent #cccccc transparent transparent;
  translate: -100% -50%;
}

.speechBubble::after {
  content: "";
  position: absolute;
  top: 35px;
  left: 0;
  border-style: solid;
  border-width: 6.3px 8.3px 6.3px 0;
  border-color: transparent #ffffff transparent transparent;
  translate: -100% -50%;
}

@media screen and (max-width: 640px) {
	.speechBubble::before {
		top:20px;
	}

	.speechBubble::after {
		top:20px;
	}
}

.sec1-item:nth-child(2n) {
	flex-direction: row-reverse;
}

.sec1-item:nth-child(2n) .speechBubble {
	margin-right: 10px;
}

.sec1-item:nth-child(2n) .speechBubble::before {
	left: auto;
	right: 0;
	border-width: 7.5px 0 7.5px 10px;
	border-color: transparent transparent transparent #cccccc;
	translate: 100% -50%;
}

.sec1-item:nth-child(2n) .speechBubble::after {
	left: auto;
	right: 0;
	border-style: solid;
	border-width: 6.3px 0 6.3px 8.3px;
	border-color: transparent transparent transparent #ffffff;
	translate: 100% -50%;
}

.sec2 {
	background-color: #ffffef;
	padding: 10% 0;
}

.sec2-top {
	text-align: center;
	font-weight: 500;
	font-feature-settings: "palt";
	letter-spacing: 0.1em;
}

.sec2-txt {
	font-size: 29px;
}

.orange {
	color: #ce7800;
}

.marker {
	background:linear-gradient(transparent 70%, #fcee21 70%);
	width: fit-content;
	margin: 0 auto;
	font-weight: bold;
}

.sec2-txt1 {
	font-size: 29px;
	margin-bottom: 1%;
}

@media screen and (max-width: 640px) {
	.sec2-txt1 {
		font-size: 4.5vw;
		margin-bottom: 2%;
	}
}

.sec2-txt2 {
	font-size: 61px;
	line-height: 1.5;
}

@media screen and (max-width: 640px) {
	.sec2-txt2 {
		font-size: 8.6vw;
		line-height: 1.3;
		margin-bottom: 1.5%;
	}
}

.sec2-txt2 span {
	font-size: 82%;
}

.sec2-txt3 {
	font-size: 50px;
	line-height: 1.5;
}

@media screen and (max-width: 640px) {
	.sec2-txt3 {
		font-size: 7vw;
		line-height: 1.3;
	}
}

.sec2-txt4 {
	font-size: 29px;
	margin-top: 4%;
}

@media screen and (max-width: 640px) {
	.sec2-txt4 {
		font-size: 4.5vw;
	}
}

.sec2-txt5 {
	font-size: 26px;
	margin-top: 12%;
}

@media screen and (max-width: 640px) {
	.sec2-txt5 {
		font-size: 4.3vw;
	}
}

.sec2-prop {
	margin-top: 2%;
}

.sec3 {
	/* background: linear-gradient(
    to right,
    #1f094e,
    #562482
  ); */
  background: #1e3b62;
  padding: 10% 0;
}

@media screen and (max-width: 640px) {
	.sec3 {
		padding: 12% 0;
	}
}

.sec3-h1 {
	color: #fff;
}

.sec-h1 {
	text-align: center;
	font-size: 45px;
	font-weight: 600;
	line-height: 1.4;
	font-feature-settings: "palt";
	letter-spacing: 0.08em;
}

@media screen and (max-width: 640px) {
	.sec-h1 {
		font-size: 6.5vw;
	}
}

.h1-eng {
	font-size: 19px;
	font-weight: 500;
	display: block;
	border-bottom: solid 1px #ffffff;
	width: fit-content;
	margin: 0 auto;
	margin-bottom: 20px;
	padding-bottom: 5px;
	letter-spacing: 0.1em;
}

@media screen and (max-width: 640px) {
	.h1-eng {
		font-size: 3vw;
		letter-spacing: 0.1em;
		margin-bottom: 4%;
	}
}

.sec3-illust {
	margin-top: 10%;
}

.sec3-txt {
	font-size: 26px;
	text-align: center;
	color: #ffffff;
	font-feature-settings: "palt";
	letter-spacing: 0.08em;
	line-height: 1.8;
	margin-top: 10%;
}

@media screen and (max-width: 640px) {
	.sec3-txt {
		font-size: 3.5vw;
		line-height: 2;
	}
}

.sec3-txt span {
	font-weight: bold;
}

.sec3-list {
	background-color: #ffffe7;
	border: solid #ce7800 1px;
	padding: 4% 0 3.5%;
	margin-top: 6%;
}

@media screen and (max-width: 640px) {
	.sec3-list {
		padding: 6% 0;
	}
}

.sec3-item {
	display: flex;
	font-size: 26px;
	align-items: center;
	gap: 2%;
	font-weight: 500;
	width: 85%;
	margin: 0 auto;
	font-feature-settings: "palt";
	letter-spacing: 0.08em;
}

@media screen and (max-width: 640px) {
	.sec3-item {
		font-size: 3.8vw;
		width: 90%;
	}
}

.sec3-check {
	width: 3.5%;
	line-height: 0;
}

.sec3-item-txt .orange {
	font-weight: bold;
}

.sec3-item-txt {
	border-bottom: solid 2px #ce7800;
}

.sec3-item {
	margin-bottom: 2%;
}

.sec3-txt2 {
	margin-top: 14%;
}

.sec3-txt3 {
	margin-top: 6%;
}

@media screen and (max-width: 640px) {
	.sec3-txt3 {
		margin-top: 8%;
	}
}

.sec4-top {
	background: url(../svg/sec4-top-bg.svg);
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size: cover;
	aspect-ratio: 75/29;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	color: #fff;
	font-weight: bold;
	font-size: 44px;
	line-height: 1.5;
}

@media screen and (max-width: 640px) {
	.sec4-top {
		font-size: 6vw;
	}
}

.sec4-top-txt {
	transform: translateY(-13%);
}

.sec4-top-txt span {
	font-size: 115%;
	line-height: 1.2;
	color: #ffff00;
}

.sec4-main {
	text-align: center;
}

.sec4-h2 {
	font-size: 49px;
	font-weight: 600;
	line-height: 1.5;
}

@media screen and (max-width: 640px) {
	.sec4-h2 {
		font-size: 6.6vw;
	}
}

.sec4-main {
	padding: 8% 0 10%;
}

@media screen and (max-width: 640px) {
	.sec4-main {
		padding: 10% 0;
	}
}

.sec4-img1 {
	width: 30%;
	margin: 10% auto;
}

@media screen and (max-width: 640px) {
	.sec4-img1 {
		width: 40%;
	}
}

.sec4-box {
	background-color: #ffffe7;
	border: solid 1px #ce7800;
	padding: 5% 0;
	position: relative;
	margin-bottom: 10%;
}

.sec4-img2 {
	position: absolute;
	right: 0;
	top:-83%;
	z-index: -1;
	width: 20%;
}

@media screen and (max-width: 640px) {
	.sec4-img2 {
		width: 25%;
		top:-105%;
		right: -1%;
	}
}

.sec4-box-txt {
	font-size: 35px;
	font-weight: 500;
	font-feature-settings: "palt";
	line-height: 1.5;
}

@media screen and (max-width: 640px) {
	.sec4-box-txt {
		font-size: 4.8vw;
	}
}

.sec4-box-txt .orange {
	font-weight: bold;
	border-bottom: solid 2px #ce7800;
	font-size: 120%;
}

.sec4-txt1 {
	font-size: 29px;
	font-weight: 500;
}

@media screen and (max-width: 640px) {
	.sec4-txt1 {
		font-size: 4vw;
	}
}

.sec4_fuki {
    position: relative;
    text-align: center;
    display: block;
    width: fit-content;
    line-height: 1.5;
    margin: 3% auto 2%;
    padding: 0 2rem;
	font-size: 42px;
	font-weight: bold;
	font-feature-settings: "palt";
	letter-spacing: 0.06em;
}

@media screen and (max-width: 640px) {
	.sec4_fuki {
		font-size: 6vw;
	}
}

.sec4-txt3 {
    display: block;
}

.sec4_fuki::before, .sec4_fuki::after {
    content: "";
    position: absolute;
    bottom: 0;
    width: 2px;
    height: 100%;
    background: #ce7800;
}

.sec4_fuki::before {
    transform: rotate(-30deg);
    left: 0;
}

@media screen and (max-width: 640px) {
	.sec4_fuki::before {
		left: 4%;
	}
}

.sec4_fuki::after {
    transform: rotate(30deg);
    right: 0;
}

@media screen and (max-width: 640px) {
	.sec4_fuki::after {
		right: 4%;
	}
}

.h-area {
	/* background: linear-gradient(
    to right,
    #1f094e,
    #562482
  ); */
  background: #1e3b62;
  padding: 5% 0;
}

@media screen and (max-width: 640px) {
	.h-area {
		padding: 5.5% 0;
	}
}

.white {
	color: #fff;
}

.sec5-main {
	background-color: #ffffef;
	padding: 16% 0 13%;
}

.sec5-item {
	box-shadow: 0 0 3px #c6c6c6;
	background-color: #fff;
	border-radius: 13px;
	padding: 9% 7% 11%;
	box-sizing: border-box;
	position: relative;
}

@media screen and (max-width: 640px) {
	.sec5-item {
		border-radius: 6px;
		padding: 10% 5% 11%;
	}
}

.reason-num {
	/* background: linear-gradient(
    to right,
    #1f094e,
    #562482
  ); */
	background: #1e3b62;
	color: #fff;
	font-size: 33px;
	font-weight: bold;
	text-align: center;
	width: 25%;
	margin: 0 auto;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	top:-30px;
}

@media screen and (max-width: 640px) {
	.reason-num {
		font-size: 5vw;
		width: 28%;
		top:-15px;
	}
}

.reason-ttl {
	font-size: 33px;
	font-weight: bold;
	text-align: center;
	font-feature-settings: "palt";
	letter-spacing: 0.08em;
	line-height: 1.6;
}

@media screen and (max-width: 640px) {
	.reason-ttl {
		font-size: 4.5vw;
	}
}

.reason-ttl-area {
	text-align: center;
}

.sec5-pic {
	margin: 9% 0;
}

.reason-txt {
	font-size: 25px;
	font-feature-settings: "palt";
	line-height: 1.9;
	font-weight: 500;
}

@media screen and (max-width: 640px) {
	.reason-txt {
		font-size: 3.8vw;
	}
}

.reason-txt span {
	font-weight: bold;
}

.sec5-item:not(:last-child) {
	margin-bottom: 15%;
}

.marker-lines {
	display: inline;
    padding: 0 4px 2px 4px;
    background: linear-gradient(transparent 65%, #fcee21 0%);
}

.sec6-main {
	padding: 14% 0;
	background-color: #eff1f4;
}


.sec6-item {
	box-shadow: 0 0 3px #c6c6c6;
	background-color: #fff;
	border-radius: 13px;
	padding: 9% 7% 11%;
	box-sizing: border-box;
	position: relative;
	margin-bottom: 13%;
}

@media screen and (max-width: 640px) {
	.sec6-item {
		border-radius: 6px;
		padding: 9% 5% 11%;
	}
}

.sec6-check {
	position: absolute;
	width: 11%;
	left: 50%;
	transform: translateX(-50%);
	top:-35px;
}

@media screen and (max-width: 640px) {
	.sec6-check {
		top:-20px;
		width: 13%;
	}
}

.sec6-icon {
	width: 38%;
	margin: 7% auto 8%;
}

.sec6-item-bottom {
	text-align: center;
}

.sec6-item-txt {
	font-weight: bold;
	font-size: 32px;
}

@media screen and (max-width: 640px) {
	.sec6-item-txt {
		font-size: 4.5vw;
	}
}

.sec6-icon2 {
	width: 45%;
}

.sec6-icon3 {
	width: 24%;
	padding-left: 2%;
}

.sec6-bottom-txt {
	text-align: center;
	font-size: 31px;
	font-weight: bold;
	font-feature-settings: "palt";
}

@media screen and (max-width: 640px) {
	.sec6-bottom-txt {
		font-size: 4vw;
	}
}

.sec6-bottom-txt .orange {
	font-size: 125%;
	border-bottom: solid 2px #ce7800;
}

.sec7-main {
	padding: 12% 0 2%;
}

.sec7-item {
	box-shadow: 0 0 3px #c6c6c6;
	background-color: #fff;
	border-radius: 13px;
	box-sizing: border-box;
	position: relative;
	margin-bottom: 13%;
}

@media screen and (max-width: 640px) {
	.sec7-item {
		border-radius: 6px;
	}
}

.sec7-pic {
	aspect-ratio: 2/1;
	border-radius: 13px 13px 0 0 ;
	position: relative;
}

@media screen and (max-width: 640px) {
	.sec7-pic {
		border-radius: 6px 6px 0 0 ;
	}
}

.sec7-pic1 {
	background: url(../images/sec7-pic1.jpeg);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center top;
}

.sec7-pic2 {
	background: url(../images/sec7-pic2.jpeg);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center top;
}

.sec7-pic3 {
	background: url(../images/sec7-pic3.png);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center top;
}

.step-num {
	background-color: #ce7800;
	font-size: 29px;
	color: #fff;
	position: absolute;
	top:0;
	left: 0;
	padding: 1% 2%;
	box-sizing: border-box;
	border-radius: 13px 0 0 0;
	font-weight: 500;
}

@media screen and (max-width: 640px) {
	.step-num {
		border-radius: 6px 0 0 0;
		font-size: 4vw;
	}
}

.sec7-bottom {
	padding: 5% 7%;
	box-sizing: border-box;
}

.step-ttl {
	font-size: 29px;
	font-weight: 600;
	font-feature-settings: "palt";
	position: relative;
	border-bottom: 3px solid #ddd;
	padding: 15px 0;
	margin-bottom: 7%;
}

@media screen and (max-width: 640px) {
	.step-ttl {
		font-size: 4.2vw;
		border-bottom: 2px solid #ddd;
	}
}

.step-ttl::before {
	position: absolute;
	left: 0;
	bottom: -3px;
	width: 20%;
	height: 3px;
	content: '';
	background: #1e3b62;
}

@media screen and (max-width: 640px) {
	.step-ttl::before {
		bottom: -2px;
		height: 2px;
	}
}

.step-txt {
	font-size: 25px;
	line-height: 1.9;
	margin-bottom: 5%;
	font-weight: 500;
	font-feature-settings: "palt";
	letter-spacing: 0.08em;
}

@media screen and (max-width: 640px) {
	.step-txt {
		font-size: 3.8vw;
	}
}

.step-txt span {
	font-weight: bold;
}

.sec8 {
	background-color: #f2f2f2;
	padding: 11% 0 4%;
}

.sec8-icon {
	width: 22%;
	margin: 0 auto;
}

.sec8-fuki {
	position: relative;
	display: inline-block;
	margin-top: 5%;
	padding: 2% 0;
	border: 1px solid #cccccc;
	border-radius: 6px;
	background-color: #22b573;
	text-align: left;
	font-size: 36px;
	font-weight: 500;
	line-height: 1.8;
	color: #ffffff;
	width: 100%;
	box-sizing: border-box;
	font-feature-settings: "palt";
	text-align: center;
	letter-spacing: 0.08em;
}

@media screen and (max-width: 640px) {
	.sec8-fuki {
		font-size: 4.8vw;
		margin-top: 7%;
	}
}

.sec8-fuki::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	border-style: solid;
	border-width: 0 15px 15px 15px;
	border-color: transparent transparent #cccccc;
	translate: -50% -100%;
}

@media screen and (max-width: 640px) {
	.sec8-fuki::before {
		border-width: 0 11.5px 11.5px 11.5px;
	}
}

.sec8-fuki::after {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	border-style: solid;
	border-width: 0 13.6px 13.6px 13.6px;
	border-color: transparent transparent #22b573;
	translate: -50% -100%;
}

@media screen and (max-width: 640px) {
	.sec8-fuki::after {
		border-width: 0 10.6px 10.6px 10.6px;
	}
}

.sec8-item {
	margin-bottom: 11%;
}

.sec8-icon2 {
	width: 26%;
}

.sec8-fuki2 {
	background-color: #fff;
	border: 1px solid #cccccc;
	color: #313131;
	font-size: 30px;
	text-align: left;
	padding: 6% 5% 7%;
}

@media screen and (max-width: 640px) {
	.sec8-fuki2 {
		font-size: 4vw;
	}
}

.sec8-fuki2::before {
	border-color: transparent transparent #cccccc;
}

.sec8-fuki2::after {
	border-color: transparent transparent #fff;
}

.sec8-fuki2 .marker {
	font-weight: bold;
}

.sec9-top {
	background: url(../svg/sec9-top-bg3.svg);
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size: cover;
	aspect-ratio: 75/29;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	color: #fff;
	font-weight: bold;
	font-size: 44px;
	line-height: 1.5;
	position: relative;
}

@media screen and (max-width: 640px) {
	.sec9-top {
		font-size: 5.5vw;
		line-height: 1.6;
	}
}

.sec9-top-txt {
	transform: translateY(-22%);
}

.sec9-top-txt span {
	font-size: 115%;
	line-height: 1.3;
	color: #ffff00;
}

.sec9-main {
	/* background-color: #441cc4; */
	background-color: #8e37e2;
	padding: 15% 0 12%;
	margin-top: -8%;
}

@media screen and (max-width: 640px) {
	.sec9-main {
		padding: 17% 0 14%;
	}
}

.sec9-h1 {
	font-size: 105px;
	text-align: center;
	font-weight: bold;
	color: #ffffff;
	line-height: 1.3;
}

@media screen and (max-width: 640px) {
	.sec9-h1 {
		font-size: 14vw;
	}
}

.sec9-h1 span {
	display: block;
	font-size: 30%;
}

.sec9-txt {
	text-align: center;
	font-size: 34px;
	font-weight: bold;
	color: #ffffff;
	line-height: 1.6;
	margin-top: 8%;
}

@media screen and (max-width: 640px) {
	.sec9-txt {
		font-size: 4.3vw;
		margin-top: 9%;
	}
}

.sec9-box {
	border: solid 3px #ffffff;
	padding: 7% 5% 5%;
	margin-top: 15%;
	position: relative;
}

.sec9-box-p {
	font-size: 46px;
	text-align: center;
	color: #ffffff;
	font-weight: 500;
	line-height: 1.5;
}

@media screen and (max-width: 640px) {
	.sec9-box {
		border: solid 2px #ffffff;
		padding: 7% 5% 6%;
	}

	.sec9-box-p {
		font-size: 6vw;
	}
}

.sec9-box-p span {
	font-weight: bold;
	color: #ffff00;
}

.sec9-box-label {
	background-color: #22b573;
	color: #ffffff;
	font-weight: bold;
	font-size: 38px;
	width: 30%;
	margin: 0 auto;
	text-align: center;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	top: -15%;
}

@media screen and (max-width: 640px) {
	.sec9-box-label {
		font-size: 4.8vw;
		width: 25%;
	}
}

.sec10-main {
	padding: 15% 0 5%;
}

.point-box {
	border: solid 1px #8e37e2;
	position: relative;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 5% 0;
}

.point-ttl {
	font-size: 34px;
	font-weight: bold;
	font-feature-settings: "palt";
	letter-spacing: 0.08em;
}

@media screen and (max-width: 640px) {
	.point-ttl {
		font-size: 4.5vw;
	}
}

.point-num {
	position: absolute;
	border-radius: 50vh;
	background: #8e37e2;
	color: #ffffff;
	font-size: 24px;
	font-weight: 500;
	padding: 0.5% 4%;
	top:-25%;
	left: -2%;
}

@media screen and (max-width: 640px) {
	.point-num {
		font-size: 3.5vw;
	}
}

.sec10-item-txt {
	font-size: 30px;
	line-height: 1.9;
	margin-top: 8%;
	font-weight: 500;
	font-feature-settings: "palt";
}

@media screen and (max-width: 640px) {
	.sec10-item-txt {
		font-size: 3.8vw;
	}
}

.sec10-item-txt span {
	font-weight: bold;
}

.sec10-item {
	margin-bottom: 15%;
}


.sec10-box {
	background-color: #ffffe7;
	border: solid #ce7800 1px;
	padding: 6% 8% 3%;
	box-sizing: border-box;
	margin-top: 10%;
}

@media screen and (max-width: 640px) {
	.sec10-box {
		padding: 6% 6% 3%;
	}
}

.sec10-box-txt {
	font-size: 26px;
	line-height: 1.6;
	font-weight: 500;
	font-feature-settings: "palt";
	letter-spacing: 0.05em;
	margin-bottom: 7%;
}

@media screen and (max-width: 640px) {
	.sec10-box-txt {
		font-size: 3.6vw;
	}
}

.sec10-box-orange {
	font-size: 41px;
	font-weight: bold;
	text-align: center;
	border-bottom: solid 2px #ce7800;
	width: fit-content;
	margin: 0 auto;
	padding-bottom: 3px;
	margin-bottom: 8%;
}

@media screen and (max-width: 640px) {
	.sec10-box-orange {
		font-size: 5.5vw;
	}
}

.sec10-check {
	color: #22B573;
	font-weight: 800;
	margin-right: 10px;
}



.point-box3 .point-ttl {
	font-size: 30px;
}

@media screen and (max-width: 640px) {
	.point-box3 .point-ttl {
		font-size: 4.2vw;
	}
}

.sec11-main {
	padding: 10% 0 15%;
}

.sec11-box {
	background-color: #ffffe7;
	border: solid #ce7800 1px;
	padding: 8% 8%;
	box-sizing: border-box;
}

.sec11-box-txt {
	font-size: 31px;
	line-height: 1.9;
	font-weight: 500;
	font-feature-settings: "palt";
	letter-spacing: 0.08em;
}

@media screen and (max-width: 640px) {
	.sec11-box-txt {
		font-size: 4vw;
	}
}

.sec11-box-orange {
	font-size: 41px;
	font-weight: bold;
	text-align: center;
	border-bottom: solid 2px #ce7800;
	width: fit-content;
	margin: 0 auto;
	padding-bottom: 3px;
	margin-top: 3.5%;
}

@media screen and (max-width: 640px) {
	.sec11-box-orange {
		font-size: 5.5vw;
	}
}

.sec11-h2 {
	text-align: center;
	font-weight: bold;
	font-size: 49px;
	margin-top: 12%;
}

@media screen and (max-width: 640px) {
	.sec11-h2 {
		font-size: 6.5vw;
	}
}

.sec11-icon {
	width: 28%;
	margin: 8% auto;
}

@media screen and (max-width: 640px) {
	.sec11-icon {
		width: 30%;
	}
}

.Mr-m-txt {
	font-size: 28px;
}

@media screen and (max-width: 640px) {
	.Mr-m-txt {
		font-size: 3.6vw;
	}
}

.jisseki-img {
	margin: 10% 0;
}

.sec11-2-main {
	background-color: #ffffef;
	padding: 10% 0 7%;
}

.sim-list {
	margin-bottom: 10%;
}

@media screen and (max-width: 640px) {
	.sim-list {
		margin-bottom: 13%;
	}
}

.sim-item {
	display: flex;
	align-items: center;
	gap:4%;
	border-bottom: 1px solid #8e37e2;
	padding: 4% 0;
}

.sim-label {
	background-color: #ce7800;
	font-size: 26px;
	font-weight: bold;
	color: #ffffff;
	padding: 0 1.5%;
}

@media screen and (max-width: 640px) {
	.sim-label {
		font-size: 4vw;
		padding: 0.5% 2%;
	}
}

.sim-txt {
	font-size: 29px;
	font-weight: bold;
}

@media screen and (max-width: 640px) {
	.sim-txt {
		font-size: 4.5vw;
	}
}

.sim-txt span {
	font-size: 70%;
}

.sim-bottom-txt {
	font-size: 24px;
	font-weight: 500;
	text-align: center;
	font-feature-settings: "palt";
	letter-spacing: 0.08em;
	margin-bottom: 8%;
	line-height: 1.9;
}

@media screen and (max-width: 640px) {
	.sim-bottom-txt {
		font-size: 3.6vw;
	}
}

.sim-bottom-txt .orange {
	font-size: 135%;
	font-weight: bold;
	display: block;
	line-height: 1.3;
	margin-top: 1.5%;
}

@media screen and (max-width: 640px) {
	.sim-bottom-txt .orange {
		font-size: 120%;
		margin-top: 2.5%;
	}	
}

.sim-bottom-txt .orange1 {
	margin-top: 5%;
}

.sim-bottom-txt .orange2 {
	margin-bottom: 5%;
}

.sec12-main {
	padding: 13% 0 11%;
	background-color: #f2f2f2;
}

.sec12-item {
	background-color: #fff;
	border: solid 1px #bdbdbd;
	position: relative;
	aspect-ratio: 2/0.4;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 5%;
}

.sec12-check {
	position: absolute;
	width: 8%;
	top: 50%;
	left: -2%;
	transform: translateY(-50%);
}

.sec12-txt {
	font-size: 30px;
	font-weight: bold;
	line-height: 1.5;
}

@media screen and (max-width: 640px) {
	.sec12-txt {
		font-size: 4.1vw;
	}
}

.sec13-main {
	padding: 13% 0;
}


.qa {
  margin: 0 auto;
  font-size: 16px;
}

.qa-item {
  border: 1px solid #f2f2f2;
  margin-bottom: 3%;
  font-feature-settings: "palt";
  letter-spacing: 0.15em;
}

/* Q部分（紫帯） */
.qa-q {
  display: flex;
  align-items: center;
  gap: 12px;
  background: #8e37e2;
  color: #fff;
  padding: 4% 3%;
  cursor: pointer;
  font-size: 26px;
  font-weight: bold;
}

@media screen and (max-width: 640px) {
	.qa-q {
		font-size: 3.8vw;
		gap: 3%;
		padding-left: 4%;
	}
}

.qa-label {
	line-height: 1;
	padding-right: 1.5%;
}

@media screen and (max-width: 640px) {
	.qa-label {
		padding-right: 0;
	}
}

.qa-text {
	font-size: 24px;
	line-height: 1.5;
}

@media screen and (max-width: 640px) {
	.qa-text {
		font-size: 3.6vw;
	}
}

.qa-q:hover {
  opacity: 0.9;
}

/* A部分 */
.qa-a {
  display: none;
  background: #fff;
  color: #333;
  padding: 5% 3%;
  box-sizing: border-box;
  line-height: 1.7;
}

@media screen and (max-width: 640px) {
	.qa-a {
		padding-left: 4%;
		line-height: 1.5;
	}
}

.qa-a .qa-label {
  color: #8e37e2;
  font-size: 24px;
  font-weight: bold;
  padding-right: 1.4%;
}

@media screen and (max-width: 640px) {
	.qa-a .qa-label {
		font-size: 3.8vw;
	}
}

.sec14 {
	background-color: #ffffef;
	padding: 11% 0;
}

.sec14-h1 {
	line-height: 1.5;
}

.sec14-h1-1 {
	font-size: 50px;
}

@media screen and (max-width: 640px) {
	.sec14-h1-1 {
		font-size: 6.5vw;
	}
}

.sec14-h1-2 {
	font-size: 60px;
	margin-top: 1%;
}

@media screen and (max-width: 640px) {
	.sec14-h1-2 {
		font-size: 8.2vw;
	}
}

.sec14-box {
	background-color: #fff;
	border: solid 2px #f2f2f2;
	border-radius: 6px;
	padding: 6% 0;
	box-sizing: border-box;
	width: 85%;
}

.sec14-box-txt {
	font-size: 23px;
	text-align: center;
	font-feature-settings: "palt";
}

@media screen and (max-width: 640px) {
	.sec14-box-txt {
		font-size: 3.2vw;
	}
}

.sec14-box-txt span {
	font-weight: bold;
}

.sec14-flex {
	display: flex;
	align-items: flex-end;
	gap:1%;
	margin-top: 10%;
}

.sec14-pic {
	width: 30%;
	margin-right: -4%;
}

@media screen and (max-width: 640px) {
	.sec14-pic {
		width: 25%;
	}
}

.sec15 {
	padding: 13% 0;
}

.sec15-h1 {
	color: #c1272d;
	font-weight: bold;
	font-size: 48px;
	text-align: center;
}

@media screen and (max-width: 640px) {
	.sec15-h1 {
		font-size: 6.5vw;
	}
}

.sec15-txt {
	font-size: 26px;
	text-align: center;
	font-weight: 500;
}

@media screen and (max-width: 640px) {
	.sec15-txt {
		font-size: 4vw;
	}
}

.sec15-txt span {
	color: #c1272d;
	font-weight: bold;
}

.coupon-box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background-color: #fff;
  border: solid 2px #f2f2f2;
  width: 100%;
  margin: 8% 0;
  padding: 5% 3%;
  box-sizing: border-box;
}

@media screen and (max-width: 640px) {
	.coupon-box {
		padding: 5% 4%;
	}
}

.coupon-code {
  font-size: 22px;
  word-break: break-all;
}

@media screen and (max-width: 640px) {
	.coupon-code {
		font-size: 3.5vw;
	}
}

/* コピーボタン */
.copy-btn {
  margin-left: 16px;
  padding: 10px 16px;
  background: #1e3b62;
  color: #fff;
  font-size: 18px;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  white-space: nowrap;
  font-weight: bold;
}

@media screen and (max-width: 640px) {
	.copy-btn {
		font-size: 3vw;
		padding: 1.5% 2%;
	}
}

.copy-btn:hover {
  opacity: 0.9;
}

.go-btn {
	background-color: #8e37e2;
	display: flex;
	justify-content: center;
	align-items: center;
	aspect-ratio: 2/0.3;
	font-size: 32px;
	font-weight: bold;
	text-decoration: none;
	color: #fff;
	border-radius: 50vh;
	position: relative;
	margin-top: 13%;
}

@media screen and (max-width: 640px) {
	.go-btn {
		font-size: 4.6vw;
	}
}

.btn-arrow {
	width: 1.5%;
	position: absolute;
	right: 5%;
	top:50%;
	transform: translateY(-50%);
}

.btn:hover {
	opacity: .7;
}

footer {
	background: #1e3b62;
	padding: 13% 0;
	color: #ffffff;
	text-align: center;
	padding-bottom: 25%;
}

@media screen and (max-width: 640px) {
	footer {
		padding-bottom: 30%;
	}
}

.f-h1 {
	position: relative;
	font-size: 48px;
	font-weight: bold;
	padding-bottom: 4%;
}

@media screen and (max-width: 640px) {
	.f-h1 {
		font-size: 7vw;
	}
}

.f-h1::before {
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 10%;
	border-bottom: solid 2px #ffffff;
	content: '';
	border-radius: 50px;
}

.f-name {
	font-size: 36px;
	font-weight: 500;
	margin: 10% 0;
}

@media screen and (max-width: 640px) {
	.f-name {
		font-size: 5vw;
	}
}

.f-txt {
	font-size: 25px;
	font-feature-settings: "palt";
	letter-spacing: 0.08em;
}

@media screen and (max-width: 640px) {
	.f-txt {
		font-size: 3.8vw;
	}
}

.f-txt2 {
	font-size: 16px;
	font-feature-settings: "palt";
	letter-spacing: 0.08em;
	margin-top: 50px;
	color: #adadad;
}

@media screen and (max-width: 640px) {
	.f-txt2 {
		font-size: 3vw;
		margin-top: 10%;
	}
}

.float-cta {
	width: 750px;
	position: fixed;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	background-color: rgba(214, 214, 214, 0.75);
	padding: 1% 0;
}

@media screen and (max-width: 640px) {
	.float-cta {
		width: 100%;
		padding: 3% 0;
	}
}

.float-btn {
	width: 80%;
	margin: 0 auto;
	justify-content: center;
	align-items: center;
	display: flex;
	position: relative;
	background-color: #22B573;
	color: #ffffff;
	text-decoration: none;
	font-size: 30px;
	font-weight: bold;
	aspect-ratio: 2/0.25;
}

@media screen and (max-width: 640px) {
	.float-btn {
		font-size: 4.2vw;
		aspect-ratio: 2/0.3;
	}
}