@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;
}
.red {
	color: #ff0000;
}
.yellow {
	background-color: #ffff00;
}
.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;
---------------------------------------------------- */

img {
	width: 100%;
	user-drag: none;
	-webkit-user-drag: none;
	-moz-user-select: none;
}

body {
	box-sizing: border-box;
	font-family: 'Noto Sans JP', sans-serif;
	color: #313131;
}

header {
	height: 62px;
	box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;
	z-index: 5;
	position: relative;
	padding: 5px 0;
}

@media screen and (max-width: 640px) {
	header {
		height:auto;
		padding: 1% 0 2%;
	}
}

.header_content {
	display: flex;
	justify-content: space-between;
	padding-top: 2px;
}

.l-container {
	width: 950px;
	margin: 0 auto;
}

@media screen and (max-width: 950px) {
	.l-container {
		width: 95%;
		margin: 0 auto;
	}
}

@media screen and (max-width: 640px) {
	.l-container {
		width: 95%;
		margin: 0 auto;
	}
}

header .l-container {
	width: 1050px;
	margin: 0 auto;
}

@media screen and (max-width: 1050px) {
	header .l-container {
		width: 100%;
	}
}

@media screen and (max-width: 640px) {
	header .l-container {
		width: 100%;
	}
}

.header_flex {
	display: flex;
	justify-content: space-between;
	width: 100%;
}

@media screen and (max-width: 1050px) {
	.header_flex {
		width: 98%;
		margin: 0 auto;
	}
}

.h_logo img{
	width: 88%;
}

@media screen and (max-width: 820px) {
	.h_logo img{
		width: 100%;
	}
	
	.h_logo {
		width: 35%;
	}
}

@media screen and (max-width: 640px) {
	.h_logo {
		width: 57%;
	}
	
	.h_logo img{
		width: 100%;
	}
	
	.header_flex {
		width: 98%;
		margin: 0 auto;
	}
}

@media screen and (max-width: 390px) {
	.h_logo a {
		vertical-align: -7%;
	}
}

@media screen and (max-width: 375px) {
	.h_logo {
		transform: translate(0, 3px);
	}
	
	.h_logo a {
		vertical-align: 0;
	}
}

.shiny-btn4 {
	font-family: 'Noto Sans JP', sans-serif;
	line-height: 0;
    display: block;
    position: relative;
    padding: 28px 0;
	padding-left: 20px;
    background: #6aa84f;
    box-shadow: 0 4px 0 0 #007c51;
   border-radius: 5px;
    font-weight: bold;
    font-size: 19px;
    color: #fff;
    text-align: center;
    text-decoration: none;
    overflow: hidden;
    transition: 0.2s;
	letter-spacing: 0.05em;
}

@media screen and (max-width: 640px) {
	.shiny-btn4 {
		width: 80%;
		margin-left: auto;
		font-size: 2.8vw;
		padding: 8% 0 8.5%;
		padding-left: 7%;
		box-sizing: border-box;
		box-shadow: 0 2px 0 0 #007c51;
		font-weight: 800;
	}
}

@media screen and (max-width: 375px) {
	.h_btn .shiny-btn4 {
		padding: 8% 0;
		padding-left: 7%;
	}
}

.shiny-btn4:hover {
    text-decoration: none;
    color: #fff;
    opacity: 1;
    box-shadow: none;
    -webkit-transform: translateY(3px);
}

.shiny-btn4::before {
    position: absolute;
    content: '';
    display: inline-block;
    top: -180px;
    left: 0;
    width: 30px;
    height: 100%;
    background-color: #fff;
    /* animation: shiny-btn4 3s ease-in-out infinite; */
}

@-webkit-keyframes shiny-btn4 {
    0% { -webkit-transform: scale(0) rotate(45deg); opacity: 0; }
    80% { -webkit-transform: scale(0) rotate(45deg); opacity: 0.5; }
    81% { -webkit-transform: scale(4) rotate(45deg); opacity: 1; }
    100% { -webkit-transform: scale(50) rotate(45deg); opacity: 0; }
}


.h_btn {
	width: 310px;
}

.line_icon {
	position: absolute;
	top: 52%;
    left: 3.5%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
	display: inline-block;
	width: 12%;
}

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

.h_btn_arrow {
	top: 50%;
    right: 5%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
	position: absolute;
	display: inline-block;
	width: 4%;
}

.fv {
	background: url("../images/fv_bg.webp");
	background-repeat: no-repeat;
	background-position: top center;
	background-size: cover;
}

.fv .l-container {
	width: 1050px;
	margin: 0 auto;
	padding: 20px 0 0;
	position: relative;
}

@media screen and (max-width: 1050px) {
	.fv {
		overflow: hidden;	
	}
	
	.fv .l-container {
		width: 100%;
	}
}

@media screen and (max-width: 640px) {
	.fv {
		overflow: hidden;	
	}
	
	.fv .l-container {
		width: 98%;
		padding: 15px 0 0;
	}
}

.fv_flex {
	display: flex;
}

.fv_left {
	width: 65%;
}

@media screen and (max-width:1050px) {
	.fv_left {
		width: 90%;
	}
}

@media screen and (max-width:820px) {
	.fv_left {
		width: 100%;
	}
}

@media screen and (max-width: 640px) {
	.fv_left {
		width: 70%;
	}
	
	.fv_right {
		width: 30%;
	}
}

.fv_text_area {
	text-align: center;
	padding-top: 20px;
}

@media screen and (max-width: 640px) {
	.fv_text_area {
		padding-top: 4%;
	}
}

.fv_text {
	font-family: 'Noto Serif JP', serif;
	font-feature-settings: "palt" 1;
	letter-spacing: 0;
	line-height: 1;
}

.fv_text1 {
	font-size: 23px;
	font-weight: 700;
}

@media screen and (max-width: 1050px) {
	.fv_text1 {
		font-size: 2.2vw;
	}
}

@media screen and (max-width: 820px) {
	.fv_text1 {
		font-size: 2.5vw;
	}
}

@media screen and (max-width: 640px) {
	.fv_text1 {
		font-size: 3.2vw;
		font-weight: 800;
	}
}

.fv_text2 {
	font-size: 60px;
	color: #b30a10;
	font-weight: 800;
	text-shadow: 2px 2px 0px rgba(180, 180, 180, 0.75);
	padding-top: 20px;
}

@media screen and (max-width: 1050px) {
	.fv_text2 {
		font-size: 5.7vw;
	}
}

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

@media screen and (max-width: 640px) {
	.fv_text2 {
		font-size: 8vw;
		padding-top: 5%;
	}
}


.fv_t2_sm {
	font-size: 36px;
}

@media screen and (max-width: 1050px) {
	.fv_t2_sm {
		font-size: 3.5vw;
	}
}

@media screen and (max-width: 820px) {
	.fv_t2_sm {
		font-size: 3.8vw;
	}
}

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

