@charset "utf-8";
/*------------------------------------------------------------
	汎用スタイル
------------------------------------------------------------*/
/* 81-LSM */
/* clearfix */	
.clearfix:after {content: "";display: block;clear: both;}
/* flex */	
.flex,.flexA,.flexB,.flexC {display: flex;flex-wrap: wrap;}
.flexA {justify-content: space-around;}
.flexB {justify-content: space-between;}
.flexC {justify-content: center;}
:root {
	scroll-behavior: inherit !important;
}
.outfit {
	font-family: "Outfit", sans-serif;
}
.inter {
	font-family: "Inter", sans-serif;
}
/*------------------------------------------------------------
	content
------------------------------------------------------------*/
.content {
	margin: 0 auto;
	padding: 0 2rem;
	max-width: 164rem;
	position: relative;
	z-index: 10;
	box-sizing: border-box;
}
@media all and (max-width: 896px) {
	.content {
		margin: 0 !important;
		padding: 0 2rem;
		max-width: inherit !important;
	}
}
/*------------------------------------------------------------
	headLine01
------------------------------------------------------------*/
.headLine01 {
	margin-bottom: 3rem;
}
.headLine01 .en {
	font-size: 9.6rem;
	font-weight: 700;
	font-family: "Outfit", sans-serif;
	letter-spacing: 0.2rem;
}
.headLine01 .jp {
	margin-top: 0.2rem;
	padding-left: 3.4rem;
	display: block;
	font-size: 2rem;
	font-weight: 500;
	letter-spacing: 0.2rem;
	background: url(../img/common/icon01.png) no-repeat left 0.3rem top 0.3rem / 2.2rem;
}
@media all and (max-width: 896px) {
	.headLine01 {
		margin-bottom: 2.4rem;
	}
	.headLine01 .en {
		font-size: 3.2rem;
	}
	.headLine01 .jp {
		margin: 0.6rem -0.1rem 0;
		padding: 0 0 0.5rem 2.7rem;
		font-size: 1.6rem;
		background-position: 0 0.4rem;
		background-size: 2rem;
	}
}
/*------------------------------------------------------------
	headLine02
------------------------------------------------------------*/
.headLine02 {
	margin-bottom: 8rem;
}
.headLine02 .en {
	font-size: 6.4rem;
	font-weight: 500;
	line-height: 1.5;
	font-family: "Outfit", sans-serif;
	letter-spacing: 0.2rem;
}
.headLine02 .jp {
	padding-left: 4.2rem;
	display: block;
	color: #000;
	font-size: 2.8rem;
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: 0.3rem;
	background: url(../img/common/icon02.png) no-repeat left 0.3rem top 1.4rem / 2.8rem;
}

.headLine02 .jp02{
	color: rgba(0, 0, 0, 0.5);
	font-size: 1.8rem;
	
}