.fv_text3 {
	font-size: 128px;
	width: fit-content;
	margin: 0 auto;
	color: #b30a10;
	font-weight: 800;
	text-shadow: 2px 2px 0px rgba(180, 180, 180, 0.75);
	 background: linear-gradient(transparent 75%, #ffff9f 75%);
	padding-top: 3px;
}

.fv_t3_l {
	font-size: 145px;
	vertical-align: -6%;
}

.fv_t3_sm1 {
	font-size: 100px;
}

.fv_t3_sm2 {
	font-size: 70px;
	display: inline-block;
	margin-left: 5px;
	margin-right: 5px;
}

@media screen and (max-width: 1050px) {
	.fv_text3 {
		font-size: 11.5vw;
	}
	
	.fv_t3_l {
		font-size: 13.5vw;
	}
	
	.fv_t3_sm1 {
		font-size: 9.5vw;
	}
	
	.fv_t3_sm2 {
		font-size: 6.7vw;
		margin-left: 2px;
		margin-right: 2px;
	}
}

@media screen and (max-width: 820px) {
	.fv_text3 {
		font-size: 12vw;
	}
	
	.fv_t3_l {
		font-size: 14.5vw;
	}
	
	.fv_t3_sm1 {
		font-size: 10.5vw;
	}
	
	.fv_t3_sm2 {
		font-size: 7.7vw;
	}
}

@media screen and (max-width: 640px) {
	.fv_text3 {
		font-size: 16vw;
		padding-top: 0;
	}
	
	.fv_t3_l{
		font-size: 19vw;
		vertical-align: -6%;
	}
	
	.fv_t3_sm1 {
		font-size: 12vw;
	}
	
	.fv_t3_sm2 {
		font-size: 8vw;
	}
}

.fv_text4 {
	font-size: 30px;
	font-weight: 700;
	padding-top: 30px;
}

@media screen and (max-width: 1050px) {
	.fv_text4 {
		font-size: 3vw;
	}
}

@media screen and (max-width: 820px) {
	.fv_text4 {
		padding-top: 5%;
	}
}

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

.fv_point_area {
	text-align: center;
	/*width: 51%;*/
	padding-top: 35px;
	position: relative;
	z-index: 2;
}

@media screen and (max-width: 1050px) {
	.fv_point_area {
		padding-top: 7%;
	}
}

@media screen and (max-width: 640px) {
	.fv_point_area {
		padding-top: 7%;
	}
}

.fv_point_flex {
	display: flex;
	justify-content: space-around;
	width: 95%;
	margin-left: 3%;
}

@media screen and (max-width: 640px) {
	.fv_point_flex {
		justify-content: space-between;
		width: 90%;
	}
}

.fv_point {
	background-color: #e6753a;
	color: #FFFFFF;
	border-radius: 5px;
	padding: 20px 15px 10px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.15em;
}

@media screen and (max-width: 1050px) {
	.fv_point {
		padding: 4% 1% 2%;
		width: 28%;
	}
}

@media screen and (max-width: 640px) {
	.fv_point {
		padding: 4% 1% 2%;
		width: 30%;
		font-weight: 800;
	}
}

.fv_point1 {
	background-image: url("../images/fv_point1_bg.png");
	background-size: cover;
	background-position: right 0 bottom 0;
}

.fv_point2 {
	background-image: url("../images/fv_point2_bg.png");
	background-size: cover;
	background-position: right 0 bottom 0;
}

.fv_point3 {
	background-image: url("../images/fv_point3_bg.png");
	background-size: cover;
	background-position: right 0 bottom 0;
}

.fv_pt_top {
	font-size: 18px;
}

@media screen and (max-width: 1050px) {
	.fv_pt_top {
		font-size: 1.5vw;
	}
}

@media screen and (max-width: 640px) {
	.fv_pt_top {
		font-size: 2.5vw;
		letter-spacing: 0.05em;
	}
}

.fv_pt_btm {
	font-size: 30px;
	padding-top: 10px;
}

@media screen and (max-width: 1050px) {
	.fv_pt_btm {
		font-size: 2.5vw;
	}
}

@media screen and (max-width: 640px) {
	.fv_pt_btm {
		font-size: 4vw;
		letter-spacing: 0.05em;
		padding-top: 8%;
	}
}

.fv_pt_ast {
	font-size: 12px;
	text-align: right;
}

@media screen and (max-width: 640px) {
	.fv_pt_ast{
		font-size: 8px;
		letter-spacing: 0.05em;
	}
}

.fv_ach {
	width: 85%;
	margin: 0 auto;
	padding-top: 35px;
}

.fv_ach img {
	filter: drop-shadow(2px 2px 0px #FFFFFF);
}

@media screen and (max-width: 640px) {
	.fv_ach {
		position: relative;
		z-index: 1;
		padding-top: 3%;
		margin-left: 4%;
	}
	.fv_ach img {
		filter: drop-shadow(1px 1px 0px #FFFFFF);
	}
}

.fv_ast {
	font-size: 12px;
	width: 88%;
	text-align: right;
	font-weight: 700;
	padding-top: 10px;
	text-shadow: 1px 1px 0px #FFFFFF;
	position: relative;
	z-index: 1;
}

@media screen and (max-width: 640px) {
	.fv_ast {
		text-align: left;
		padding-top: 1%;
		font-size: 8px;
		width: 90%;
		margin-left: 3%;
	}
}

.fv_pic1 {
	margin-left: -14%;
}

@media screen and (max-width:1050px) {
	.fv_pic1 {
		margin-left: -25%;
		margin-right: -17%;
	}
}

@media screen and (max-width:820px) {
	.fv_pic1 {
		margin-left: -24%;
	}
}

@media screen and (max-width: 768px) {
	.fv_pic1 {
		margin-left: -19%;
	}
}

@media screen and (max-width: 640px) {
	.fv_pic1 {
		margin-left: -73%;
		margin-right: -76%;
	}
}

.fv_rep {
	width: 30%;
	position: absolute;
	bottom: 20px;
	right: 10px;
}

.fv_rep_pic {
	width: 50%;
	margin: 0 auto;
}

@media screen and (max-width: 640px) {
	.fv_rep_pic {
		width: 70%;
		margin: 0 auto;
	}
}

.fv_rep_text {
	font-family: 'Noto Serif JP', serif;
	background-color: #213252;
	font-size: 16px;
	font-weight: 500;
	color: #FFFFFF;
	text-align: center;
	margin: 0 auto;
	margin-top: 5px;
}

@media screen and (max-width: 1050px) {
	.fv_rep_text {
		font-size: 1.5vw;
	}
}

@media screen and (max-width: 640px) {
	.fv_rep_text {
		font-size: 2.5vw;
		font-weight: 700;
	}
}

.fv_rep_text1 {
	width: 60%;
}

.fv_rep_text2 {
	width: 90%;
}

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

	.fv_rep_text2 {
		width: 100%;
	}
}


.cta_area {
	background: url("../images/cta_bg.webp");
	background-repeat: no-repeat;
	background-position: top center;
	background-size: cover;
	position: relative;
	z-index: 1;
	margin-top: -2px;
}

.cta_title {
	font-family: 'Noto Serif JP', serif;
	text-align: center;
	font-size: 38px;
	font-weight: 700;
	color: #FFFFFF;
	border-bottom: 1px solid #FFFFFF;
	width: fit-content;
	margin: 0 auto;
	padding-bottom: 5px;
}

@media screen and (max-width: 820px) {
	.cta_title {
		font-size: 4.3vw;
	}
}

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


.cta_content {
	padding: 5% 0 6.5%;
}

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

.cta_title_sm {
	font-size: 30px;
}

@media screen and (max-width: 820px) {
	.cta_title_sm {
		font-size: 3.5vw;
	}
}

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

.cta_text {
	font-family: 'Noto Serif JP', serif;
	text-align: center;
	font-size: 25px;
	font-weight: 700;
	color: #FFFFFF;
	/*padding-top: 30px;*/
}

@media screen and (max-width: 820px) {
	.cta_text {
		font-size: 3vw;
	}
}

@media screen and (max-width: 640px) {
	.cta_text {
		font-size: 4vw;
		/*padding-top: 4.5%;*/
		font-weight: 800;
	}
}

.cta_text_btm {
	font-size: 30px;
}

.cta_text_st {
	font-size: 35px;
	color: #ffff9f;
}

@media screen and (max-width: 820px) {
	.cta_text_btm {
		font-size: 3.7vw;
	}
	
	.cta_text_st {
		font-size: 4.3vw;
	}
}

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

.cta_btn_area {
	width: 100%;
	background-color: #FFFFFF;
	width: 790px;
	margin: 0 auto;
}

@media screen and (max-width: 820px) {
	.cta_btn_area {
		width: 100%;
	}
}

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

.cta_point_area {
	background-color: #ffff9f;
	position: relative;
	box-shadow: 0px 3px 0px rgba(239, 68, 7, 1);
}

.cta_point_flex {
	display: flex;
	width: 100%;
	margin: 30px auto 0;
	justify-content: center;
}

@media screen and (max-width: 640px) {
	.cta_point_flex {
		margin: 5.5% auto 0;
		padding: 0.7% 0 1%;
	}
}

.cta_point {
	width: 30%;
	text-align: left;
	font-size: 27px;
	font-weight: 700;
	background:url("../SVG/cta_check.svg");
	background-repeat: no-repeat;
	background-size: 30px 30px;
	background-position: left 4% center;
}

@media screen and (max-width: 820px) {
	.cta_point {
		font-size: 3.3vw;
	}
}

@media screen and (max-width: 640px) {
	.cta_point {
		font-size: 3.3vw;
		background-size: 18px 18px;
		font-weight: 800;
	}
}

.cta_point:not(:last-child){
	margin-right: 5%;
}

@media screen and (max-width: 640px) {
	.cta_point:not(:last-child){
		margin-right: 2%;
	}
}

.cta_point:first-child{
	text-align: right;
	background-position: left 25% center;
	padding-left: 1.5%;
	width: 32%;
}

@media screen and (max-width: 640px) {
	.cta_point:first-child{
		width: 24%;
		text-align: left;
		padding-left: 9.5%;
		background-position: left 13% center;
	}
}

.cta_point:nth-child(2n){
	text-align: center;
	padding-left: 5.5%;
	margin-right: 4%;
}

@media screen and (max-width: 640px) {
	.cta_point:nth-child(2n){
		background-position: left 0 center;
		padding-left: 6%;
		margin-right: 3%;
	}
}

.cta_point:last-child {
	background-position: left 0 center;
	padding-left: 4.5%;
}

@media screen and (max-width: 640px) {
	.cta_point:last-child {
		padding-left: 5.8%;
	}
}

.cta_check {
	display: block;
	width: 100%;
}

.cta_point::after{
	content: "";
	position: absolute;
	right: 0;
	bottom: -18px;
	left: 0;
	width: 0px;
	height: 0px;
	margin: auto;
	border-style: solid;
	border-color: #ffff9f transparent transparent transparent;
	border-width: 18px 30px 0 30px;
	filter: drop-shadow(0px 3px 0px #ef4407);
}

@media screen and (max-width: 640px) {
	.cta_point::after{
		bottom: -10px;
		border-width: 10px 15px 0 15px;
	}
}

.cta_btm_area {
	padding: 4.5% 0;
}

@media screen and (max-width: 640px) {
	.cta_btm_area {
		padding: 6.5% 0 5%;
	}
}

.cta_arrow {
	width: 18%;
	filter: drop-shadow(0px 3px 3px #999999);
	position: relative;
	z-index: 1;
	padding-top: 1%;
}

@media screen and (max-width: 640px) {
	.cta_arrow {
		width: 20%;
	}
}

.yureru-s {
    animation: yureru-s 2s infinite;
}
@keyframes yureru-s {
    0% {
        transform: 
		
		
		(2px, 0px);
    }
    5% {
        transform: translate(-2px, 0px);
    }
    10% {
        transform: translate(2px, 0px);
    }
    15% {
        transform: translate(-2px, 0px);
    }
    20% {
        transform: translate(2px, 0px);
    }
    25% {
        transform: translate(-2px, 0px);
    }
    30% {
        transform: translate(0px, 0px);
    }
}

.cta_line_flex {
	display: flex;
	width: 90%;
	margin: 0 auto;
}

@media screen and (max-width: 640px) {
	.cta_line_flex {
		width: 95%;
	}
}

.cta_mail {
	/*display: flex;*/
	width: 90%;
	margin: 0 auto;
}

@media screen and (max-width: 640px) {
	.cta_mail {
		width: 95%;
	}
}

.cta_line_btn {
	flex: 1;
	/* margin-left: -4%; */
}
.cta_line_btn a {position:relative;z-index:5}

.cta_line_btn .shiny-btn4 {
	padding: 9% 0 9.5%;
	padding-left: 7%;
	/*border-radius: 100px;*/
	border-radius: 15px;
	font-size: 36px;
	margin-top: 10px;
}

@media screen and (max-width: 820px) {
	.cta_line_btn .shiny-btn4 {
		font-size: 4.3vw;
	}
}

@media screen and (max-width: 640px) {
	.cta_line_btn .shiny-btn4 {
		padding: 10% 0 10.2%;
		padding-left: 7%;
		font-size: 4.5vw;
		width: 95%;
		box-shadow: 0 3px 0 0 #007c51;
		font-weight: 800;
		margin: 0 auto;
		margin-top: 5%;
		border-radius: 5px;
	}
}

.cta_line_btn .line_icon {
    left: 6%;
}

.cta_mail_btn a {position:relative;z-index:5}

.cta_mail_btn .shiny-btn4 {
	padding: 9% 0 9.5%;
	padding-left: 7%;
	border-radius: 15px;
	font-size: 36px;
	background: #737373;
	box-shadow: 0 4px 0 0 #3f3f3f;
	margin-bottom: 30px;
}

.cta_mail_btn .shiny-btn4:hover {
    text-decoration: none;
    color: #fff;
    opacity: 1;
    box-shadow: none;
    -webkit-transform: translateY(3px);
}

@media screen and (max-width: 820px) {
	.cta_mail_btn .shiny-btn4 {
		font-size: 4.3vw;
	}
}

@media screen and (max-width: 640px) {
	.cta_mail_btn .shiny-btn4 {
		padding: 10% 0 10.2%;
		padding-left: 7%;
		font-size: 4.5vw;
		width: 95%;
		box-shadow: 0 3px 0 0 #3f3f3f;
		font-weight: 800;
		margin: 0 auto;
		border-radius: 5px;
	}
}

.cta_mail_btn .line_icon {
    left: 6%;
}

.phone_ast {
	text-align: center;
	font-size: 16px;
	font-weight: 500;
	margin:30px auto 30px;
	width: 90%;
}

@media screen and (max-width: 820px) {
	.phone_ast {
		font-size: 2.3vw;
	}
}

@media screen and (max-width: 640px) {
	.phone_ast {
		font-size: 3vw;
		margin-top: 4%;
		margin-bottom: 4%;
	}
}

.cta_phone_btn {
	display: block;
	background-color: #FF662D;
	width: 90%;
	margin: 0 auto;
	/*background-image:url("../images/cta_btn_bg.png");
	background-repeat: no-repeat;
	background-position: left bottom;*/
	border-radius: 10px;
	/*margin-top: 2.5%;*/
	color: #FFFFFF;
	position: relative;
	transition: 0.2s;
    box-shadow: 0 4px 0 0 #FF4500;
	text-decoration: none;
}

@media screen and (max-width: 640px) {
	.cta_phone_btn {
		border-radius: 7px;
		/*background-image:url("../images/cta_btn_bg_sp.png");
		background-size: contain;*/
		box-shadow: 0 3px 0 0 #FF662D;
	}
}

.cta_phone_flex {
	display: flex;
	align-items: center;
	width: 100%;
	margin: 0 auto;
	padding: 1.5% 0;
}

@media screen and (max-width: 640px) {
	.cta_phone_flex {
		width: 90%;
		padding: 2% 0;
	}
}

.phone_text {
	font-weight: 700;
	font-size: 24px;
	letter-spacing: 0.08em;
	line-height: 1.2;
}

@media screen and (max-width: 820px) {
	.phone_text {
		font-size: 3vw;
	}
}

@media screen and (max-width: 640px) {
	.phone_text {
		font-size: 2.5vw;
		font-weight: 800;
	}
}
.phone_left{
	flex-basis: 25%;
}

@media screen and (max-width: 640px) {
	.phone_left{
		flex-basis: 15%;
	}
}

.phone_left img{
	height:100px;
}
@media screen and (max-width: 640px) {
	.phone_left img{
		height:50px;
	}
}


.phone_right {
	text-align: center;
	flex: 1;
	letter-spacing: 0.05em;
	display: flex;
	align-items: center;
	justify-content: flex-start;
}

.phone_info{
	text-align: center;
	width: 70%;
}

.phone_num {
	font-size: 56px;
	line-height: 1;
	font-family: "kepler-3-variable", sans-serif;
	font-variation-settings: "opsz" 5, "wdth" 80, "wght" 400;
}


@media screen and (max-width: 820px) {
	.phone_num {
		font-size: 5.5vw;
	}
}

@media screen and (max-width: 640px) {
	.phone_num {
		font-size: 7.6vw;
		padding-bottom: 1%;
		font-weight: 600;
	}
	.phone_info{
		width: 80%;
	}
	.phone_right {
		justify-content: space-between;
	}

}

.phone_time {
	font-size: 12px;
	line-height: 1;
}

@media screen and (max-width: 640px) {
	.phone_time {
		font-size: 2vw;
		font-weight: 700;
	}
}

.p_btn_arrow {
	top: 50%;
    right: 5%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
	position: absolute;
	width: 3%;
	display: flex;
}

.cta_phone_btn:hover {
    text-decoration: none;
    color: #fff;
    opacity: 1;
    box-shadow: none;
    -webkit-transform: translateY(3px);
}

@media screen and (max-width: 640px) {
	.p_btn_arrow{
		display: none!important;
	}
}


.sec1 {
	background-image:url("../images/sec1_bg.webp");
	background-repeat: no-repeat;
	background-position: center top;
	background-size: cover;
}

.sec_ttl_area {
	width: 100%;
	border-bottom: solid 1.5px #213252;
	padding-bottom: 2%;
}

.sec_ttl_eng {
	font-family: "kepler-3-variable", sans-serif;
	font-variation-settings: "opsz" 5, "wdth" 80, "wght" 400;
	font-style: italic;
	color: #b1b1b1;
	font-size: 93px;
	opacity: .2;
	line-height: 1;
	margin-left: -2%;
}

@media screen and (max-width: 820px) {
	.sec_ttl_eng {
		font-size: 7vw;
	}
}

@media screen and (max-width: 640px) {
	.sec_ttl_eng {
		font-size: 9vw;
		margin-left: 0;
	}
}

.sec_ttl {
	font-size: 62px;
	color: #213252;
	font-family: 'Noto Serif JP', serif;
	font-weight: 800;
	text-shadow: 7px 7px 0px rgba(33, 50, 82, 0.1);
	line-height: 1;
}

@media screen and (max-width: 820px) {
	.sec_ttl {
		font-size: 7.3vw;
	}
}

@media screen and (max-width: 640px) {
	.sec_ttl {
		font-size: 7vw;
		text-shadow: 3px 3px 0px rgba(33, 50, 82, 0.1);
		padding-left: 2%;
	}
}

.sec1_ttl {
	font-size: 85px;
}

.sec1_ttl_sm {
	font-size: 63px;
}

@media screen and (max-width: 820px) {
	.sec1_ttl {
		font-size: 8vw;
	}
	
	.sec1_ttl_sm {
		font-size: 6vw;
	}
}

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

.sec1_content {
	padding: 5% 0 10%;
}

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

.sec1_sol_area {
	width: 98%;
	margin: 0 auto;
	margin-top: 11%;
	margin-left: 2%;
}

@media screen and (max-width: 640px) {
	.sec1_sol_area {
		margin-top: 15%;
	}
}

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

@media screen and (max-width: 640px) {
	.sec1_sol_flex {
		display: block;
	}
}

.sec1_sol_box {
	width: 47%;
	padding-top: 30px;
	background-color: #FFFFFF;
	position: relative;
	box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px;
}

@media screen and (max-width: 640px) {
	.sec1_sol_box {
		width: 98%;
		margin: 0 auto;
	}
}

.sec1_sol_num {
	position: absolute;
	top: -6%;
	left: -5%;
	background-color: #213252;
	display: inline-block;
	color: #FFFFFF;
	font-size: 35px;
	font-family: 'Noto Serif JP', serif;
	font-weight: 700;
	letter-spacing: 0.05em;
	padding: 1% 3%;
	box-shadow: 7px 7px 0px 0px rgba(23, 93, 156, .2);
}

@media screen and (max-width: 820px) {
	.sec1_sol_num {
		font-size: 4vw;
	}
}

@media screen and (max-width: 640px) {
	.sec1_sol_num {
		top: -3%;
		left: -3%;
		font-size: 5vw;
		padding: 1% 2%;
		box-shadow: 4px 4px 0px 0px rgba(23, 93, 156, .2);
	}
}

.sec1_sol_pic {
	width: 29%;
	position: absolute;
	top: -8%;
	right: 0;
}

@media screen and (max-width: 640px) {
	.sec1_sol_pic {
		width: 22%;
		top: -4%;
	}
}

.sec1_sol_ttl {
	font-size: 53px;
	font-family: 'Noto Serif JP', serif;
	font-weight: 800;
	color: #213252;
	text-align: center;
}

@media screen and (max-width: 820px) {
	.sec1_sol_ttl {
		font-size: 6vw;
		padding: 0 1%;
	}
}

@media screen and (max-width: 640px) {
	.sec1_sol_ttl {
		font-size: 9vw;
		text-align: left;
	}
}

.sec1_ttl_shad {
	text-shadow: 7px 7px 0px rgba(33, 50, 82, 0.1);
}

@media screen and (max-width: 640px) {
	.sec1_ttl_shad {
		text-shadow: 4px 4px 0px rgba(33, 50, 82, 0.1);
	}
}

.sol_person {
	font-size: 16px;
	color: #313131;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 700;
	vertical-align: -5px;
}

@media screen and (max-width: 820px) {
	.sol_person {
		font-size: 1.6vw;
		vertical-align: -3px;
		display: inline-block;
		margin-left: -5%;
	}
}

@media screen and (max-width: 640px) {
	.sol_person {
		font-size: 3.5vw;
		vertical-align: -3px;
		display: inline-block;
		margin-left: -4%;
	}
}

.sol_ttl_area {
	padding-bottom: 3%;
}

@media screen and (max-width: 640px) {
	.sol_ttl_area {
		width: 93%;
		margin: 0 auto;
		padding-bottom: 3%;
	}
}

.sec1_g_area {
	background-image:url("../images/sec1_graph_bg.webp");
	background-repeat: no-repeat;
	background-position: center top;
	background-size: cover;
	padding: 8% 0 0;
}

.sec1_g_text {
	width: 85%;
	margin: 0 auto;
}

.sec1_g_text2 {
	width: 75%;
	margin: 0 auto;
}

.sol_btm_area {
	padding: 6% 5%;
}

@media screen and (max-width: 640px) {
	.sol_btm_area {
		padding: 10% 0 8.5%;
		width: 93%;
		margin: 0 auto;
	}
}

@media screen and (max-width: 375px) {
	.sol_btm_area {
		padding: 8% 0 8%;
	}
}

.sol_befo {
	background-color: #cacaca;
	display: inline-block;
	color: #313131;
	font-family: 'Noto Serif JP', serif;
	font-weight: 800;
	font-size: 20px;
	padding: 1% 2%;
	box-shadow: 5px 5px 0px 0px rgba(232, 232, 232, 1);
	letter-spacing: 0.05em;
	margin-bottom: 3%;
}

@media screen and (max-width: 820px) {
	.sol_befo {
		font-size: 2.4vw;
	}
}

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

.sol_befo_text {
	font-size: 18px;
	font-weight: 500;
	font-feature-settings: "palt" 1;
	letter-spacing: 0.05em;
}

@media screen and (max-width: 820px) {
	.sol_befo_text{
		font-size: 2.2vw;
	}
}

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

.sol_after {
	background-color: #213252;
	display: inline-block;
	color: #FFFFFF;
	font-family: 'Noto Serif JP', serif;
	font-weight: 700;
	font-size: 20px;
	padding: 1% 2%;
	box-shadow: 5px 5px 0px 0px rgba(23, 93, 156, .2);
	letter-spacing: 0.05em;
	margin-top: 5%;
	margin-bottom: 3%;
}

@media screen and (max-width: 820px) {
	.sol_after {
		font-size: 2.4vw;
	}
}

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

.sol_after_text {
	position: relative;
	font-size: 18px;
	font-weight: 500;
	font-feature-settings: "palt" 1;
	letter-spacing: 0.05em;
	background-image:url("../SVG/sec1_check.svg");
	background-repeat: no-repeat;
	background-position: left center;
	background-size: 20px 20px;
	padding-left: 7%;
}

@media screen and (max-width: 820px) {
	.sol_after_text {
		background-size: 16px 16px;
		font-size: 2.2vw;
	}
}

@media screen and (max-width: 640px) {
	.sol_after_text{
		font-size: 3.8vw;
		background-size: 16px 16px;
		padding-left: 6.5%;
	}
}

.sol_text_st {
	font-weight: 800;
	text-decoration: underline;
    text-decoration-thickness: 0.4em;
    text-decoration-color: rgba(255, 255, 168, 1);
    text-underline-offset: -0.2em;
    text-decoration-skip-ink: none;
}

.sec1_sol_box:nth-child(n+3){
	margin-top: 12%;
}

@media screen and (max-width: 640px) {
	.sec1_sol_box:nth-child(n+2){
		margin-top: 18%;
	}
}

.sec2_befo {
	background-image:url("../images/sec2_befo_bg.webp");
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size: cover;
	height: 300px;
	position: relative;
	z-index: 1;
}

.sec2_befo_flex {
	display: flex;
	justify-content: center;
	align-items: center;
	padding-top: 3%;
}

.sec2_befo_text {
	font-size: 39px;
	color: #FFFFFF;
	font-family: 'Noto Serif JP', serif;
	font-weight: 700;
	text-align: center;
	line-height: 1.5;
}

@media screen and (max-width: 820px) {
	.sec2_befo {
		height: 280px;
	}
	
	.sec2_befo_text {
		font-size: 4.7vw;
	}
	
	.sec2_befo_pic {
		width: 23%;
		transform: translate(0, -4%);
	}
}

@media screen and (max-width: 768px) {
	.sec2_befo {
		height: 265px;
	}
}

@media screen and (max-width: 640px) {
	.sec2_befo {
		height: 140px;
	}
	
	.sec2_befo_text {
		font-size: 4.5vw;
	}
	
	.sec2_befo_pic {
		width: 23%;
		transform: translate(0, -2%);
	}
}

@media screen and (max-width: 375px) {
	.sec2_befo {
		height: 125px;
	}
}

.sec2 {
	background-image:url("../images/sec2_bg.webp");
	background-repeat: no-repeat;
	background-position: center top;
	background-size: cover;
	margin-top: -55px;
}

.sec2_content {
	padding: 10% 0;
}

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

.sec2_ttl_l {
	font-size: 140px;
	font-weight: 700;
	line-height: 0;
}

.sec2_ttl_st {
	font-size: 90px;
}

@media screen and (max-width: 820px) {
	.sec2_ttl_l {
		font-size: 16vw;
	}
	
	.sec2_ttl_st {
		font-size: 10vw;
	}
}

@media screen and (max-width: 640px) {
	.sec2_ttl {
		line-height: 0;
		padding-top: 2%;
		padding-bottom: 5%;
	}
	
	.sec2_ttl_l {
		font-size: 14vw;
	}
	
	.sec2_ttl_st {
		font-size: 10vw;
	}
}

.sec2_method_area {
	width: 100%;
	margin: 0 auto;
	margin-top: 13%;
}

@media screen and (max-width: 640px) {
	.sec2_method_area {
		margin-top: 14%;
	}
}

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

@media screen and (max-width: 640px) {
	.method_flex {
		display: block;
	}
}

.method_box {
	width: 47%;
	background: rgb(255,255,255);
background: linear-gradient(90deg, rgba(255,255,255,1) 0%, rgba(255,255,239,1) 100%);
	box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px;
	border-radius: 10px;
	position: relative;
	padding-top: 5%;
}

@media screen and (max-width: 640px) {
	.method_box {
		width: 90%;
		margin: 0 auto;
		padding-top: 8%;
	}
}

.method_num {
	font-family: "kepler-3-variable", sans-serif;
font-variation-settings: "opsz" 5, "wdth" 80, "wght" 400;
	font-style: italic;
	font-size: 110px;
	color: #213252;
	line-height: 1;
	text-shadow: 9px 9px 0px rgba(33, 50, 82, 0.1);
	position: absolute;
	top: -7%;
	left: -7%;
}

@media screen and (max-width: 820px) {
	.method_num {
		font-size: 10vw;
		left: -4%;
	}
}

@media screen and (max-width: 640px) {
	.method_num {
		font-size: 14vw;
		text-shadow: 5px 5px 0px rgba(33, 50, 82, 0.1);
		top: -3%;
	}
}

.method_ttl_area {
	text-align: center;
}

.method_ttl_sm {
	font-size: 32px;
	font-family: 'Noto Serif JP', serif;
	font-weight: 800;
	line-height: 1.5;
}

@media screen and (max-width: 820px) {
	.method_ttl_sm {
		font-size: 3.8vw;
	}
}

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

.method_ttl {
	font-size: 75px;
	font-family: 'Noto Serif JP', serif;
	font-weight: 800;
	color: #213252;
	padding-top: 1%;
	border-bottom: solid 1px #213252;
	width: fit-content;
	margin: 0 auto;
}

@media screen and (max-width: 820px) {
	.method_ttl {
		font-size: 9vw;
	}
}

@media screen and (max-width: 640px) {
	.method_ttl {
		font-size: 14vw;
		line-height: 1;
		padding-top: 6%;
		padding-bottom: 4%;
	}
}

.method_pic_area {
	height: 220px;
}

@media screen and (max-width: 820px) {
	.method_pic_area {
		height: 180px;
	}
}

@media screen and (max-width: 640px) {
	.method_pic_area {
		height: 180px;
	}
}

@media screen and (max-width: 375px) {
	.method_pic_area {
		height: 160px;
	}
}

.method_pic {
	width: 63%;
	margin: 10% auto;
	text-align: center;
}

.method_pic2 {
	width: 67%;
}

.method_pic4 {
	width: 38%;
}

@media screen and (max-width: 640px) {
	.method_pic2 {
		transform: translate(0, 5%);
	}
	
	.method_pic3 {
		transform: translate(0, 2%);
	}
	
	.method_pic4 {
		transform: translate(0, 2%);
	}
}

.method_point {
	font-size: 21px;
	font-weight: 600;
	padding: 5% 5% 5% 12%;
	background:url("../SVG/sec2_check.svg");
	background-repeat: no-repeat;
	background-size: 22px 22px;
	background-position: left 4% center;
	font-feature-settings: "palt" 1;
	letter-spacing: 0.05em;
}

@media screen and (max-width: 820px) {
	.method_point {
		font-size: 2.5vw;
	}
}

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

.method_point:nth-child(2n+1){
	background-color: #e8eff5;
}

.method_point:nth-child(2n){
	background-color: #FFFFFF;
}

.method_box:nth-child(n+3){
	margin-top: 12%;
}

@media screen and (max-width: 640px) {
	.method_box:nth-child(n+2){
		margin-top: 15%;
	}
}

.sec3 {
	background-image:url("../images/sec3_bg.webp");
	background-repeat: no-repeat;
	background-position: center top;
	background-size: cover;
}

.sec3_content {
	padding: 4% 0 10%;
}

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

.sec3_ttl {
	text-align: right;
	font-size: 53px;
	position: relative;
}

@media screen and (max-width: 820px) {
	.sec3_ttl {
		font-size: 5.5vw;
	}
}

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

.sec3_ttl_l {
	font-size: 90px;
	padding-top: 1.5%;
	display: inline-block;
}

@media screen and (max-width: 820px) {
	.sec3_ttl_l {
		font-size: 10vw;
		padding-right: 2%;
	}
}

@media screen and (max-width: 640px) {
	.sec3_ttl_l {
		font-size: 9vw;
		padding-right: 2%;
	}
}

.sec3_ttl_left {
	display: inline-block;
	padding-right: 18%;
}

.sec3_ttl_circle {
	position: absolute;
	top: 0;
	left: 0;
	background-color: #213252;
	width: 200px;
	height: 200px;
	border-radius: 50%;
	box-shadow: 7px 7px 0px 0px rgba(23, 93, 156, .1);
}

@media screen and (max-width: 820px) {
	.sec3_ttl_circle {
		width: 180px;
		height: 180px;
	}
}

@media screen and (max-width: 640px) {
	.sec3_ttl_circle {
		width: 95px;
		height: 95px;
		box-shadow: 5px 5px 0px 0px rgba(23, 93, 156, .1);
	}
}

@media screen and (max-width: 375px) {
	.sec3_ttl_circle {
		width: 90px;
		height: 90px;
	}
}

.circle_text {
	position: absolute;
	top: 48%;
	left: 12%;
	line-height: 1.3;
	transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
	font-size: 25px;
	font-family: 'Noto Sans JP', sans-serif;
	color: #FFFFFF;
	letter-spacing: 0.05em;
	font-weight: 700;
	font-feature-settings: "palt" 1;
	text-align: center;
}

@media screen and (max-width: 820px) {
	.circle_text {
		font-size: 3vw;
	}
}

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

.sec3_circle_st {
	font-size: 35px;
}

@media screen and (max-width: 820px) {
	.sec3_circle_st {
		font-size: 4vw;
	}
}

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


.sec3_ttl_eng {
	padding-bottom: 1%;
}

.sec3_rate {
	width: 88%;
	margin-top: 9%;
}

@media screen and (max-width: 640px) {
	.sec3_rate {
		width: 98%;
	}
}

.rate_flex {
	display: flex;
}

.rate_point {
	font-size: 142px;
	font-family: 'Noto Serif JP', serif;
	font-weight: 700;
	line-height: 1;
	color: #e6753a;
	text-shadow: 12px 12px 0px rgba(230, 117, 58, 0.1);
	/*キラっと演出*/
	background-image: linear-gradient(
		70deg,
		#e6753a  45%, 
		#fff 50%,
		#e6753a 55% 
	);
	background-size: 500% 100%;
	background-clip: text;
	-webkit-background-clip: text;
	color: transparent;
	animation: shine 3s infinite;
}

@media screen and (max-width: 640px) {
	.rate_point {
		font-size: 20vw;
		text-shadow: 8px 8px 0px rgba(230, 117, 58, 0.1);
	}
}

@keyframes shine {
	0% {
		background-position: 100% 50%;
	}
	100% {
		background-position: 0% 50%;
	}
}

/*星評価-ここから*/
.rate{
	position: relative;
	display: inline-block;
	margin-top: 3%;
}

.rate:before{
	content: "★★★★★";
	color: #828282;
	font-size: 30px;
	letter-spacing: 0.5em;
}

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

.rate0-5:after,
.rate1:before,
.rate1:after,
.rate1-5:before,
.rate1-5:after,
.rate2:before,
.rate2:after,
.rate2-5:before,
.rate2-5:after,
.rate3:before,
.rate3:after,
.rate3-5:before,
.rate3-5:after,
.rate4:before,
.rate4:after,
.rate4-5:before,
.rate4-5:after,
.rate5:after{
	position: absolute;
	top:0;
	left:0;
	color: #FFA500;
	overflow: hidden;
	height: 40px;
}

@media screen and (max-width: 390px) {
	.rate0-5:after,
	.rate1:before,
	.rate1:after,
	.rate1-5:before,
	.rate1-5:after,
	.rate2:before,
	.rate2:after,
	.rate2-5:before,
	.rate2-5:after,
	.rate3:before,
	.rate3:after,
	.rate3-5:before,
	.rate3-5:after,
	.rate4:before,
	.rate4:after,
	.rate4-5:before,
	.rate4-5:after,
	.rate5:after{
		top:0.5;
	}
}

@media screen and (max-width: 375px) {
	.rate0-5:after,
	.rate1:before,
	.rate1:after,
	.rate1-5:before,
	.rate1-5:after,
	.rate2:before,
	.rate2:after,
	.rate2-5:before,
	.rate2-5:after,
	.rate3:before,
	.rate3:after,
	.rate3-5:before,
	.rate3-5:after,
	.rate4:before,
	.rate4:after,
	.rate4-5:before,
	.rate4-5:after,
	.rate5:after{
		top:3.5%;
	}
}

@media screen and (max-width: 360px) {
	.rate0-5:after,
	.rate1:before,
	.rate1:after,
	.rate1-5:before,
	.rate1-5:after,
	.rate2:before,
	.rate2:after,
	.rate2-5:before,
	.rate2-5:after,
	.rate3:before,
	.rate3:after,
	.rate3-5:before,
	.rate3-5:after,
	.rate4:before,
	.rate4:after,
	.rate4-5:before,
	.rate4-5:after,
	.rate5:after{
		top:8%;
	}
}

.rate .rate0-5:after,
.rate .rate1-5:after,
.rate .rate2-5:after,
.rate .rate3-5:after,
.rate .rate4-5:after{
	width: 15px;
	content: "★";
	font-size: 30px;
	letter-spacing: 0.5em;
}

@media screen and (max-width: 640px) {
	.rate .rate0-5:after,
	.rate .rate1-5:after,
	.rate .rate2-5:after,
	.rate .rate3-5:after,
	.rate .rate4-5:after{
		font-size: 4.5vw;
		width: 6.8%;
	}
}

.rate .rate1:after,
.rate .rate1-5:before{
	content: "★";
	font-size: 30px;
	letter-spacing: 0.5em;
}

@media screen and (max-width: 640px) {
	.rate .rate1:after,
	.rate .rate1-5:before{
		font-size: 4.5vw;
	}
}

.rate .rate1-5:after{
	left: 1.5em;
}

@media screen and (max-width: 390px) {
	.rate .rate1-5:after{
		left: 1.53em;
	}
}

@media screen and (max-width: 375px) {
	.rate .rate1-5:after{
		left: 1.5em;
	}
}

.rate .rate2:after,
.rate .rate2-5:before{
	content: "★★";
	font-size: 30px;
	letter-spacing: 0.5em;
}

@media screen and (max-width: 640px) {
	.rate .rate2:after,
	.rate .rate2-5:before{
		font-size: 4.5vw;
	}
}

.rate .rate2-5:after{
	left: 3em;
}

@media screen and (max-width: 390px) {
	.rate .rate2-5:after{
		left: 3.05em;
	}
}

@media screen and (max-width: 375px) {
	.rate .rate3-5:after{
		left: 3em;
	}
}

.rate .rate3:after,
.rate .rate3-5:before{
	content: "★★★";
	font-size: 30px;
	letter-spacing: 0.5em;
}

@media screen and (max-width: 640px) {
	.rate .rate3:after,
	.rate .rate3-5:before{
		font-size: 4.5vw;
	}
}

.rate .rate3-5:after{
	left: 4.5em;
}

@media screen and (max-width: 390px) {
	.rate .rate3-5:after{
		left: 4.57em;
	}
}

@media screen and (max-width: 375px) {
	.rate .rate3-5:after{
		left: 4.5em;
	}
}

.rate .rate4:after,
.rate .rate4-5:before{
	content: "★★★★";
	font-size:30px;
	letter-spacing: 0.5em;
}

@media screen and (max-width: 640px) {
	.rate .rate4:after,
	.rate .rate4-5:before{
		font-size: 4.5vw;
	}
}

.rate .rate4-5:after{
	left: 6em;
}

@media screen and (max-width: 390px) {
	.rate .rate4-5:after{
		left: 6.1em;
	}
}

@media screen and (max-width: 375px) {
	.rate .rate4-5:after{
		left: 6em;
	}
}


.rate .rate5:after{
	content: "★★★★★";
	font-size: 30px;
	letter-spacing: 0.5em;
}

@media screen and (max-width: 640px) {
	.rate .rate5:after{
		font-size: 4.5vw;
	}
}
/*星評価-ここまで*/

.review_count {
	text-align: center;
	color: #8d8d8d;
	font-weight: 600;
	font-size: 17px;
	letter-spacing: 0.05em;
}

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

.rate_right {
	flex: 1;
	margin-left: 5%;
}

@media screen and (max-width: 640px) {
	.rate_right {
		margin-left: 3%;
	}
}

.rate_ttl {
	font-size: 23px;
	color: #213252;
	font-family: 'Noto Serif JP', serif;
	font-weight: 700;
}

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

.rate_bar_area {
	margin-top: 2%;
}

@media screen and (max-width: 640px) {
	.rate_bar_area {
		margin-top: 5%;
	}
}

.rate_bar_flex {
	display: flex;
}

/*評価棒-ここから*/
.rate_bar {
	position: relative;
	flex: 1;
}

.rate_bar:before {
	content: "";
	display: inline-block;
	position: absolute;
	left: 0;
	bottom: 15px;
	width: 100%;
	height: 5px;
	border-radius: 5px;
	background: #d3d3d3;
}

@media screen and (max-width: 640px) {
	.rate_bar:before {
		bottom: 9px;
	}
}

.rate_bar:after {
	content: "";
	display: inline-block;
	position: absolute;
	left: 0;
	bottom: 15px;
	width: 100%;
	height: 5px;
	border-radius: 5px;
	background: #fbbc04;
}

@media screen and (max-width: 640px) {
	.rate_bar:after {
		bottom: 9px;
	}
}

.rate_bar.rate0:after {
	width: 0;
}

.rate_bar.rate10:after {
	width: 10%;
}

.rate_bar.rate20:after {
	width: 20%;
}

.rate_bar.rate30:after {
	width: 30%;
}

.rate_bar.rate40:after {
	width: 40%;
}

.rate_bar.rate50:after {
	width: 50%;
}

.rate_bar.rate60:after {
	width: 60%;
}

.rate_bar.rate70:after {
	width: 70%;
}

.rate_bar.rate80:after {
	width: 80%;
}

.rate_bar.rate90:after {
	width: 90%;
}

.rate_bar.rate100:after {
	width: 100%;
}
/*評価棒-ここまで*/

.rate_num {
	color: #8d8d8d;
	font-family: 'Noto Serif JP', serif;
	font-size: 22px;
	font-weight: 800;
	padding-right: 3%;
}

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

.review_area {
	margin-top: 7%;
	height: 550px;
	overflow: auto;
	padding-right: 20px;
}

.simplebar-track {
	border-radius: 10px;
	background: #d3d3d3;
}


.simplebar-scrollbar::before {
	border-radius: 10px;
	background:#09C9D9 !important;
}

.simplebar-scrollbar.simplebar-visible::before {
	opacity: 1;
}

@media screen and (max-width: 640px) {
	.simplebar-track.simplebar-vertical {
		width: 6px !important;
	}
	
	.simplebar-scrollbar::before {
		width: 6px !important;
		left: 0 !important;
	}
	
	.simplebar-track.simplebar-vertical .simplebar-scrollbar:before {
		top: 0 !important;
		bottom: 0 !important;
		left: 0 !important;
	}
}


.review_flex {
	display: flex;
}

.review_name_icon {
	width: 55px;
	height: 55px;
	border-radius: 50px;
	display: flex;
	align-items: center;
	justify-content: center;
}

@media screen and (max-width: 640px) {
	.review_name_icon {
		width: 40px;
		height: 40px;
	}
}

.review_icon_text {
	color: #FFFFFF;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 800;
	font-size: 23px;
	line-height: 1;
	padding-bottom: 5%;
}

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

.review_right {
	flex: 1;
	margin-left: 3%;
}

@media screen and (max-width: 640px) {
	.review_right {
		margin-left: 5%;
	}
}

.review_name_flex {
	display: flex;
	align-items: center;
}

.review_name {
	margin-right: 1%;
	font-weight: 500;
	font-size: 18px;
}

@media screen and (max-width: 640px) {
	.review_name {
		font-size: 3.5vw;
		margin-right: 3%;
	}
}

.review_text {
	width: 94%;
	padding-top: 2%;
	font-weight: 500;
	font-size: 18px;
}

@media screen and (max-width: 640px) {
	.review_text {
		width: 100%;
		font-size: 3.5vw;
		padding-top: 4%;
	}
}

.review_box:not(:last-child) {
	border-bottom: solid 1px #cccccc;
	padding-bottom: 5%;
}

@media screen and (max-width: 640px) {
	.review_box:not(:last-child) {
		padding-bottom: 7%;
	}
}

.review_box:not(:first-child) {
	padding-top: 5%;
}


/*星評価-ここから*/
.review_name_flex .rate{
	position: relative;
	display: inline-block;
	margin-top: 0;
}

.review_name_flex .rate:before{
	content: "★★★★★";
	color: #828282;
	font-size: 15px;
	letter-spacing: 0.3em;
	position: absolute;
	top: -13.5px;
}

@media screen and (max-width: 640px) {
	.review_name_flex .rate:before{
		font-size: 3vw;
		top: -10px;
	}
}

.review_name_flex .rate0-5:after,
.review_name_flex .rate1:before,
.review_name_flex .rate1:after,
.review_name_flex .rate1-5:before,
.review_name_flex .rate1-5:after,
.review_name_flex .rate2:before,
.review_name_flex .rate2:after,
.review_name_flex .rate2-5:before,
.review_name_flex .rate2-5:after,
.review_name_flex .rate3:before,
.review_name_flex .rate3:after,
.review_name_flex .rate3-5:before,
.review_name_flex .rate3-5:after,
.review_name_flex .rate4:before,
.review_name_flex .rate4:after,
.review_name_flex .rate4-5:before,
.review_name_flex .rate4-5:after,
.review_name_flex .rate5:after{
	position: absolute;
	top:-13.5px;
	left:0;
	color: #FFA500;
	overflow: hidden;
	height: 40px;
}

@media screen and (max-width: 640px) {
	.review_name_flex .rate0-5:after,
	.review_name_flex .rate1:before,
	.review_name_flex .rate1:after,
	.review_name_flex .rate1-5:before,
	.review_name_flex .rate1-5:after,
	.review_name_flex .rate2:before,
	.review_name_flex .rate2:after,
	.review_name_flex .rate2-5:before,
	.review_name_flex .rate2-5:after,
	.review_name_flex .rate3:before,
	.review_name_flex .rate3:after,
	.review_name_flex .rate3-5:before,
	.review_name_flex .rate3-5:after,
	.review_name_flex .rate4:before,
	.review_name_flex .rate4:after,
	.review_name_flex .rate4-5:before,
	.review_name_flex .rate4-5:after,
	.review_name_flex .rate5:after{
		top:-10px;
	}
}

.review_name_flex .rate .rate0-5:after,
.review_name_flex .rate .rate1-5:after,
.review_name_flex .rate .rate2-5:after,
.review_name_flex .rate .rate3-5:after,
.review_name_flex .rate .rate4-5:after{
	width: 7px;
	content: "★";
	font-size: 15px;
	letter-spacing: 0.3em;
}

@media screen and (max-width: 640px) {
	.review_name_flex .rate .rate0-5:after,
	.review_name_flex .rate .rate1-5:after,
	.review_name_flex .rate .rate2-5:after,
	.review_name_flex .rate .rate3-5:after,
	.review_name_flex .rate .rate4-5:after{
		font-size: 3vw;
	}
}

.review_name_flex .rate .rate1:after,
.review_name_flex .rate .rate1-5:before{
	content: "★";
	font-size: 15px;
	letter-spacing: 0.3em;
}

@media screen and (max-width: 640px) {
	.review_name_flex .rate .rate1:after,
	.review_name_flex .rate .rate1-5:before{
		font-size: 3vw;
	}
}


.review_name_flex .rate .rate1-5:after{
	left: 1.3em;
}

@media screen and (max-width: 640px) {
	.review_name_flex .rate .rate1-5:after{
		left: 2.6em;
	}
}

@media screen and (max-width: 390px) {
	.review_name_flex .rate .rate1-5:after{
		left: 1.32em;
		width: 6px;
	}
}

@media screen and (max-width: 375px) {
	.review_name_flex .rate .rate1-5:after{
		left: 1.27em;
		width: 5.5px;
	}
}

.review_name_flex .rate .rate2:after,
.review_name_flex .rate .rate2-5:before{
	content: "★★";
	font-size: 15px;
	letter-spacing: 0.3em;
}

@media screen and (max-width: 640px) {
	.review_name_flex .rate .rate2:after,
	.review_name_flex .rate .rate2-5:before{
		font-size: 3vw;
	}
}

.review_name_flex .rate .rate2-5:after{
	left: 2.6em;
}

@media screen and (max-width: 640px) {
	.review_name_flex .rate .rate2-5:after{
		left: 2.6em;
	}
}

@media screen and (max-width: 390px) {
	.review_name_flex .rate .rate2-5:after{
		left: 2.65em;
		width: 6px;
	}
}

@media screen and (max-width: 375px) {
	.review_name_flex .rate .rate2-5:after{
		left: 2.55em;
		width: 5.5px;
	}
}


.review_name_flex .rate .rate3:after,
.review_name_flex .rate .rate3-5:before{
	content: "★★★";
	font-size: 15px;
	letter-spacing: 0.3em;
}

@media screen and (max-width: 640px) {
	.review_name_flex .rate .rate3:after,
	.review_name_flex .rate .rate3-5:before{
		font-size: 3vw;
	}
}

.review_name_flex .rate .rate3-5:after{
	left: 3.9em;
}

@media screen and (max-width: 640px) {
	.review_name_flex .rate .rate3-5:after{
		left: 4.5em;
	}
}

@media screen and (max-width: 390px) {
	.review_name_flex .rate .rate3-5:after{
		left: 3.95em;
		width: 6px;
	}
}

@media screen and (max-width: 375px) {
	.review_name_flex .rate .rate3-5:after{
		left: 3.82em;
		width: 5.6px;
	}
}

.review_name_flex .rate .rate4:after,
.review_name_flex .rate .rate4-5:before{
	content: "★★★★";
	font-size: 15px;
	letter-spacing: 0.3em;
}

@media screen and (max-width: 640px) {
	.review_name_flex .rate .rate4:after,
	.review_name_flex .rate .rate4-5:before{
		font-size: 3vw;
	}
}

.review_name_flex .rate .rate4-5:after{
	left: 5.2em;
}

@media screen and (max-width: 640px) {
	.review_name_flex .rate .rate4-5:after{
		left: 5.1em;
	}
}

@media screen and (max-width: 390px) {
	.review_name_flex .rate .rate4-5:after{
		left: 5.3em;
		width: 6px;
	}
}

@media screen and (max-width: 375px) {
	.review_name_flex .rate .rate4-5:after{
		left: 5.1em;
		width: 5.5px;
	}
}

.review_name_flex .rate .rate5:after{
	content: "★★★★★";
	font-size: 15px;
	letter-spacing: 0.3em;
}

@media screen and (max-width: 640px) {
	.review_name_flex .rate .rate5:after{
		font-size: 3vw;
	}
}

/*星評価-ここまで*/


.sec4_ttl_area {
	background: url("../images/sec4_ttl_bg.webp");
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size: cover;
	padding: 30px 0 75px;
	height: 300px;
	position: relative;
	z-index: 1;
}

@media screen and (max-width: 820px) {
	.sec4_ttl_area {
		height: 245px;
	}
}

@media screen and (max-width: 640px) {
	.sec4_ttl_area {
		padding: 4% 0 75px;
		height: 95px;
	}
}

@media screen and (max-width: 375px) {
	.sec4_ttl_area {
		height: 80px;
	}
}

.sec4_ttl_area .sec_ttl_area {
	border-bottom: solid 2px #FFFFFF;
}

.sec4_ttl_eng {
	color: #FFFFFF;
}

.sec4_ttl {
	color: #FFFFFF;
	font-size: 48px;
}

.sec4_ttl_st {
	display: block;
	text-align: right;
	padding-top: 2%;
	font-size: 89px;
}

.sec4_ttl_l {
	font-size: 135px;
	line-height: 0;
	font-weight: 700;
}

@media screen and (max-width: 820px) {
	.sec4_ttl {
		font-size: 5.5vw;
	}
	
	.sec4_ttl_st {
		font-size: 10vw;
		padding-top: 3%;
	}
	
	.sec4_ttl_l {
		font-size: 14vw;
	}
}

@media screen and (max-width: 640px) {
	.sec4_ttl {
		font-size: 5.5vw;
	}
	
	.sec4_ttl_st {
		font-size: 9vw;
		padding-top: 3%;
	}
	
	.sec4_ttl_l {
		font-size: 13vw;
	}
}

.sec4_main_area {
	background: url("../images/fix_bg.webp");
	background-repeat: no-repeat;
	background-position: center top;
	margin-top: -50px;
	position: relative;
	z-index: 0;
	background-attachment: fixed;
	background-size: cover;
}

@media screen and (max-width: 820px) {
	.sec4_main_area {
		background-position: right top;
		background: none;
	}
	
	.sec4_sp_bg {
		width: 100%;
	}
	
	.sec4_sp_bg::before {
		content: "";
		display: block;
		position: fixed;
		top: 0px;
		left: 0px;
		z-index: -5;
		width: 100%;
		height: 100vh;
		background-image: url("../images/fix_bg.webp");
		background-size: cover;
		background-repeat: no-repeat;
		background-position: right top;
	}
}

@media screen and (max-width: 640px) {
	.sec4_main_area {
		background: none;
	}
}

.sec4_content {
	padding: 150px 0 100px;
}

@media screen and (max-width: 640px) {
	.sec4_content {
		padding: 58% 0 16%;
	}
}

.point_box {
	background-color: #FFFFFF;
	box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px;
	position: relative;
	padding: 40px 0;
	padding-right: 40px;
	width: 91%;
	margin-left: auto;
}

@media screen and (max-width: 640px) {
	.point_box {
		box-sizing: border-box;
		width: 100%;
		margin: 0 auto;
		padding: 13% 0 6%;
		padding-right: 0;
	}
}

.point_flex {
	display: flex;
	align-items: center;
}

@media screen and (max-width: 640px) {
	.point_flex {
		display: block;
	}
}

.point_num {
	font-family: "kepler-3-variable", sans-serif;
font-variation-settings: "opsz" 5, "wdth" 80, "wght" 400;
	font-style: italic;
	font-size: 71px;
	color: #213252;
	text-shadow: 7px 7px 0px rgba(33, 50, 82, 0.1);
	line-height: 1;
	display: inline-block;
	position: absolute;
	top: -57px;
	right: 0;
}

.point_num_l {
	font-size: 94px;
}

@media screen and (max-width: 820px) {
	.point_num {
		font-size: 7vw;
		top: -53px;
	}
	
	.point_num_l {
		font-size: 10vw;
	}
}

@media screen and (max-width: 640px) {
	.point_num {
		font-size: 9vw;
		top:-5%;
		z-index: 1;
		text-shadow: 4px 4px 0px rgba(33, 50, 82, 0.1);
	}
	
	.point_num_l {
		font-size: 12vw;
	}
}

.point_pic {
	margin-left: -15%;
	width: 100%;
}

@media screen and (max-width: 820px) {
	.point_pic {
		margin-left: -10%;
		width: 94%;
	}
}

@media screen and (max-width: 640px) {
	.point_pic {
		margin-left: 0;
		width: 70%;
		position: absolute;
		top: -51%;
		left: 50%;
		transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	}
}

.point_ttl {
	font-family: 'Noto Serif JP', serif;
	font-size: 35px;
	font-weight: 800;
	border-bottom: solid 1px #213252;
	padding-bottom: 1%;
}

@media screen and (max-width: 820px) {
	.point_ttl {
		font-size: 3.5vw;
	}
}

@media screen and (max-width: 640px) {
	.point_ttl {
		font-size: 5.8vw;
		text-align: center;
		padding-bottom: 2%;
	}
}

.point_right {
	width: 65%;
	margin-left: -1%;
}

@media screen and (max-width: 640px) {
	.point_right {
		width: 90%;
		margin: 0 auto;
	}
}

.point_text {
	padding-top: 4%;
	font-size: 19px;
	font-weight: 500;
}

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

.point_ast {
	text-align: right;
	font-size: 17px;
	padding-top: 3%;
}

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

.point_box:nth-child(2n+1) .point_flex {
	flex-direction: row;
}

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

.point_box:nth-child(2n) {
	padding-right: 0;
	padding-left: 40px;
	margin-right: auto;
	margin-left: 0;
}

@media screen and (max-width: 640px) {
	.point_box:nth-child(2n) {
		padding-left: 0;
	}
}

.point_box:nth-child(2n) .point_pic {
	margin-left: 15%;
}

@media screen and (max-width: 640px) {
	.point_box:nth-child(2n) .point_pic {
		margin-left: 0;
	}
	
	.point_pic3 {
		top: -56%;
	}
	
	.point_pic4 {
		top: -56%;
	}
}

.point_box:nth-child(2n) .point_num {
	top: -57px;
	left: 0;
}

@media screen and (max-width: 820px) {
	.point_box:nth-child(2n) .point_num {
		top: -53px;
		left: 0;
	}
}

@media screen and (max-width: 640px) {
	.point_box:nth-child(2n) .point_num {
		right: 0;
		left: auto;
		top: -5%;
	}
}

.point_box:nth-child(n+2){
	margin-top: 110px;
}

@media screen and (max-width: 640px) {
	.point_box:nth-child(n+2){
		margin-top: 50%;
		padding: 13% 0 8%;
	}
}

.sec5 {
	background: url("../images/sec5_bg.webp");
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center top;
}

.sec5_ttl_eng {
	color: #FFFFFF;
}

.sec5_ttl {
	color: #FFFFFF;
	font-size: 48px;
}

.sec5_ttl_st {
	display: block;
	font-size: 93px;
	padding-top: 2%;
	text-align: right;
	padding-right: 14%;
}

@media screen and (max-width: 820px) {
	.sec5_ttl {
		font-size: 5.5vw;
	}
	
	.sec5_ttl_st {
		font-size: 10.5vw;
		padding-right: 7%;
	}
}

@media screen and (max-width: 640px) {
	.sec5_ttl {
		font-size: 5.5vw;
	}
	
	.sec5_ttl_st {
		font-size: 10vw;
		padding-right: 7%;
	}
}

.sec5_ttl_area {
    border-bottom: solid 2px #FFFFFF;
}

@media screen and (max-width: 640px) {
	.sec5_ttl_area {
		padding-bottom: 3%;
	}
}

.sec5_content {
	padding: 50px 0 70px;
}

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

.sec5_top_text {
	text-align: center;
	font-size: 22px;
	font-family: 'Noto Serif JP', serif;
	font-weight: 500;
	color: #FFFFFF;
}

.sec5_top_text_st {
	font-weight: 700;
	text-decoration: underline;
	color: #ffff9f;
}

@media screen and (max-width: 640px) {
	.sec5_top_text {
		font-size: 4vw;
		text-align: justify;
		font-weight: 600;
	}
	
	.sec5_top_text_st {
		font-weight: 800;
	}
}

.sec5_main_area {
	padding-top: 50px;
}

@media screen and (max-width: 640px) {
	.sec5_main_area {
		padding-top: 7%;
	}
}

.sec5_tab_area {
	margin-top: 60px;
}

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

/*タブ切り替え全体のスタイル*/
.tabs {
	margin-top: 50px;
	background-color: #fff;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
	width: 90%;
	margin: 0 auto;
}

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

/*タブのスタイル*/
.tab_item {
	width: calc(100%/4);
	border-bottom: 3px solid #5ab4bd;
	background-color: #d9d9d9;
	line-height: 40px;
	font-size: 18px;
	text-align: center;
	color: #565656;
	display: block;
	float: left;
	text-align: center;
	font-weight: bold;
	transition: all 0.2s ease;
}

@media screen and (max-width: 820px) {
	.tab_item {
		font-size: 2.3vw;
	}
}

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

.tab_item:hover {
	opacity: 0.75;
}

/*ラジオボタンを全て消す*/
input[name="tab_item"] {
  display: none;
}

/*タブ切り替えの中身のスタイル*/
.tab_content {
  display: none;
  clear: both;
  overflow: hidden;
}


/*選択されているタブのコンテンツのみを表示*/
#tab01:checked ~ #tab01_content,
#tab02:checked ~ #tab02_content,
#tab03:checked ~ #tab03_content,
#tab04:checked ~ #tab04_content {
  display: block;
}

/*選択されているタブのスタイルを変える*/
.tabs input:checked + .tab_item {
  background-color: #5ab4bd;
  color: #fff;
}

.sec5_table {
	width: 100%;
}

.sec5_tr:not(:last-child) {
	border-bottom: solid 1px #a7a7a7;
}

.sec5_th {
	border-right: solid 1px #a7a7a7;
	text-align: center;
	font-size: 22px;
	font-weight: 600;
	padding: 3% 2%;
	width: 30%;
}

@media screen and (max-width: 820px) {
	.sec5_th {
		font-size: 2.3vw;
	}
}

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

.sec5_td {
	text-align: center;
	font-size: 22px;
	font-weight: 600;
	line-height: 1.2;
}

.sec5_td_ast {
	font-size: 16px;
}

@media screen and (max-width: 820px) {
	.sec5_td {
		font-size: 2.3vw;
	}
}

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

.tab_under_area {
	width: 90%;
	margin: 0 auto;
	margin-top: 40px;
}

@media screen and (max-width: 640px) {
	.tab_under_area {
		width: 100%;
		margin-top: 7%;
	}
}

.tab_under_text {
	color: #FFFFFF;
	font-size: 16px;
	padding-top: 1%;
}

.tab_under_text_st {
	font-weight: 600;
	color: #ffff9f;
	text-decoration: underline;
}

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

.sec6 {
	background: url("../images/sec6_bg.webp");
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center top;
	position: relative;
	z-index: -2;
	margin-top: -2px;
}

@media screen and (max-width: 640px) {
	.sec6 {
		background: url("../images/sec6_bg_sp.webp");
		background-repeat: no-repeat;
		background-size: cover;
		background-position: center top;
	}
}

.sec6_content {
	padding: 50px 0 60px;
}

@media screen and (max-width: 820px) {
	.sec6_content {
		padding: 4% 0 7%;
	}
}

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

.sec6_ttl {
	color: #FFFFFF;
	font-size: 43px;
	text-align: center;
}

@media screen and (max-width: 640px) {
	.sec6_ttl {
		font-size: 5.5vw;
		padding-left: 0;
	}
}

.sec6_ttl_area {
	border: none;
}

@media screen and (max-width: 640px) {
	.sec6_ttl_area {
		padding-bottom: 3%;
	}
}

.sec6_ttl_sub {
	font-size: 20px;
	display: inline-block;
	padding-bottom: 3%;
}

@media screen and (max-width: 640px) {
	.sec6_ttl_sub {
		font-size: 3.8vw;
		padding-bottom: 3.5%;
	}
}

.sec6_ttl_st {
	background-color: #ff5757;
	display: inline-block;
	margin: 0 0.5% 0 1.5%;
	padding: 0.5% 0.5% 1% 0.2%;
	text-shadow: none;
	font-size: 48px;
	position: relative;
}

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

.sec6_ttl_st:after {
	content: '';
	position: absolute;
	top:-7%;
	left:-3%;
	width: 100%;
	height: 100%;
	background-color: #ff9595;
	z-index: -1;
}

.sec6_main_area {
	margin-top: 4%;
}

.sec6_flex {
	display: flex;
	align-items: center;
}

@media screen and (max-width: 640px) {
	.sec6_flex {
		display: block;
	}
}

.sec6_left {
	width: 55%;
	margin-bottom: -3%;
	margin-right: 2%;
}

@media screen and (max-width: 640px) {
	.sec6_left {
		width: 95%;
		margin: 0 auto;
	}
}

.sec6_right {
	background: url("../images/sec6_bg2.webp");
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center top;
	outline : 1px solid #FFFFFF;
	outline-offset : -7px;
	padding: 2% 1.5%;
	flex: 1;
}

@media screen and (max-width: 640px) {
	.sec6_right {
		width: 92%;
		margin: 0 auto;
		margin-top: -12%;
		padding: 0;
	}
}

.sec6_text {
	color: #FFFFFF;
	font-family: 'Noto Serif JP', serif;
	font-weight: 700;
	font-size: 30px;
	text-align: center;
}

@media screen and (max-width: 820px) {
	.sec6_text {
		font-size: 3vw;
	}
}

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

.sec6_text1 {
	padding-top: 7%;
	padding-bottom: 5%;
}

.sec6_text_st {
	font-size: 53px;
	color: #ffff9f;
	border-bottom: 3px solid #ffff9f;
	display: inline-block;
	padding: 2% 0 0;
	margin-bottom: 4%;
}

@media screen and (max-width: 820px) {
	.sec6_text_st {
		font-size: 5.5vw;
	}
}

@media screen and (max-width: 640px) {
	.sec6_text_st {
		font-size: 8vw;
		padding: 1% 0 0;
	}
}

.sec6_text2 {
	line-height: 1.2;
	padding-bottom: 10%;
}

@media screen and (max-width: 640px) {
	.sec6_text2 {
		padding-bottom: 5.5%;
	}
}

.sec6_middle {
	width: 5%;
	margin-right: -2%;
	position: relative;
	z-index: 1;
}

@media screen and (max-width: 640px) {
	.sec6_middle {
		width: 10%;
		margin: 0 auto;
		margin-top: -2%;
		transform:rotate(90deg)
	}
}

.sec7 {
	margin-top: -2px;
}

.sec7_ttl_area {
	background: url("../images/sec7_ttl_bg.webp");
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size: cover;
	padding: 30px 0 75px;
	position: relative;
	z-index: 1;
}

@media screen and (max-width: 820px) {
	.sec7_ttl_area {
		padding: 2.5% 0 8%;
	}
}

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

.sec7_ttl {
	color: #FFFFFF;
	font-family: 'Noto Serif JP', serif;
	font-weight: 700;
	font-size: 45px;
	line-height: 1.5;
	text-align: center;
	padding-right: 3%;
}

@media screen and (max-width: 820px) {
	.sec7_ttl {
		font-size: 4.7vw;
	}
	
	.sec7_ttl_pic {
		width: 23%;
    	transform: translate(0, -4%);
	}
}

@media screen and (max-width: 640px) {
	.sec7_ttl {
		font-size: 5vw;
	}
	
	.sec7_ttl_pic {
		width: 23%;
		transform: translate(0, -2%);
	}
}

.sec7_ttl_flex {
	display: flex;
	align-items: center;
	justify-content: center;
	padding-bottom: 1%;
}

.sec7_main_area {
	background: url("../images/sec1_bg.jpg");
	background-repeat: no-repeat;
	background-position: center top;
	background-size: cover;
	margin-top: -52px;
}

.sec7_content {
	padding: 120px 0 70px;
}

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

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

.sec7_left {
	width: 47%;
}

.sec7_right {
	width: 47%;
}

.sec7_box {
	background-color: #FFFFFF;
	box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px;
	background: rgb(255,255,255);
background: linear-gradient(90deg, rgba(255,255,255,1) 0%, rgba(255,255,239,1) 100%);
	text-align: center;
	position: relative;
	padding-top: 8%;
}

@media screen and (max-width: 820px) {
	.sec7_box {
		padding-top: 11%;
	}
}

@media screen and (max-width: 640px) {
	.sec7_box {
		padding-top: 13%;
	}
}

.sec7_label {
	background-color: #e36625;
	box-shadow: 5px 5px 0px 0px rgba(230, 117, 58, .2);
	display: inline-block;
	font-size: 28px;
	color: #FFFFFF;
	font-family: 'Noto Serif JP', serif;
	font-weight: 700;
	position: absolute;
	top: -10%;
	left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	padding: 0 2%;
}

@media screen and (max-width: 820px) {
	.sec7_label {
		font-size: 3.5vw;
	}
	
	.sec7_label2 {
		width: 56%;
	}
}

@media screen and (max-width: 640px) {
	.sec7_label {
		font-size: 4.1vw;
		padding: 0 3%;
		box-shadow: 4px 4px 0px 0px rgba(230, 117, 58, .2);
	}
	
	.sec7_label2 {
		width: 68%;
	}
}

.sec7_box_ttl {
	text-align: center;
	font-size: 22px;
	font-family: 'Noto Serif JP', serif;
	font-weight: 800;
	line-height: 1.5;
}

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

.sec7_pic_area {
	margin-top: 4%;
}

@media screen and (max-width: 640px) {
	.sec7_pic_area {
		margin-top: 7%;
	}
}

.sec7_box_pic {
	width: 40%;
	margin: 0 auto;
}

@media screen and (max-width: 640px) {
	.sec7_box_pic {
		width: 52%;
		margin: 0 auto;
	}
}

.sec7_box_pic1 {
	width: 56.5%;
}

@media screen and (max-width: 640px) {
	.sec7_box_pic1 {
		width: 73.5%;
	}
}

.sec8 {
	background: url("../images/fix_bg.webp");
	background-repeat: no-repeat;
	background-position: center top;
	background-attachment: fixed;
	background-size: cover;
}

@media screen and (max-width: 820px) {
	.sec8 {
		background: none;
	}
}

@media screen and (max-width: 640px) {
	.sec8 {
		background: none;
	}
}

.sec8_ttl_st {
	font-size: 85px;
}

@media screen and (max-width: 820px) {
	.sec8_ttl_st {
		font-size: 9vw;
	}
}

.sec8_content {
	padding: 40px 0 80px;
}

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

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

@media screen and (max-width: 640px) {
	.sec8_flex {
		display: block;
	}
}

.sec8_box {
	background-color: #FFFFFF;
	width: 30%;
	border: solid 1px #384764;
}

@media screen and (max-width: 640px) {
	.sec8_box {
		width: 90%;
		margin: 0 auto;
	}
	
	.sec8_box:nth-child(n+1){
		margin-top: 7%;
	}
}

.step {
	background-color: #384764;
	color: #FFFFFF;
	font-size: 15px;
	text-align: center;
	font-weight: 700;
	padding: 2% 0 2.5%;
}

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

.flow_ttl {
	text-align: center;
	font-size: 22px;
	font-family: 'Noto Serif JP', serif;
	font-weight: 800;
}

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

.flow_pic_area {
	height: 150px;
}

@media screen and (max-width: 820px) {
	.flow_pic_area {
		height: 125px;
	}
}

@media screen and (max-width: 640px) {
	.flow_pic_area {
		height: 145px;
	}
}

.flow_pic {
	width: 30%;
	margin: 0 auto;
}

@media screen and (max-width: 640px) {
	.flow_pic {
		width: 24%;
	}
}

.flow_pic2 {
	width: 40%;
}

@media screen and (max-width: 640px) {
	.flow_pic2 {
		width: 32%;
	}
}

.flow_pic3 {
	width: 65%;
}

@media screen and (max-width: 640px) {
	.flow_pic3 {
		width: 53%;
	}
}

.sec8_flow_area {
	margin-top: 80px;
}

@media screen and (max-width: 640px) {
	.sec8_flow_area {
		margin-top: 11%;
	}
}

.flow_ttl {
	padding-bottom: 5%;
}

.flow_text {
	font-size: 17px;
	font-weight: 500;
	width: 90%;
	margin: 0 auto;
}

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

.flow_content {
	padding: 5% 0 12%;
}

@media screen and (max-width: 640px) {
	.flow_content {
		padding: 5% 0 7%;
	}
}

.sec9 {
	background: url(../images/sec9_bg.webp);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center top;
}

.sec9_ttl_eng {
	color: #FFFFFF;
}

.sec9_ttl {
	color: #FFFFFF;
	font-size: 85px;
}

@media screen and (max-width: 820px) {
	.sec9_ttl {
		font-size: 10vw;
	}
}

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

.sec9_ttl_area {
	border-bottom: solid 1.5px #FFFFFF;
}

.sec9_content {
	padding: 60px 0;
}

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

.accordion-area{
    list-style: none;
    width: 100%;
    margin: 80px auto 0;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 18px;
}

@media screen and (max-width: 970px) {
	.accordion-area{
		width: 95%;
		margin: 0 auto;
		margin-top: 7%;
	}
}

@media screen and (max-width: 640px) {
	.accordion-area{
		width: 95%;
		margin: 0 auto;
	}
}

.accordion-area li{
    margin: 30px 0;
}

@media screen and (max-width: 640px) {
	.accordion-area li:not(:first-child){
		margin: 20px 0;
	}
	
	.accordion-area li:first-child {
		margin: 40px 0 20px;
	}
}

.accordion-area section {
	background-color: #FFFFFF;
	border-radius: 15px;
}

@media screen and (max-width: 640px) {
	.accordion-area section {
		border-radius: 10px;
	}
}

.title {
    position: relative;
    cursor: pointer;
    font-weight: normal;
    padding: 3% 3% 3.5% 6%;
    transition: all .5s ease;
	color: #213252;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 22px;
	font-weight: 600;
}

@media screen and (max-width: 820px) {
	.title {
		font-size: 2.5vw;
	}
}

@media screen and (max-width: 640px) {
	.title {
		font-size: 4vw;
		padding: 4% 4% 4% 11%;
		line-height: 1.5;
	}
}

.title::before,
.title::after{
    position: absolute;
    content:'';
    width: 15px;
    height: 2px;
    background-color: #333;
    
}

@media screen and (max-width: 640px) {
	.title::before,
	.title::after{
		width: 10px;
	}
}

.title::before{
    top:48%;
    left: 2.5%;
    transform: rotate(0deg);
    
}
.title::after{    
    top:48%;
    left: 2.5%;
    transform: rotate(90deg);

}

.title.close::before{
	transform: rotate(45deg);
}

.title.close::after{
	transform: rotate(-45deg);
}

.box {
    display: none;
	margin:0 3% 3% 3%;
    padding: 0 3% 3.5%;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 18px;
	font-weight: 500;
	color: #313131;
}

.box_link {
	color: #1190de;
	text-decoration: none;
}

@media screen and (max-width: 640px) {
	.box {
		font-size: 3.8vw;
		padding: 0 3% 8%;
	}
}

.ans_st {
	font-weight: 800;
	text-decoration: underline;
    text-decoration-thickness: 0.4em;
    text-decoration-color: rgba(255, 255, 168, 1);
    text-underline-offset: -0.2em;
    text-decoration-skip-ink: none;
}

.sec10 {
	background: url("../images/fix_bg.webp");
	background-repeat: no-repeat;
	background-position: center top;
	background-attachment: fixed;
	background-size: cover;
}

@media screen and (max-width: 820px) {
	.sec10 {
		background: none;
	}
}

@media screen and (max-width: 640px) {
	.sec10 {
		background: none;
	}
}

.sec10_ttl {
	font-size: 85px;
}

@media screen and (max-width: 820px) {
	.sec10_ttl {
		font-size: 10vw;
	}
}

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

.sec10_content {
	padding: 40px 0;
}

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

.sec10_pic_area {
	margin-top: 70px;
}

@media screen and (max-width: 640px) {
	.sec10_pic_area {
		margin-top: 9%;
	}
}

.sec10_pic {
	width: 89%;
	margin: 0 auto;
}

@media screen and (max-width: 640px) {
	.sec10_pic {
		width: 100%;
		margin: 0;
	}
}

.sec10_table {
	border: solid #384764 1px;
	width: 89%;
	margin: 0 auto;
	margin-top: 80px;
}

@media screen and (max-width: 640px) {
	.sec10_table {
		width: 100%;
		margin-top: 11%;
	}
}

.sec10_th {
	background-color: #384764;
	color: #FFFFFF;
	font-family: 'Noto Serif JP', serif;
	font-weight: 700;
	font-size: 18px;
	text-align: center;
	padding: 4% 2%;
	width: 25%;
}

.sec10_td {
	background-color: #FFFFFF;
	font-family: 'Noto Serif JP', serif;
	font-weight: 500;
	font-size: 18px;
	padding: 4%;
}

.sec10_td a {
	color: #1190de;
	text-decoration: none;
}

@media screen and (max-width: 640px) {
	.sec10_th {
		display: block;
		width: 100%;
		box-sizing: border-box;
		font-size: 3.5vw;
		padding: 2% 2%;
		font-weight: 800;
	}
	
	.sec10_td {
		display: block;
		font-size: 3.5vw;
		text-align: center;
		line-height: 1.6;
		padding-bottom: 4.5%;
		font-weight: 700;
	}
}

.sec10_tr:not(:last-child) {
	border-bottom: solid 1px #bdc2cc;
}

@media screen and (max-width: 640px) {
	.sec10_tr:not(:last-child) {
		border-bottom: none;
	}
}

.sec10_td_text:not(:last-child){
	padding-bottom: 1%;
}

.sec11 {
	background: url("../images/fix_bg.webp");
	background-repeat: no-repeat;
	background-position: center top;
	background-attachment: fixed;
	background-size: cover;
}

@media screen and (max-width: 820px) {
	.sec11 {
		background: none;
	}
}

@media screen and (max-width: 640px) {
	.sec11 {
		background: none;
	}
}

.sec11_ttl {
	font-size: 85px;
}

@media screen and (max-width: 820px) {
	.sec11_ttl {
		font-size: 10vw;
	}
}

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

.sec11_content {
	padding: 60px 0 90px;
}

@media screen and (max-width: 820px) {
	.sec11_content {
		padding: 5% 0 13%;
	}
}

@media screen and (max-width: 640px) {
	.sec11_content {
		padding: 7% 0 13%;
	}
}

.sec11_ttl_sm {
	font-size: 50px;
}

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

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

.sec11_map {
	width: 90%;
	margin: 0 auto;
	margin-top: 80px;
}

.sec11_map iframe{
	width: 100%;
	height: 400px !important;
}

@media screen and (max-width: 640px) {
	.sec11_map {
		width: 95%;
		margin-top: 10%;
	}
	
	.sec11_map iframe{
		width: 100%;
		height: 200px!important;
	}
}

.sec11_root {
	width: 90%;
	margin: 0 auto;
	margin-top: 60px;
}

@media screen and (max-width: 640px) {
	.sec11_root {
		width: 95%;
		margin-top: 5%;
	}
}

.root_text {
	position: relative;
	font-family: 'Noto Serif JP', serif;
	font-weight: 500;
	font-size: 22px;
	border-bottom: solid 1px #175d9c;
	padding-left: 5%;
	padding-bottom: 1%;
}

@media screen and (max-width: 640px) {
	.root_text {
		font-size: 3.5vw;
		padding-left: 6%;
		font-weight: 700;
	}
}

.root_text:before {
	content: '';
	position: absolute;
	width: 11px;
	height: 11px;
	background-color: #FFFFFF;
	border-radius: 50px;
	outline : 6px solid #213252;
	top: 90%;
	left: 0;
}

@media screen and (max-width: 640px) {
	.root_text:before {
		width: 7px;
		height: 7px;
	}
}

.root_text:not(:first-child) {
	margin-top: 40px;
}

@media screen and (max-width: 640px) {
	.root_text:not(:first-child) {
		margin-top: 6%;
	}
}

footer {
	background-color: #213252;
	color: #FFFFFF;
	font-size: 16px;
	text-align: center;
	padding-bottom: 130px;
}

@media screen and (max-width: 640px) {
	footer {
		font-size: 3vw;
		padding-bottom: 70px;
	}
}

.footer_content {
	padding: 50px 0;
}

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

.footer_list {
	margin-bottom: 20px;
}

@media screen and (max-width: 640px) {
	.footer_list {
		margin-bottom: 2%;
	}
}

.footer_item a {
	color: #FFFFFF;
	text-decoration: none;
}


.marker-animation.active{
    background-position: -100% .8em;
}
 
.marker-animation {
    background-image: -webkit-linear-gradient(left, transparent 50%, rgb(255,250,153) 50%);
    background-image: -moz-linear-gradient(left, transparent 50%, rgb(255,250,153) 50%);
    background-image: -ms-linear-gradient(left, transparent 50%, rgb(255,250,153) 50%);
    background-image: -o-linear-gradient(left, transparent 50%, rgb(255,250,153) 50%);
    background-image: linear-gradient(left, transparent 50%, rgb(255,250,153) 50%);
    background-repeat: repeat-x;
    background-size: 200% .8em;
    background-position: 0 .8em;
    transition: all 2s ease;
    font-weight: 800;
}

.float_cta {
	background: url("../images/float_bg.webp");
	background-position: center top;
	background-size: cover;
	background-repeat: no-repeat;
	font-family: 'Noto Serif JP', serif;
	color: #FFFFFF;
	position: fixed;
	bottom: 0;
	width: 100%;
	z-index: 10;
}

@media screen and (max-width: 820px) {
	.float_cta .l-container {
		transform: translateX(-2.5%);
	}
}

@media screen and (max-width: 768px) {
	.float_cta .l-container {
		transform: translateX(-2%);
		width: 99%;
	}
}

@media screen and (max-width: 640px) {
	.float_cta .l-container {
		transform: translateX(0);
		width: 99%;
	}
}

.fl_content {
	padding: 4px 0 8px;
}

.fl_flex {
	display: flex;
	flex-direction: row-reverse;
	grid-gap:10px;
	justify-content:center;
}

@media screen and (max-width: 640px) {
	.fl_flex {
		align-items: center;
	}
}

.fl_notice{
	font-size:22px;
	text-align: center;
	color:#FFFFFF;
	margin-bottom:4px;
	line-height: 1.5;
	/*font-family: 'Noto Sans JP', sans-serif;*/
}

.fl_notice span {
	font-weight: 700;
	font-size:26px;
	color:#ffff9f;
}

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

.fl_left {
	flex: 1;
	flex-basis:55%;
}

.fl_right {
	flex: 1;
	flex-basis:45%;
}
/* 
.fl_phone_flex {
	display: flex;
	align-items: center;
	justify-content: center;
} */

.fl_line_flex {
	display: flex;
	padding-top: 10px;
}

@media screen and (max-width: 640px) {
	.fl_line_flex {
		padding-top: 0;
	}
}
/* 
.fl_phone_left {
	width: 12%;
}

@media screen and (max-width: 640px) {
	.fl_phone_icon {
		display: none;
	}
}

.fl_phone_right {
	text-align: center;
	padding-left: 10px;
}

.fl_phone_ttl {
	text-align: center;
	font-size: 18px;
	font-weight: 600;
}

@media screen and (max-width: 640px) {
	.fl_phone_ttl {
		display: none;
	}
}

.fl_phone_st {
	font-size: 22px;
	font-weight: 800;
	color: #ffff9f;
}

.fl_phone_num {
	font-family: "kepler-3-variable", sans-serif;
    font-variation-settings: "opsz" 5, "wdth" 80, "wght" 500;
	font-size: 46px;
	line-height: 1;
}

.fl_phone_num a {
	color: #FFFFFF;
	text-decoration: none;
}

.fl_phone_time {
	font-size: 14px;
}

@media screen and (max-width: 640px) {
	.fl_phone_num {
		display: none;
	}
} */

.fl_left{
	padding-top:10px;
}

.fl_phone_btn{
	background-color: #FF7100;
	box-shadow: 0px 3px 0px #E65700;
	border-radius: 10px;
	display: block;
	text-decoration: none;
	color:#fff;
	height:82px;
	padding:0px 0;
	box-sizing: border-box;
	transition:all .2s;
}
@media screen and (max-width: 640px) {
	.fl_phone_btn{
		border-radius: 5px;
		box-shadow: 0px 2px 0px #E65700;
	}
}
.fl_phone_btn:hover{
	transform:translateY(3px);
	box-shadow: none;
}
.fl_phone_inner{
	display: flex;
	justify-content: center;
	grid-gap:10px;
	width: 90%;
	margin:0 auto;
	padding:5px 0;
	height: 100%;
	box-sizing: border-box;
	font-family: 'Noto Sans JP', sans-serif;
}

@media screen and (max-width: 640px) {
	.fl_phone_inner{
		width: 93%;
	}
}

.fl_phone_icon{
	flex-grow:1;
	flex-shrink:1;
	flex-basis: 14%;
	height: 100%;
	display: flex;
	align-items: center;
}
.fl_phone_lead{
	flex-grow:1;
	flex-shrink:1;
	flex-basis: 40%;
	display: flex;
	align-items: center;
}
.fl_phone_info{
	flex-grow:1;
	flex-shrink:1;
	flex-basis: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	text-align: center;
	padding-right: 3px;
}
.fl_phone_arrow{
	flex-grow:1;
	flex-shrink:1;
	flex-basis: 5%;
	display: flex!important;
	align-items: center;
}
.fl_phone_info_wrapper{
	flex-grow:1;
	flex-shrink:1;
	flex-basis: 150%;
	display:flex;
}


.fl_phone_icon img{
	height: 80%;
	display: block;
}
.fl_phone_text{
	line-height: 1;
	font-size:11pt;
}
.fl_phone_text span{
	color:#ffff9f;
	font-size:14px;
	line-height: 1.4;
	font-weight: 600;
}

@media screen and (max-width: 640px) {
	.fl_phone_text span{
		font-size: 3vw;
	}
}

.fl_phone_num{
	font-family: "kepler-3-variable", sans-serif;
    font-variation-settings: "opsz" 5, "wdth" 80, "wght" 500;
    font-size: 31px;
    line-height: 1;
}
.fl_phone_time{
	font-size:12px;
	line-height: 0.8;
}
.fl_phone_text{
	line-height: 1;
}

@media screen and (max-width: 640px) {
	
	.fl_left{
		padding-top:0px;
	}
	.fl_phone_btn{
		height:53px;
	}
	.fl_phone_arrow,.fl_phone_num{
		display: none!important;
	}
	.fl_phone_icon{
	}
	.fl_phone_icon img{
	}
	.fl_phone_info_wrapper{
		flex-direction: column;
		grid-gap:5px;
		padding-top: 2.5%;
	}
	.fl_phone_lead{
		font-weight: bold;
		flex-grow: 0;
		flex-shrink: 0;
		flex-basis: 0;
	}
	.fl_phone_info{
		flex-grow: 0;
		flex-shrink: 0;
		flex-basis: 0;
	}
	.fl_phone_text{
		padding-top:2px;
		span{
			display: inline;
		}
	}
	.fl_phone_time{
		font-size:0.6em;
		font-size:2vw;
	}
}

.shiny-btn5{
	display: block;
	position: relative;
	overflow: hidden;
}
.shiny-btn5::before {
    position: absolute;
    content: '';
    display: inline-block;
    top: -180px;
    left: 0;
    width: 30px;
    height: 100%;
    background-color: #fff;
    animation: shiny-btn5 3s ease-in-out infinite;
}

@-webkit-keyframes shiny-btn5 {
    0% { -webkit-transform: scale(0) rotate(45deg); opacity: 0; }
    80% { -webkit-transform: scale(0) rotate(45deg); opacity: 0.5; }
    81% { -webkit-transform: scale(4) rotate(45deg); opacity: 1; }
    100% { -webkit-transform: scale(50) rotate(45deg); opacity: 0; }
}


.furueru-s {
    animation: furueru-s 2s infinite;
}
@keyframes furueru-s {
    0% {
        transform: translate(2px, 0px);
    }
    5% {
        transform: translate(-2px, 0px);
    }
    10% {
        transform: translate(2px, 0px);
    }
    15% {
        transform: translate(-2px, 0px);
    }
    20% {
        transform: translate(2px, 0px);
    }
    25% {
        transform: translate(-2px, 0px);
    }
    30% {
        transform: translate(0px, 0px);
    }
}


.fl_line_ttl {
	font-size: 18px;
	font-weight: 600;
	text-align: center;
}


@media screen and (max-width: 640px) {
	.fl_line_ttl {
		display: none;
	}
}

.fl_line_ttl_sm {
	font-size: 18px;
}

.fl_arrow {
	width: 18%;
	filter: drop-shadow(0px 3px 3px #4f525b);
	position: relative;
	z-index: 1;
}

@media screen and (max-width: 820px) {
	.fl_arrow {
		width: 20%;
	}
}

@media screen and (max-width: 640px) {
	.fl_arrow {
		display: none;
	}
}

.fl_line_btn {
	flex: 1;
	box-sizing: border-box;
	margin-left: -2%;
}

.fl_line_btn .shiny-btn4 {
	width: 100%;
	padding: 40px 0 42px;
	font-size: 17px;
	padding-left: 6%;
	box-sizing: border-box;
	border-radius: 10px;
}

@media screen and (max-width: 820px) {
	.fl_line_btn .shiny-btn4 {
		font-size: 2.3vw;
	}
}

@media screen and (max-width: 640px) {
	.fl_line_btn .shiny-btn4 {
		font-size: 3vw;
		padding: 0;
		width: 95%;
		height: 53px;
		line-height: 1.3;
		border-radius: 5px;
	}
	
	.fl_line_btn .shiny-btn4:before {
		width: 0;
		height: 0;
	}
	
	.fl_shiny_text {
		display: inline-block;
		position: absolute;
		width: 100%;
		left: 7%;
		top:50%;
		transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
	}
}

.fl_line_btn .line_icon {
	padding-left: 2%;
}



.fl_mail_btn {
	flex: 1;
	box-sizing: border-box;
	margin-left: -2%;
}

.fl_mail_btn .shiny-btn4 {
	width: 100%;
	padding: 40px 0 42px;
	font-size: 17px;
	padding-left: 6%;
	box-sizing: border-box;
	border-radius: 10px;
	background: #737373;
	box-shadow: 0 4px 0 0 #3f3f3f;
    transition: 0.2s;
}

.fl_mail_btn .shiny-btn4:hover {
    text-decoration: none;
    color: #fff;
    opacity: 1;
    box-shadow: none;
    -webkit-transform: translateY(3px);
}

@media screen and (max-width: 640px) {
	.fl_mail_btn .shiny-btn4 {
		border-radius: 5px;
	}
}

.fl_mail_btn .shiny-btn4:hover {
    text-decoration: none;
    color: #fff;
    opacity: 1;
    box-shadow: none;
    -webkit-transform: translateY(3px);
}

@media screen and (max-width: 820px) {
	.fl_mail_btn .shiny-btn4 {
		font-size: 2.3vw;
	}
}

@media screen and (max-width: 640px) {
	.fl_mail_btn .shiny-btn4 {
		font-size: 3vw;
		padding: 0;
		width: 95%;
		height: 53px;
		line-height: 1.3;
		box-shadow: 0 3px 0 0 #3f3f3f;
	}
	
	.fl_mail_btn .shiny-btn4:before {
		width: 0;
		height: 0;
	}
	
	.fl_shiny_text {
		display: inline-block;
		position: absolute;
		width: 100%;
		left: 7%;
		top:50%;
		transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
	}
}

.fl_mail_btn .line_icon {
	padding-left: 2%;
}

@media screen and (max-width: 640px) {
	/* .fl_phone_area {
		position: relative;
		top:50%;
		transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
	}
	
	.fl_phone_btn {
		text-align: center;
		display: block;
		background-color: #FF662D;
		width: 95%;
		margin: 0 auto;
		background-image:url("../images/cta_btn_bg.png");
		background-repeat: no-repeat;
		background-position: left bottom;
		border-radius: 50px;
		color: #FFFFFF;
		position: relative;
		transition: 0.2s;
		box-shadow: 0 2px 0 0 #FF4500;
		text-decoration: none;
		height: 53px;
		font-weight: 800;
		background-size: cover;
	}
	
	.fl_phone_text {
		font-size: 4vw;
		font-family: 'Noto Sans JP', sans-serif;
	}
	
	.fl_phone_time {
		font-family: 'Noto Sans JP', sans-serif;
		font-size: 2vw;
	}
	
	.fl_line_btn .line_icon {
		padding-left: 1%;
		width: 17%;
		left: 5%;
	} */
}

.fl_flex div:not(:first-child){
	margin-right: 3px;
}

@media screen and (max-width: 640px) {
	.fl_flex div:not(:first-child){
		margin-right: 0;
	}
}

.fl_flex .fl_left.fl_center {
	margin-right: 9px;
}

@media screen and (max-width: 640px) {
	.fl_flex .fl_left.fl_center {
		margin-right: -1%;
	}
}

#page_top{
	width: 50px;
	height: 50px;
	position: fixed;
	right: 1%;
	bottom: 18%;
	background: #3f98ef;
	opacity: 0.8;
	border-radius: 50%;
	z-index: 5;
	border: solid 1px #FFFFFF;
}

@media screen and (max-width: 1024px) {
	#page_top{
		bottom: 11%;
	}
}

@media screen and (max-width:768px) {
	#page_top{
		bottom: 13%;
	}
}

@media screen and (max-width:640px) {
	#page_top{
		width: 40px;
		height: 40px;
		bottom: 20vw;
	}
}