.headLine02.style01 .en {
	font-size: 9.6rem;
	font-weight: 800;
}
.headLine02.style01 .jp {
	margin-top: 1.8rem;
	padding-left: 5rem;
	background-position: left 0.1rem top 1rem;
}
@media all and (max-width: 896px) {
	.headLine02 {
		margin-bottom: 5rem;
	}
	.headLine02 .en {
		font-size: 2.5rem;
		letter-spacing: 0.1rem;
	}
	.headLine02 .jp {
		padding-left: 2.8rem;
		font-size: 1.8rem;
		letter-spacing: 0.2rem;
		background-position: 0.2rem 1rem;
		background-size: 1.8rem;
	}
	.headLine02.style01 {
		margin-bottom: 4rem !important;
	}
	.headLine02.style01 .en {
		font-size: 4rem !important;
	}
	.headLine02.style01 .jp {
		margin-top: 0.8rem !important;
		padding-left: 2.5rem !important;
		font-size: 1.6rem !important;
		background-position: left top 0.8rem !important;
		background-size: 1.4rem !important;
	}
}
/*------------------------------------------------------------
	headLine03
------------------------------------------------------------*/
.headLine03 {
	margin-bottom: 5.4rem;
	text-align: center;
	color: #FFF;
}
.headLine03 .en {
	margin-bottom: 0.7rem;
	display: block;
	font-size: 6.4rem;
	font-weight: 700;
	font-family: "Outfit", sans-serif;
	letter-spacing: 0.2rem;
}
.headLine03 .jp {
	font-size: 2.8rem;
	font-weight: 700;
	letter-spacing: 0.3rem;
}
@media all and (max-width: 896px) {
	.headLine03 {
		margin-bottom: 1.8rem;
	}
	.headLine03 .en {
		margin-bottom: 0.4rem;
		font-size: 3.6rem;
	}
	.headLine03 .jp {
		font-size: 2rem;
		letter-spacing: 0.2rem;
	}
}
/*------------------------------------------------------------
	comEntryBox
------------------------------------------------------------*/
.comEntryBox {
	padding: 7.1rem 0 11.8rem;
	background: #6D8AEF url(../img/common/f_bg.png) no-repeat left top / 100%;
}
.comEntryBox .title {
	margin: 0 auto 7.2rem;
	padding-right: 4rem;
	width: fit-content;
	color: #FFF;
	font-size: 5rem;
	font-weight: 700;
	letter-spacing: 0.4rem;
}
.comEntryBox .link {
	margin: 0 auto;
	max-width: 111.8rem;
}
.comEntryBox .link a {
	padding: 0.2rem 8rem 1.6rem;
	position: relative;
	min-height: 16rem;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	box-sizing: border-box;
	background: #D8FF7E;
	border-radius: 12.9rem;
}
.comEntryBox .link a:hover {
	opacity: 0.7;
}
.comEntryBox .link .en {
	font-family: "Outfit", sans-serif;
	font-size: 10rem;
	font-weight: 500;
	letter-spacing: 0.2rem;
	-webkit-text-stroke: 0.3rem transparent; 
	-webkit-text-fill-color: #D8FF7E; 
	background: #000; 
	-webkit-background-clip: text; 
	line-height: 1.2;
}
.comEntryBox .link .jp {
	margin: 3rem 0 0 7rem;
	font-size: 2.4rem;
	font-weight: 500;
	letter-spacing: 0.3rem;
}
.comEntryBox .link .ico {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 7.5rem;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	width: 6.9rem;
	height: 6.9rem;
	font-size: 2.4rem;
	font-weight: 500;
	letter-spacing: 0.3rem;
	background-color: #6D8AEF;
	border-radius: 50%;
}
.comEntryBox .link .ico .material-symbols-outlined {
	color: #FFF;
	font-size: 3rem;
}
@media all and (max-width: 896px) {
	.comEntryBox {
		padding: 5rem 2rem 7rem;
	}
	.comEntryBox .title {
		margin: 0 auto 4rem;
		padding-right: 0;
		font-size: 2.5rem;
		letter-spacing: 0.3rem;
	}
	.comEntryBox .link {
		margin: 0 auto;
		max-width: 35rem;
	}
	.comEntryBox .link a {
		padding: 0.2rem 2rem;
		min-height: 7rem;
	}
	.comEntryBox .link .en {
		font-size: 3.5rem;
	}
	.comEntryBox .link .jp {
		margin: 0.2rem 0 0 1.5rem;
		font-size: 1.6rem;
		letter-spacing: 0.2rem;
	}
	.comEntryBox .link .ico {
		right: 1.5rem;
		width: 3rem;
		height: 3rem;
	}
	.comEntryBox .link .ico .material-symbols-outlined {
		font-size: 2rem;
	}
}
/*------------------------------------------------------------
	comLink01
------------------------------------------------------------*/
.comLink01 {
	max-width: 37.6rem;
}
.comLink01 a {
	color: #FFF;
	font-size: 1.8rem;
	font-weight: 700;
	letter-spacing: 0.2rem;
}
.comLink01 a .sub {
	padding: 0 0.5rem 0.1rem;
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	min-height: 5rem;
	border-radius: 5rem;
	box-sizing: border-box;
	z-index: 1;
	overflow: hidden;
}
.comLink01 a .sub::before {
	position: absolute;
	top: 0;
	right: 0;
	width: 0;
	height: 100%;
	border-radius: 5rem;
	background: linear-gradient(180deg, #DBFFE5 0%, #77A4FF 100%);
	content: '';
	z-index: -1;
	transition: width 0.6s cubic-bezier(.23, 1, .32, 1) 0s;
}
.comLink01 a .sub::after {
    position: absolute;
    top: 0;
    right: 1px;
    width: calc(100% - 2px);
    height: 100%;
    border-radius: 50rem;
    content: '';
    z-index: -2;
    background-color: #272830;
}
.comLink01 a .ico {
	margin-left: 1rem;
	line-height: 0;
}
.comLink01 a .ico .material-symbols-outlined {
	font-size: 2.6rem;
}
.comLink01.style01 a .sub {
	color: #272830;
}
.comLink01.style01 a .sub::after {
	background: #FFF;
}
.comLink01.style02 a .sub::before {
	background: #D8FF7E;
}
.comLink01.style03 a .sub {
	color: #FFF !important;
}
.comLink01.style03 a .sub::before {
	background: #6D8AEF;
}
@media all and (min-width: 897px) {
	.comLink01 a:hover {
		color: #272830;
	}
	.comLink01 a:hover .sub::before {
		left: 0;
		width: 100%;
	}
}
@media all and (max-width: 896px) {
	.comLink01 {
		margin: 0 auto !important;
		width: 100% !important;
		max-width: 34rem !important;
	}
	.comLink01 a {
		font-size: 1.6rem !important;
	}
	.comLink01 a .sub {
		padding: 0 2.5rem !important;
		min-height: 4.2rem !important;
		font-size: 1.4rem !important;
	}
	.comLink01 a .ico .material-symbols-outlined {
		font-size: 2rem !important;
	}
}
/*------------------------------------------------------------
	comBg
------------------------------------------------------------*/
.comBg {
	padding: 4.9rem 0 14rem;
	background-image: url(../img/common/bg01.png);
	background-repeat: no-repeat;
	background-position: right calc(50% - 63.5rem) top;
	background-size: 55.2rem;
}





@media all and (max-width: 896px) {
	.comBg {
		padding-bottom: 6rem;
		background-position: right top;
		background-size: 28rem;
	}
}


.comBg02 {
	background-image: url(../img/common/bg04.png);
    background-repeat: no-repeat;
    background-position: left calc(50% - 60.5rem) top;
    background-size: 39.2rem;
}
@media all and (max-width: 896px) {
	.comBg {
		padding-bottom: 6rem;
		background-position: right top;
		background-size: 28rem;
	}
}
/*------------------------------------------------------------
	comList
------------------------------------------------------------*/
.comList {
	margin: 0 auto;
	max-width: 132.2rem;
	gap: 4rem 0;
	position: relative;
}
.comList:before,
.comList:after {
	position: absolute;
	left: -26rem;
	top: 2.5rem;
	width: 44.3rem;
	aspect-ratio: 443/247;
	z-index: -1;
	background: url(../img/common/bg02.png) no-repeat left top/100%;
	content: "";
}
.comList:after {
	left: auto !important;
	right: -25.5rem;
	top: 54rem;
	bottom: -0.8rem;
	width: 30.2rem;
	aspect-ratio: 302/246;
	background-image: url(../img/common/bg03.png);
}
.comList li {
	width: 44.9%;
}
.comList .pho img {
	width: 100%;
}
.comList .ttl {
	margin: -5.2rem auto 3.2rem;
	width: 52.4rem;
}
.comList .ttl .sub {
	display: block;
	padding: 1.9rem;
	color: #fff;
	font-size: 3rem;
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: 0.3rem;
	text-align: center;
	border-radius: 2rem;
	background: #6D8AEF;
}
.comList li:nth-child(2) {
	margin-right: 2.4%;
}
.comList li:nth-child(2) .ttl .sub {
	color: #272830;
	background: #D8FF7E;
}
.comList .comLink01 {
	margin: 0 auto;
	max-width: 41.3rem;
}
.comList .comLink01 a {
	font-size: 2rem;
	font-weight: 500;
}
.comList .comLink01 a .sub {
	padding: 1.2rem 6rem 1.4rem 5.5rem;
	justify-content: space-between;
}
.comList .comLink01 a .ico {
	margin-top: 0.2rem;
}
@media all and (max-width: 896px) {
	.comList {
		display: block;
	}
	.comList:before,
	.comList:after {
		left: -5rem;
		top: 1.2rem;
		width: 22rem;
	}
	.comList:after {
		right: -5rem;
		bottom: -0.4rem;
		width: 15rem;
	}
	.comList li {
		width: auto;
	}
	.comList li:not(:last-child) {
		margin-bottom: 3rem;
	}
	.comList .ttl {
		margin: -3rem auto 1.5rem;
		width: 24rem;
	}
	.comList .ttl .sub {
		padding: 0.9rem;
		font-size: 2rem;
		border-radius: 1rem;
	}
	.comList li:nth-child(2) {
		margin-right: 0;
	}
	.comList .comLink01 {
		max-width: 25rem;
	}
	.comList .comLink01 a {
		font-size: 1.6rem;
	}
	.comList .comLink01 a .sub {
		padding: 0.8rem 3rem 0.9rem;
		min-height: inherit;
	}
}


.common_table th{

	width: 25%;
	border-bottom: 1px solid #000000;

}

.common_table td{
	width: 70%;
	padding: 20px 0 20px 6rem;
	border-bottom: 1px solid #000000;
}

.common_btn.bg_main{
	border: 2px solid #6D8AEF;
}

.common_btn.bg_main:hover{
	background-color: #fff;
	
}

.common_btn.bg_main:hover *{
	color: #6D8AEF;
}

.common_btn.bg_yellow{
	border: 2px solid #D8FF7E;
}

.common_btn.bg_yellow:hover{
	background-color: #fff;
}


main form table {
	width: 100%;
  }
  main form table tr {
	display: flex;
	margin-bottom: 10px;
  }
  main form table th {
	padding: 10px 20px;
	width: 30%;
	border-bottom: 1px solid #B7B7B7;
	flex-direction: column;
	align-items: baseline;
  }
  main form table td {
	width: 70%;
	border-bottom: 1px solid #B7B7B7;
	padding: 20px 0;
  }
  main form table td.radio {
	padding: 0 0 20px 0;
  }
  main form table td.con_frame01 input,
  main form table td.con_frame06 textarea {
	border: 1px solid #C7C7C7;
	width: 100%;
	background-color: #FFFFFF;
	padding: 5px;
  }
  main form table td .con_frame01,
  main form table td .con_frame06 {
	border-color: #C7C7C7;
  }
  main form table td .con_frame01.hoiku, main form table td .con_frame06.hoiku {
	border-color: #C7C7C7;
  }
  main form .contact_section01-item02 .pp-box {
	width: 100%;
	height: 130px;
	overflow-y: scroll;
	border: 1px solid #C7C7C7;
	background-color: #FFFFFF;
  }
  main form .checkbox-wrap .checkbox {
	width: 20px;
	height: 20px;
  }
  main form table.table02 th {
	width: 20%;
	padding: 20px 20px;
  }
  main form table.table02 td {
	font-weight: 400;
  }
  main form table.table02 label {
	margin-right: 20px;
	font-weight: 500;
  }
  main form table .common_btn {
	padding: 20px 60px;
	transition: 0.3s;
  }
  main form table .common_btn:hover {
	color: #fff;
  }
  main [type=button]:not(:disabled), main [type=reset]:not(:disabled), main [type=submit]:not(:disabled), main button:not(:disabled) {
	background: #6D8AEF;
	color: #fff;
	transition: 0.3s;
	padding: 10px 60px;
	font-weight: 600;
	font-size: 20px;
	border: 1px solid #6D8AEF;
  }
  main [type=button]:not(:disabled):hover, main [type=reset]:not(:disabled):hover, main [type=submit]:not(:disabled):hover, main button:not(:disabled):hover {
	background-color: #fff;
	color: #6D8AEF;
  }
  main [type=checkbox],
  main [type=radio] {
	margin-right: 10px;
  }

/*------------------------------------------------------------
	common
------------------------------------------------------------*/
@media all and (max-width: 896px) {


	.common_table{
		display: block;
	}

	.common_table th{

		width: 100%;
		display: block;
		border-bottom: none;
		padding: 10px 0 0 0;
	
	}
	
	.common_table td{
		width: 100%;
		display: block;
		padding: 10px 0;
	}

	main form table tr {
		display: block;
		width: 100%;
	  }
	  main form table tr th {
		display: block;
		width: 100%;
		border-bottom: none;
		padding: 0;
	  }
	  main form table tr td {
		display: block;
		width: 100%;
		padding: 10px 0 20px;
	  }
}
/*------------------------------------------------------------
	common
------------------------------------------------------------*/
@media all and (max-width: 896px) {
}
/*------------------------------------------------------------
	common
------------------------------------------------------------*/
@media all and (max-width: 896px) {
}
/*------------------------------------------------------------
	common
------------------------------------------------------------*/
@media all and (max-width: 896px) {
}