@media screen and (max-width:320px) {
	#page_top{
		bottom: 23vw;
	}
}

#page_top a{
  position: relative;
  display: block;
  width: 50px;
  height: 50px;
  text-decoration: none;
}

#page_top a::before{
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  content: '\f106';
  font-size: 25px;
  color: #fff;
  position: absolute;
  width: 25px;
  height: 25px;
  top: -15px;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}

@media screen and (max-width:640px) {
	#page_top a::before{
		top: -27px;
		right: 9px;
	}
}



.privacy-policy {
	background: url("../images/fix_bg.webp");
	background-repeat: no-repeat;
	background-position: top center;
	position: relative;
	z-index: 0;
	background-attachment: fixed;
	background-size: cover;
	background-position: top center;
}

@media screen and (max-width: 820px) {
	.privacy-policy  {
		background: none;
	}
}

.pp_area {
	padding-top: 50px;
	padding-bottom: 30px;
}

@media screen and (max-width: 1080px) {
	.pp_area {
		width: 95%;
		margin: 0 auto;
	}
}

@media screen and (max-width: 640px) {
	.pp_area {
		padding-top: 9%;
		padding-bottom: 4%;
	}
}

.pp_uni {
	padding-bottom: 40px;
}

.pp_uni:first-child {
	margin-bottom: 20px;
}

@media screen and (max-width: 640px) {
	.pp_uni {
		padding-bottom: 8%;
	}
	
	.pp_uni:first-child {
		margin-bottom: 3%;
	}
}

.page_title {
	font-size: 28px;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 700;
	padding-bottom: 20px;
}

.pp_title {
	font-size: 22px;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 700;
	padding-bottom: 6px;
	margin-bottom: 20px;
	border-left: 4px solid #213252;
	border-bottom: 1px solid #D8D8D8;
	padding-left: 1.8%;
}

.pp_text {
	font-size: 18px;
}

.pp_text a {
	color: #1190de;
	text-decoration: none;
}

@media screen and (max-width: 640px) {
	.page_title {
		font-size: 6vw;
	}
	
	.pp_title {
		font-size: 5vw;
		padding-left: 3%;
		padding-bottom: 1.4%;
	}
	
	.pp_text {
		font-size: 4vw;
	}
}

@media screen and (min-width: 640px) {
	.pcmode{
		display: block;
	}
	.spmode{
		display: none;
	}
	
}

@media screen and (max-width: 640px) {
	.pcmode{
		display: none;
	}
	.spmode{
		display: block;
	}
}

.fv .spmode .fv_img{
	width: 100%;
}

.fv .pcmode .fv_area{
	background-image: url('../images/fv_bg.webp');
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	padding:20px 0 0;
}

.fv .pcmode .fv_main{
	position: relative;
	height:600px;
	padding:20px 0;
	box-sizing: border-box;
}

.fv .pcmode .fv_main img{
	height: 100%;
	width: auto;
}

.fv .pcmode .fv_main .fv_left{
	position:absolute;
	left:0;
	top:0;
	z-index:10;
}

.fv .pcmode .fv_main .fv_right{
	position:absolute;
	right:0%;
	top:0;
	z-index:0;
}


.form {
	background: url(../images/sec1_bg.webp);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center top;
}

.form_ttl {
	font-size: 58px;
}

.form_ttl_sub {
	font-family: 'Noto Serif JP', serif;
	font-weight: 700;
	font-size: 30px;
	border-bottom: solid 1px #213252;
	padding-bottom: 5px;
	margin-bottom: 25px;
	width: 80%;
}

@media screen and (max-width: 820px) {
	.form_ttl {
		font-size: 50px;
	}
	
	.form_ttl_sub {
		font-size: 28px;
	}
}

@media screen and (max-width: 640px) {
	.form_ttl {
		font-size: 8vw;
	}
	
	.form_ttl.sec_ttl {
		padding: 0;
	}
	
	.form_ttl_sub {
		font-size: 3.6vw;
		margin-bottom: 4%;
	}
}

.form_ttl_area {
	border: none;
	position: relative;
}

.form_content {
	width: 790px;
	margin: 0 auto;
	padding: 60px 0;
}

@media screen and (max-width: 820px) {
	.form_content {
		width: 100%;
		margin: 0 auto;
	}
}

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

.form_ttl_text {
	font-size: 18px;
	font-weight: 500;
	padding-top: 40px;
}

@media screen and (max-width: 640px) {
	.form_ttl_text {
		font-size: 2.5vw;
		padding-top: 4%;
	}
}

.form_pic_area {
	width: 25.5%;
	position: absolute;
	top: 0;
	right: 0;
}

.form_pic_text {
	font-family: 'Noto Serif JP', serif;
	font-weight: 800;
	font-size: 28px;
	color: #213252;
	text-align: center;
	text-shadow: 4px 4px 0px rgba(33, 50, 82, 0.1);
}

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

label {
	font-size: 16px;
	font-weight: 600;
	display: inline-block;
}

@media screen and (max-width: 640px) {
	label {
		font-size: 3vw;
	}
}

label:hover {
	cursor: pointer;
}

.label_box {
	width: 25%;
}

@media screen and (max-width: 820px) {
	.label_box {
		width: 24%;
	}
}

.required {
	display: inline-block;
}

.required:after {
	content: "【必須】";
	color: #c1272d;
	font-size: 16px;
	font-weight: bold;
}

@media screen and (max-width: 640px) {
	.required:after {
		font-size: 3vw;
	}
}

input[type=text] {
	height: 45px;
	border: none;
	border: 1px solid #ccc;
	padding: 1.5%;
	width: 64%;
	font-size: 16px;
	margin-left:2%;
	font-family: 'Noto Sans JP', sans-serif;
	color: #313131;
	box-sizing: border-box;
}

@media screen and (max-width: 820px) {
	input[type=text] {
		width: 62%;
	}
}

@media screen and (max-width: 640px) {
	input[type=text] {
		width: 60%;
		font-size: 3.5vw;
		border-radius: 0;
	}
}

input[type=text]:focus {
	outline: 0;
	box-shadow: 0 0 0 2px rgb(33, 150, 243) inset;
}

input[type=email] {
	height: 45px;
	border: none;
	border: 1px solid #ccc;
	padding: 1.5%;
	width: 64%;
	font-size: 16px;
	margin-left:2%;
	font-family: 'Noto Sans JP', sans-serif;
	color: #313131;
	box-sizing: border-box;
}

@media screen and (max-width: 820px) {
	input[type=email] {
		width: 62%;
	}
}

@media screen and (max-width: 640px) {
	input[type=email] {
		width: 60%;
		font-size: 3.5vw;
		border-radius: 0;
	}
}

input[type=email]:focus {
	outline: 0;
	box-shadow: 0 0 0 2px rgb(33, 150, 243) inset;
}

input[type=tel] {
	height: 45px;
	border: none;
	border: 1px solid #ccc;
	padding: 1.5%;
	width: 64%;
	font-size: 16px;
	margin-left:2%;
	font-family: 'Noto Sans JP', sans-serif;
	color: #313131;
	box-sizing: border-box;
}

@media screen and (max-width: 820px) {
	input[type=tel] {
		width: 62%;
	}
}

@media screen and (max-width: 640px) {
	input[type=tel] {
		width: 60%;
		font-size: 3.5vw;
		border-radius: 0;
	}
}

input[type=tel]:focus {
	outline: 0;
	box-shadow: 0 0 0 2px rgb(33, 150, 243) inset;
}

.form_area {
	background: rgba(255,255,255,.8);
	padding: 40px 30px;
	margin-top: 40px;
}

@media screen and (max-width: 640px) {
	.form_area {
		margin-top: 5%;
		padding: 6% 3%;
	}
}

.f_item {
	position: relative;
	margin-top: 30px;
	display: flex;
	align-items: center;
}

.input_sample {
	position: absolute;
	top: -32px;
	left: 37%;
	color: #939393;
	font-size: 16px;
}

@media screen and (max-width: 640px) {
	.input_sample {
		font-size: 3vw;
		left: 41%;
		top: -28px;
		line-height: 1.5;
	}
}

@media screen and (max-width: 375px) {
	.input_sample {
		top: -24px;
	}
}

@media screen and (max-width: 640px) {
	.kariire .input_sample {
		top: -45px;
	}
}

@media screen and (max-width: 375px) {
	.kariire .input_sample {
		top: -40px;
	}
}

@media screen and (max-width: 320px) {
	.kariire .input_sample {
		top: -35px;
	}
}

.f_item:not(:first-child){
	margin-top: 60px;
}

.kariire_ttl {
	font-size: 16px;
	font-weight: 600;
}

@media screen and (max-width: 640px) {
	.kariire_ttl {
		font-size: 3vw;
	}
	
	.kariire .f_item:not(:first-child){
		margin-top: 19%;
	}
}

.kariire {
	margin-top: 50px;
}

@media screen and (max-width: 640px) {
	.kariire {
		margin-top: 10%;
	}
}

.kariire_ttl_area {
	border-bottom: 1px solid #313131;
	padding-bottom: 10px;
}

.c-form-checkbox-name {
    cursor: pointer;
    color: #313131;
    position: relative;
	font-size: 16px;
}

@media screen and (max-width: 640px) {
	.c-form-checkbox-name {
		font-size: 3vw;
	}
}

.c-form-checkbox-text {
	font-weight: 500;
	white-space: nowrap;
}

.p_check {
	margin-top: 5px;
}

@media screen and (max-width: 640px) {
	.p_check {
		margin-top: 0;
	}
}

input[type=checkbox] {
    position: absolute;
    white-space: nowrap;
    width: 1px;
    height: 1px;
    overflow: hidden;
    border: 0;
    padding: 0;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    margin: -1px;
}

.c-form-checkbox-name {
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    color: #313131;
    position: relative;
}

.c-form-checkbox-name:before {
    content: "";
    display: inline-block;
    width: 1.2em;
    height: 1.2em;
    border: 1px solid #ccc;
    margin-right: 10px;
    flex-shrink: 0;
	background: #FFFFFF;
}

input[type=checkbox]:checked {
    color: rgb(33, 150, 243);
}

input[type=checkbox]:checked + .c-form-checkbox-name:before {
    border: 1px solid rgb(33, 150, 243);
    background-color: rgb(33, 150, 243);
}

input[type=checkbox]:checked + .c-form-checkbox-name:after {
    content: "";
    position: absolute;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    left: 0.4em;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 0.4em;
    height: 0.65em;
    transform: translateY(-1px) rotate(45deg);
}

input[type=checkbox]:focus-visible + .c-form-checkbox-name .c-form-checkbox-text {
    background: linear-gradient(transparent 90%, rgba(33, 150, 243, 0.3) 90%);
}

.f_purpose .label_box label:hover {
	cursor: default;
}

.f_purpose {
	align-items: stretch !important;
	margin-top: 40px !important;
} 

@media screen and (max-width: 640px) {
	.f_purpose {
		margin-top: 6% !important;
	}
}

.purpose {
	margin-left: 1.8%;
}

@media screen and (max-width: 640px) {
	.purpose {
		padding-top: 1%;
	}
}

.optional {
	display: inline-block;
}

.optional:after {
	content: "【任意】";
	color: #c1272d;
	font-size: 16px;
	font-weight: bold;
	opacity: 0;
}

@media screen and (max-width: 640px) {
	.optional:after {
		font-size: 3vw;
	}
}

textarea {
	height: 140px;
	border: none;
	border: 1px solid #ccc;
	padding: 1.5%;
	width: 64%;
	font-size: 16px;
	margin-left:2%;
	font-family: 'Noto Sans JP', sans-serif;
	color: #313131;
	box-sizing: border-box;
}

@media screen and (max-width: 640px) {
	textarea {
		font-size: 3.5vw;
		border-radius: 0;
	}
}

textarea:focus {
	outline: 0;
	box-shadow: 0 0 0 2px rgb(33, 150, 243) inset;
}

.f_comment {
	align-items: stretch;
}

.agree {
	text-align: center;
	margin-top: 60px;
}

@media screen and (max-width: 640px) {
	.agree {
		margin-top: 9%;
	}
}

.terms {
	font-weight: 600;
}

.agree .c-form-checkbox-text {
	letter-spacing: 0.05em;
}

.agree .c-form-checkbox-text a {
	text-decoration: none;
	color: #1190de;
}

.form_btn {
	width: 70%;
	margin: 0 auto;
	display: block;
}

@media screen and (max-width: 640px) {
	.form_btn {
		width: 85%;
	}
}

.form_btn .shiny-btn4 {
	padding: 40px 0;
	margin-top: 40px;
	box-shadow: 0 4px 0 0 #6d0a00;
	background: #e6753a;
	font-size: 28px;
	padding-left: 4.5%;
}

@media screen and (max-width: 640px) {
	.form_btn .shiny-btn4 {
		width: 100%;
		font-size: 5vw;
		padding: 11% 0;
		padding-left: 4.5%;
		box-shadow: 0 3px 0 0 #6d0a00;
		margin-top: 5%;
	}
}

.form_btn .shiny-btn4:hover {
    text-decoration: none;
    color: #fff;
    opacity: 1;
    box-shadow: none;
    -webkit-transform: translateY(3px);
}

.form_btn .shiny-btn4::before {
    display: none;
}

.mail_icon {
	position: absolute;
	top: 52.5%;
    left: 6%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
	display: inline-block;
	width: 9%;
}

.cta_line_btn .mail_icon {
	top: 52%;
    left: 7.5%;
}

.fl_line_btn .mail_icon {
	top: 52%;
    left: 8.5%;
}

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

.form_btn .h_btn_arrow {
	top: 51.5%;
}

.form_ast {
	text-align: center;
	font-size: 16px;
	font-weight: 500;
	margin-top: 25px;
}

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

button {
	padding: 0;
	border: none;
	outline: none;
	font: inherit;
	color: inherit;
	background: none;
}


/* Confirmation */
#formWrap {}
table.formTable {width: 100%;border-collapse: separate;border-spacing: 0;text-align: left;font-size: 1.4rem;line-height: 1.5;border-top: 1px solid #ccc;border-left: 1px solid #ccc;}
table.formTable th {width: 30%;padding: 10px;font-weight: 400;vertical-align: top;border-right: 1px solid #ccc;border-bottom: 1px solid #ccc;border-top: 1px solid #fff;border-left: 1px solid #fff;background: #eee;}
table.formTable td {width: 70%;padding: 10px;vertical-align: top;border-right: 1px solid #ccc;border-bottom: 1px solid #ccc;}

#formWrap h4 {margin-bottom:0.8em;}
.error_messe {color:#ff0000;}

.mail_send {margin-top:25px;}
.mail_send input[type="submit"], .mail_send input[type="button"] {width:47%;margin:0 1%;max-width:300px;line-height:60px;font-size:1.2em;border-radius: 4px;}
.mail_send input[type="submit"]:disabled {background:#a1c3ec;border:none;color:#5488c9;}
.mail_send input[type="submit"] {background:#192c60;border:none;color:#fff;}
.mail_send input[type="button"] {background:#666666;border:none;color:#fff;}

@media only screen and (max-width:750px) {
  /* Confirmation */
  table.formTable {}
  table.formTable th {width:100%;display:block;border-top:none;border-left:none;}
  table.formTable td {width:100%;display:block;}
  table.formTable th, table.formTable td {-moz-box-sizing: border-box;-webkit-box-sizing: border-box;-o-box-sizing: border-box;-ms-box-sizing: border-box;box-sizing: border-box;}

}

/* ADD 20230313 */
.sp_br {display:none;}
.pc_con {display:block;}
.sp_con {display:none;}
.phone_ast {margin: 20px auto 8px;}
.cta_top-text {width: 85%;margin:10px auto;background:#ffffd1;border:1px solid #1f2d47;border-radius:10px;padding:20px;color:#2b2b2b;}
.cta_top-text1 {display:flex;align-items: center;justify-content:center;font-size:25px;font-weight:bold;}
.cta_top-text2 {padding:10px 30px 0;}
.cta_top-text2 > div {font-size:22px;text-align:center;}
.cta_top-text2 > ul {width: 85%;margin:20px auto;font-size:22px;}
.cta_top-text2 > ul > li {display:flex;align-items: center;}
.cta_top-text3 {width:94%;margin:15px auto;text-align:center;}
.cta_top-text3 p {font-size:35px;color:#1c2b45;font-weight:bold;border-bottom:1px solid #1c2b45;display:inline-block;}
.cta_top-icon1 {width:30px;height:auto;margin-right:0.4em;}
.cta_top-icon2 {width:30px;height:auto;margin-right:0.3em;}
.cta_top-textbtn {}
.cta_top-textbtn a {background:#cf0000;color:#fff;display:block;font-size:36px;font-weight:bold;text-align:center;border-radius:10px;line-height:90px;position:relative;}
.cta_top-textbtn a img {}
.cta_phone_btn {margin:0 auto 15px;}



@media screen and (max-width: 820px) {
	
	.cta_top-text {width: 85%;margin:10px auto;border-radius:10px;padding:20px;}
	.cta_top-text1 {font-size:23px;}
	.cta_top-text2 {padding:10px 10px 0;}
	.cta_top-text2 > div {font-size:20px;}
	.cta_top-text2 > ul {width: 80%;margin:20px auto;font-size:20px;}
	.cta_top-text3 {width:94%;margin:15px auto;}
	.cta_top-text3 p {font-size:4vw;}
	.cta_top-icon1 {width:25px;}
	.cta_top-icon2 {width:25px;}
	.cta_top-textbtn a {font-size:32px;line-height:80px;}
	.cta_phone_btn {margin:0 auto;}

}

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

	.sp_br {display:block;}
	.pc_con {display:none;}
	.sp_con {display:block;}

	.cta_top-text {width:96%;border-radius:8px;padding:15px 3%;}
	.cta_top-text1 {font-size:4.4vw;line-height:1.4em;}
	.cta_top-text2 {padding:10px 0 0;}
	.cta_top-text2 > div {font-size:3.4vw;}
	.cta_top-text2 > ul {width:90%;margin:10px auto 15px;font-size:16px;}
	.cta_top-text3 {width:96%;margin:15px auto;}
	.cta_top-text3 p {font-size:24px;line-height:1.4em;}
	.cta_top-icon1 {width:20px;margin-right:0.5em}
	.cta_top-icon2 {width:20px;}
	.cta_top-textbtn a {font-size:20px;border-radius:8px;line-height:60px;}

	.cta_point{
		font-size: 60%;
		padding: 1% 0;
	}

}
