@charset "utf-8";
/*------------------------------------------------------------
	汎用スタイル
------------------------------------------------------------*/
/* 81-lxh */
/* 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;}
.en {font-family: "Oswald", sans-serif;}
/*------------------------------------------------------------
	mailForm
------------------------------------------------------------*/
.mailForm {
	margin: 0 auto;
	max-width: 100rem;
	color: #333;
	font-feature-settings: "palt";
}
.mailForm table {
	width: 100%;
	border-collapse: collapse;
}
.mailForm th,
.mailForm td {
	padding: 1rem 5.7rem 1rem 8.1rem;
	letter-spacing: 0.05em; 
	line-height: 1.5;
	word-break: break-all;
	text-align: left;
	vertical-align: top;
	box-sizing: border-box;
}
.mailForm th {
	padding: 2.4rem 0 0;
	width: 21.6%;
	text-align: right;
}
.mailForm th span {
	margin-left: 1rem;
	padding: 0.2rem 0 0.3rem;
	min-width: 3.5rem;
	display: inline-block;
	color: #fff;
	font-size: 1.2rem;
	line-height: 1;
	text-align: center;
	vertical-align: 0;
}
.mailForm th .must {
	background: #CC0011;
}
.mailForm th.taLeft {
	padding-top: 1.4rem;
}
.mailForm th.taLeft em {
	margin-left: -3rem;
	display: inline-block;
	vertical-align: -1.1rem;
	font-style: normal;
	line-height: 1.375;
	text-align: left;
}
.mailForm td {
	font-size: 1.8rem;
	letter-spacing: 0.04em; 
}
.mailForm select,
.mailForm textarea,
.mailForm input[type="text"],
.mailForm input[type="email"],
.mailForm input[type="tel"] {
	padding: 1rem 2.2rem;
	width: 100%;
	height: 5.4rem;
	color: #333;
	font-weight: 500;
	font-size: 1.8rem;
	letter-spacing: 0.04em; 
	border-radius: 0.3rem;
	border: 0.1rem solid #999;
	background: #fff;
	box-sizing: border-box;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none; 
	font-feature-settings: "palt";
}
.mailForm select {
	padding-right: 4rem;
	background: #fff url(../img/common/icon05.png) no-repeat right 1.8rem center / 1.6rem;
}
.mailForm textarea {
	height: 17rem;
	resize: vertical;
}
.mailForm input::-webkit-input-placeholder,
.mailForm textarea::-webkit-input-placeholder {
	color: #ccc;
}
.mailForm input:-moz-placeholder,
.mailForm textarea:-moz-placeholder {
	color: #ccc;
}
.mailForm input::-moz-placeholder,
.mailForm textarea::-moz-placeholder {
	color: #ccc;
}
.mailForm input:-ms-input-placeholder,
.mailForm textarea:-ms-input-placeholder {
	color: #ccc;
}
.mailForm .wid01 {
	width: 22.1rem !important;
}
.mailForm .wid02 {
	width: 26rem !important;
}
.mailForm .wid03 {
	width: 45.9rem !important;
}
.mailForm .radioList {
	margin-top: 0.8rem;
	display: block;
}
.mailForm .radioList > span {
	margin: 0;
	display: block;
}
.mailForm .radioList01 {
	display: flex;
	flex-wrap: wrap;
	gap: 0 3.5rem;
}
.mailForm input[type="radio"] {
	display: none;
}
.mailForm input[type="radio"] ~ span {
	padding: 0.5rem 0 0.7rem 2.8rem;
	display: inline-block;
	color: #333;
	font-size: 1.8rem; 
	letter-spacing: 0.04em; 
	background: url(../img/common/radio_img01.png) no-repeat left top 1rem / 2.1rem;
	cursor: pointer;
	font-weight: 700;
}
.mailForm input[type="radio"]:checked ~ span {
	background-image: url(../img/common/radio_img02.png);
}
.mailForm .radioList01 input[type="radio"]:checked ~ span {
	background-image: url(../img/common/radio_img03.png);
}
.mailForm .nameList {
	gap: 1.9rem;
}
.mailForm .timeDl {
	align-items: center;
	gap: 1.6rem 0;
}
.mailForm .timeDl dt {
	width: 10.8rem;
	font-weight: 700;
	padding-left: 0.7rem;
}
.mailForm .timeDl dd {
	width: calc(100% - 10.8rem);
}
.mailForm input.datepicker {
	cursor: default;
}
.mailForm .agree {
	margin-top: 1.2rem;
	color: #333;
	font-size: 1.8rem; 
	letter-spacing: 0.04em; 
	text-align: center;
}
.mailForm .agree a {
	color: #476B8F;
	text-decoration: underline;
}
.mailForm .submit {
	margin: 0 auto;
	width: 40.8rem;
	text-align: center;
}
.mailForm .submit li {
	margin-top: 3.2rem;
	position: relative;
	height: 7rem;
	cursor: pointer;
	border-radius: 5rem;
	background : linear-gradient(180deg, rgba(102, 102, 102, 1) 0%, rgba(51, 51, 51, 1) 100%);
	border: 0.2rem solid #fff;
	box-shadow: 0.3rem 0.3rem 0.6rem rgba(102, 102, 102, 0.4);
	transition: 0.3s;
}
.mailForm .submit li::after {
	width: 2.1rem;
	height: 2.1rem;
	position: absolute;
	top: 50%;
	right: 4.3rem;
	transform: translateY(-50%);
	background: url("../img/common/icon09.png") no-repeat left top / 100% 100%;
	content: "";
}
.mailForm .submit li.back::after {
	right: auto;
	left: 4.3rem;
	transform: translateY(-50%) rotate(180deg);
}
.mailForm .submit li input {
	width: 100%;
	height: 100%;
	color: #FFF;
	font-weight: 900;
	font-size: 2.1rem;
	letter-spacing: 0.04em;
	border-radius: 0;
	background-color: transparent;
	border: none;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10;
	cursor: pointer;
	padding: 0 7rem 0 8rem;
}
.mailForm .submit li .wpcf7-spinner {
	margin: 2rem 0 0;
    position: absolute;
    left: 50%;
    top: 100%;
    transform: translateX(-50%);
}
.mailForm.confirm select,
.mailForm.confirm input[type="text"],
.mailForm.confirm input[type="email"],
.mailForm.confirm input[type="tel"],
.mailForm.confirm textarea {
	color: #000 !important;
	opacity: 1;
	background: #ccc !important;
}
.mailForm.confirm input[type="text"]:-internal-autofill-selected,
.mailForm.confirm input[type="email"]:-internal-autofill-selected,
.mailForm.confirm input[type="tel"]:-internal-autofill-selected,
.mailForm.confirm textarea:-internal-autofill-selected {
    box-shadow: inset 0 0 0 100rem #ccc !important;
}
.mailForm.confirm input[type="radio"] ~ span {
	opacity: 0.7;
	cursor: default;
}
.ui-datepicker .ui-datepicker-prev span,
.ui-datepicker .ui-datepicker-next span,
.ui-widget-header .ui-icon {
	background: none;
	background: #333;
}
.ui-datepicker .ui-datepicker-prev span {
	clip-path: polygon(0 50%, 100% 0,100% 100%);
}
.ui-datepicker .ui-datepicker-next span {
	clip-path: polygon(0 0, 100% 50%,0 100%);
}
.mailForm .note {
	margin-top: 0.3rem;
	font-size: 1.4rem;
  	font-weight: 500;
	display: block;
}
.mailForm form {
	margin-top: -10rem;
	padding-top: 10rem;
}
@media all and (min-width: 897px) {
	.mailForm .submit li:hover {
		opacity: 0.7;
	}
	.mailForm .agree a:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	.mailForm th, .mailForm td {
		width: 100%;
		float: left;
	}
	.mailForm th {
		padding: 0;
		text-align: left;
	}
	.mailForm td {
		margin-bottom: 3rem;
		padding: 1rem 1rem 0;
	}
	.mailForm input[type="radio"] ~ span {
		font-size: 1.5rem;
		background-position: left top 0.9rem;
		background-size: 1.6rem auto;
	}
	.mailForm select,
	.mailForm textarea,
	.mailForm input[type="text"],
	.mailForm input[type="email"],
	.mailForm input[type="tel"] {
		font-size: 1.5rem;
		height: 4.4rem;
	}
	.mailForm .wid01 {
		width: 15rem !important;
	}
	.mailForm .nameList {
		gap: 1rem;
	}
	.mailForm .agree {
		font-size: 1.5rem;
	}
	.mailForm .submit {
		width: 30rem;
	}
	.mailForm .submit li input {
		padding: 0 4rem;
		font-size: 1.6rem;
	}
	.mailForm .submit li::after {
		width: 1.7rem;
		height: 1.7rem;
		right: 2rem;
	}
	.mailForm .submit li.back::after {
		right: auto;
		left: 2rem;
	}
	.mailForm .submit li {
		height: 6rem;
	}
	.mailForm td {
		font-size: 1.5rem;
	}
	.mailForm .timeDl dt {
		width: 8.8rem;
	}
	.mailForm .timeDl dd {
		width: calc(100% - 8.8rem);
	}
	.mailForm .wid03 {
		width: 100% !important;
	}
	.mailForm th.taLeft em {
		margin-left: 0;
	}
}
/*------------------------------------------------------------
	common
------------------------------------------------------------*/


.content {
	margin: 0 auto;
	max-width: 110rem;
}
@media all and (max-width: 896px) {
	.content {
		margin: 0 2rem;
		max-width: inherit;
	}
}

/* headLine01 */
.headLine01 {
	margin-bottom: 6.8rem;
	color: #333333;
	font-size: 2rem;
	text-align: center;
	font-weight: 500;
}
.headLine01 .en {
	font-size: 10rem;
	display: block;
	line-height: 1;
	font-weight: 300;
	letter-spacing: -0.015em;
	margin-bottom: 1rem;
}
.headLine01.white {
	color: #fff;
}
@media all and (max-width: 896px) {
	.headLine01 {
		margin-bottom: 5rem;
		font-size: 1.6rem;
	}
	.headLine01 .en {
		font-size: 5.2rem;
	}
}

/* headLine02 */
.headLine02 {
	font-size: 2.4rem;
	font-weight: 700;
	border-left: 0.4rem solid #cc0011;
	padding: 0 0 0.5rem 1.4rem;
	line-height: 1.45;
	letter-spacing: 0.035em;
	margin-bottom: 2.8rem;
}
@media all and (max-width: 896px) {
	.headLine02 {
		font-size: 2rem;
		padding: 0.2rem 0 0.3rem 1.4rem;
	}
}

/* headLine03 */
.headLine03 {
	margin-bottom: 3.7rem;
	color: #333;
	position: relative;
	font-size: 3.2rem;
	line-height: 1;
	font-weight: 700;
	text-align: center;
	letter-spacing: 0.05em;
}
.headLine03::before {
	width: 100%;
	height: 0.1rem;
	position: absolute;
	top: 50%;
	left: 0;
	background-color: #000000;
	content: "";
}
.headLine03 span {
	padding: 0 3.5rem;
	display: inline-block;
	vertical-align: top;
	background-color: #fff;
	position: relative;
	z-index: 10;
}

/* headLine04 */
.headLine04 {
	margin-bottom: 6.2rem;
	color: #333333;
	font-size: 4rem;
	line-height: 1.45;
	text-align: center;
	letter-spacing: 0.03em;
}
@media all and (max-width: 896px) {
	.headLine04 {
		font-size: 2.5rem;
	}
}

/* headLine05 */
.headLine05 {
	margin-bottom: 6rem;
	color: #333;
	font-size: 4.2rem;
	line-height: 1.45;
	position: relative;
	font-weight: 400;
	text-align: center;
}
.headLine05 .sml {
	font-size: 3.4rem;
}
.headLine05::after {
	width: 2.8rem;
	height: 1.2rem;
	position: absolute;
	bottom: -2.2rem;
	left: 50%;
	transform: translateX(-50%);
	background: url("../img/common/icon07.png") no-repeat left top / 100% 100%;
	content: "";
}
.headLine05.white {
	color: #fff;
}
.headLine05.white::after {
	filter: brightness(0) invert(1);
}
@media all and (max-width: 896px) {
	.headLine05 {
		font-size: 2.8rem;
	}
	.headLine05 .sml {
		font-size: 2.5rem;
	}
}


/* comBtn */
ul.comBtn {
	display: flex;
	gap: 1.1rem;
}
.comBtn a {
	padding-top: 1.2rem;
	width: 12rem;
	height: 8rem;
	display: flex;
	align-items: center;
	font-size: 1.3rem;
	color: #fff;
	background-color: #333333;
	text-align: center;
}
.comBtn .inner {
	display: block;
	width: 100%;
}
.comBtn .txt {
	margin-top: 0.7rem;
	display: block;
}
.comBtn img {
	width: 3.2rem;
}
.comBtn .line {
	background-color: #06c655;
	color: #fff;
}
.comBtn .line img {
	width: 3.4rem;
}
.comBtn .line .txt {
	margin-top: 0.4rem;
}
@media all and (min-width: 897px) {
	.comBtn a:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	ul.comBtn {
		display: block;
	}
	ul.comBtn li {
		margin-bottom: 0.8rem;
	}
	ul.comBtn li:last-child {
		margin-bottom: 0;
	}
	.comBtn a {
		padding: 0;
		margin: 0 auto;
		max-width: 27.5rem;
		width: 100%;
		height: 5rem;
		font-size: 1.5rem;
	}
	.comBtn .txt {
		margin: 0;
		min-width: 15.5rem;
		display: inline-block;
		vertical-align: middle;
	}
	.comBtn img {
		width: 2.8rem;
		display: inline-block;
		vertical-align: middle;
		margin: 0.3rem 1rem 0 -1.9rem;
	}
	.comBtn .line img {
		width: 2.6rem;
	}
	.comBtn .line .txt {
		margin-top: 0;
		padding-right: 20px;
	}
}

/* pagePath */
#pagePath {
	margin-bottom: 3.1rem;
	padding: 0.6rem 0;
	font-size: 1.2rem;
	font-weight: 300;
}
#pagePath ul {
	margin: 0 auto;
	max-width: 119.8rem;
	display: flex;
	flex-wrap: wrap;
	gap: 2.6rem;
	letter-spacing: 0.1em;
}
#pagePath ul li:first-child {
	letter-spacing: 0;
}
#pagePath ul li {
	color: #000;
	position: relative;
}
#pagePath ul li::after {
	margin: 0.1rem 0 0 1.1rem;
	width: 0.5rem;
	height: 0.8rem;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 100%;
	background: url("../img/common/icon06.png") no-repeat left top / 100% 100%;
	content: "";
}
#pagePath ul li:last-child:after {
	display: none;
}
#pagePath ul a {
	color: #476b8f;
}
@media all and (min-width: 897px) {
	#pagePath ul a:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	#pagePath {
		padding: 0.7rem 1.5rem;
	}
}


/* comTel */
.comTel {
	margin-bottom: 5rem;
	font-size: 1.4rem;
	line-height: 1;
}
.comTel a {
	font-size: 3.8rem;
	display: inline-block;
	font-weight: 300;
	letter-spacing: -0.02em;
}
.comTel a img {
	margin: -1.2rem 0.7rem 0 0;;
	width: 3.4rem;
	display: inline-block;
	vertical-align: middle;
}
.comTel .jp {
	margin-top: 0.7rem;
	display: block;
}

/* mainBox */
#sideBar .sideTtl {
	margin-bottom: 0.3rem;
	padding-bottom: 1.7rem;
	line-height: 1;
	border-bottom: 0.2rem solid #4a4f51;
	font-size: 1.4rem;
	font-weight: 500;
	position: relative;
}
#sideBar .sideTtl .en {
	font-size: 3rem;
	font-weight: 300;
	margin-right: 2.5rem;
	letter-spacing: -0.01em;
}
#sideBar .sideTtl::before {
	width: 5.8rem;
	height: 0.2rem;
	position: absolute;
	bottom: -0.2rem;
	left: 0;
	content: "";
	background-color: #cc0011;
}
#sideBar .comLink + .sideTtl {
	margin-top: 11.8rem;
}
@media all and (min-width: 897px) {
	.mainBox {
		max-width: 120rem;
		display: flex;
		justify-content: space-between;
	}
	#conts {
		margin-top: -0.2rem;
		width: calc(100% - 34rem);
		padding-right: 5.5rem;
	}
	#sideBar {
		width: 34rem;
	}
}
@media all and (max-width: 896px) {
	#sideBar {
		margin-top: 10rem;
	}
}


/* comLink */
.comLink li {
	border-bottom: 0.1rem solid #e6e6e6;
}
.comLink a {
	padding: 2.6rem 1.6rem 2.9rem;
	display: block;
	font-weight: 700;
	font-size: 1.8rem;
	letter-spacing: 0.03em;
}
@media all and (min-width: 897px) {
	.comLink a:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	.comLink a {
		padding: 2rem 1.6rem 2rem;
		font-size: 1.6rem;
	}
}

/* comList02 */
.comList02 li {
	border-bottom: 0.1rem solid #e6e6e6;
}
.comList02 a {
	padding: 2.8rem 1.6rem 2.7rem;
	display: block;
	font-weight: 500;
	letter-spacing: 0.03em;
}
.comList02 .time {
	margin-top: 0.2rem;
	font-size: 1.4rem;
	display: block;
}
@media all and (min-width: 897px) {
	.comList02 a:hover {
		opacity: 0.7;
	}
}

/* comList */
.comList {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 4.2rem 0;
}
.comList li {
	width: calc(50% - 1.8rem);
}
.comList .image {
	border-radius: 1.5rem;
	overflow: hidden;
	aspect-ratio: 384/240;
	margin-bottom: 0.8rem;
}
.comList .image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.comList a {
	display: block;
	font-weight: 500;
	letter-spacing: 0.05em;
	color: #473c38;
}
.comList .time {
	margin-bottom: 0.2rem;
	font-size: 1.4rem;
	display: block;
	letter-spacing: 0.02em;
}
@media all and (min-width: 897px) {
	.comList a:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	.comList {
		display: block;
	}
	.comList li {
		margin-bottom: 3rem;
		width: auto;
	}
	.comList li:last-child {
		margin-bottom: 0;
	}
}


/* wp-pagenavi */
.wp-pagenavi {
	margin-top: 8.8rem;
	font-size: 0;
	clear: both;
	text-align: center;
}
.wp-pagenavi a,
.wp-pagenavi span {
	font-size: 1.4rem;
	font-weight: 500;
	display: inline-block;
	vertical-align: top;
	text-decoration: none;
	border: 0.1rem solid #cccccc;
	padding: 1.4rem 0.5rem 0.2rem;
	min-width: 4rem;
	min-height: 5rem;
	margin: 0 0.4rem;
	box-sizing: border-box;
	background-color: #fff;
}
.wp-pagenavi span.current {
	border-color: #cccccc;
	background-color: #cccccc;
}
.wp-pagenavi .first,
.wp-pagenavi .last,
.wp-pagenavi .pages {
	display: none;
}
.wp-pagenavi .extend {
	display: none;
}
.wp-pagenavi .nextpostslink,
.wp-pagenavi .previouspostslink {
	margin: 0 2rem;
	border: none;
	background: transparent !important;
}
.wp-pagenavi .previouspostslink img {
	margin-top: -0.3rem;
	transform: rotate(180deg);
}
.wp-pagenavi img {
	margin: 0 0.8rem;
	width: 0.9rem;
	display: inline-block;
	vertical-align: middle;
}
@media all and (min-width: 897px) {
	.wp-pagenavi a:hover {
		border-color: #cccccc;
		background-color: #cccccc;
	}
	.wp-pagenavi .nextpostslink:hover,
	.wp-pagenavi .previouspostslink:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	.wp-pagenavi .nextpostslink, .wp-pagenavi .previouspostslink {
		margin: 0 1rem;
	}
	.wp-pagenavi a,
	.wp-pagenavi span {
		font-size: 1.4rem;
		padding: 0.9rem 0.5rem 0.2rem;
		min-width: 3rem;
		min-height: 4rem;
		margin: 0 0.4rem;
	}
}


/* comLable */
.comLable {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 1rem;
	font-size: 1.4rem;
}
.comLable span {
	padding: 0.4rem 0.2rem 0.5rem;
	color: #fff;
	min-width: 13rem;
	display: inline-block;
	vertical-align: top;
	background-color: #333333;
	text-align: center;
}
@media all and (max-width: 896px) {
	.comLable span {
		min-width: 11rem;
	}
	.comLable {
		font-size: 1.2rem;
	}
}

/* snsUl */
.snsUl {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 3rem;
	margin-top: 7.6rem;
}
.snsUl li {
	width: 5rem;
}
.snsUl a {
	display: block;
}
@media all and (min-width: 897px) {
	.snsUl a:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	.snsUl {
		gap: 1.5rem;
	}
	.snsUl li {
		width: 4rem;
	}
}

/* otherBox */
.otherBox {
	margin-top: 6.5rem;
}


/* comList03 */
.comList03 {
	gap: 2rem 0;
}
.comList03 li {
	width: calc(50% - 1.1rem);
}
.comList03 a {
	display: flex;
	width: 100%;
	line-height: 1.56;
}
.comList03 .textBox {
	flex: 1;
	margin: 1.1rem 0 0 1.5rem;
}
.comList03 .image {
	border-radius: 0.5rem;
	margin-bottom: 0;
	width: 17rem;
}
@media all and (max-width: 896px) {
	.comList03 li {
		width: auto;
	}
	.comList03 .image {
		width: 15rem;
	}
}


/* comBtn02 */
.comBtn02 {
	margin-top: 3.3rem;
}
.comBtn02 a {
	padding: 0 6rem;
	width: 30rem;
	height: 6rem;
	margin: 0 auto;
	font-weight: 500;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 5rem;
	position: relative;
	overflow: hidden;
	background: #333 url("../img/common/icon04.png") no-repeat right 3rem center;
	background-size: 2.9rem auto;
	letter-spacing: 0.05em;
}
@media all and (min-width: 897px) {
	.comBtn02 a:hover {
		opacity: 0.7;
	}
	.comBtn02.big a {
		padding-left: 4rem;
		width: 32.5rem;
	}
}
@media all and (max-width: 896px) {
	.comBtn02 a {
		padding: 0 4.5rem;
		width: 25rem;
		height: 5rem;
		background-position: right 2rem center;
		background-size: 2rem auto;
	}
	.comBtn02.big a {
		width: 100%;
		max-width: 30rem;
	}
}


/* mainVisual */
.mainVisual {
	margin-top: -8.2rem;
	padding-bottom: 13.9rem;
	position: relative;
	overflow: hidden;
	height: 80rem;
	display: flex;
	align-items: flex-end;
	justify-content: center;
}
.mainVisual .image {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.mainVisual .image img,
.mainVisual .image video {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.mainVisual .headLine01 {
	width: 100%;
	max-width: 120rem;
	margin: 0 auto;
	position: relative;
	z-index: 20;
	text-align: left;
	font-size: 4.2rem;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.05em;
}
.mainVisual .headLine01 .en {
	margin: 0.2rem 0 0 0;
	letter-spacing: -0.03em;
}
.mainVisual .headLine01 .smlTxt {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 3.9rem;
}
.mainVisual .title {
	margin-bottom: -3.7rem;
}
.mainVisual .title .inner {
	padding: 3rem 4.7rem 3.7rem;
	min-width: 29.9rem;
	background-color: rgba(241,241,238, 0.85);
	display: inline-block;
	vertical-align: top;
	text-align: center;
}
.mainVisual .title img {
	width: 14.5rem;
	display: block;
	margin: 0 auto 2.2rem;
}
.mainVisual .title .jp {
	margin-bottom: 2.3rem;
	display: block;
	font-size: 4rem;
	font-weight: 400;
}
.mainVisual .title .jp small {
	margin-bottom: 1.4rem;
	display: block;
	font-size: 2rem;
	font-weight: 700;
}
.mainVisual .title .img {
	margin-top: 2rem;
	display: block;
}
.mainVisual .title .img img {
	width: 55rem;
	margin: 0 auto;
}
@media all and (max-width: 896px) {
	.mainVisual {
		margin-top: -7.3rem;
		height: auto;
		align-items: center;
		aspect-ratio: 750 / 600;
		padding: 0 0 25px 0;
	}
	.mainVisual .headLine01 {
		text-align: center;
		font-size: 2.1rem;
	}
	.mainVisual .headLine01 .en {
		margin: 0;
	}
	.mainVisual .title {
		margin-top: -0.9rem;
		font-size: 1.5rem;
	}
	.mainVisual .title .inner {
		margin: 0 auto;
		min-width: 12rem;
		padding: 1.3rem 2.1rem;
	}
	.mainVisual .title .jp {
		margin-bottom: 0.8rem;
		font-size: 1.6rem;
	}
	.mainVisual .title .jp small {
		font-size: 1.2rem;
		margin-bottom: 0.4rem;
	}
	.mainVisual .title img {
		margin-bottom: 0.5rem;
		width: 7.4rem;
	}
	.mainVisual .title .en {
		margin-top: 0.2rem;
		font-size: 3.5rem;
	}
	.mainVisual .title .img {
		margin-top: 1rem;
		display: block;
	}
	.mainVisual .title .img img {
		width: 26rem;
	}
	.mainVisual .headLine01 .smlTxt {
		font-size: 2.8rem;
	}
}

/* comList04 */
.comList04 {
	margin: 0 auto;
	max-width: 83.4rem;
	display: flex;
	flex-wrap: wrap;
	gap: 4.1rem 5.6rem;
}
.comList04 li {
	width: calc((100% - 11.2rem)/3);
}
.comList04 a {
	display: block;
	font-size: 2rem;
	font-weight: 500;
	text-align: center;
	letter-spacing: 0.05em;
}
.comList04 .image {
	margin-bottom: 1rem;
	border-radius: 1.5rem;
	aspect-ratio: 240/240;
	overflow: hidden;
}
.comList04 .image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	-webkit-transition: 0.3s ease-out;
    transition: 0.3s ease-out;
}
.comList04 .enTxt {
	display: block;
	font-size: 1.4rem;
	letter-spacing: 0.05em;
}
@media all and (min-width: 897px) {
	.comList04 a:hover {
		color: #35a7d2;
	}
	.comList04 a:hover .image img {
		-webkit-transform: scale(1.1);
		transform: scale(1.1);
	}
}
@media all and (max-width: 896px) {
	.comList04 li {
		width: calc((100% - 2rem)/2);
	}
	.comList04 {
		max-width: inherit;
		gap: 4.1rem 2rem;
	}
	.comList04 a {
		font-size: 1.6rem;
	}
	.comList04 .enTxt {
		font-size: 1.2rem;
	}
}



/* comBox */
.comBox {
	padding: 6.8rem 0 8rem;
	margin: 14.6rem 0 -17rem;
	color: #333;
	background-color: #e5ebeb;
	text-align: center;
	font-size: 3rem;
	font-weight: 700;
	letter-spacing: 0.05em;
}
.comBox .btn {
	margin-top: 4.3rem;
	text-align: center;
}
.comBox .btn a {
	display: inline-block;
}
.comBox .btn img {
	width: 40.1rem;
}
@media all and (min-width: 897px) {
	.comBox .btn a:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	
	.comBox {
		margin: 10rem 0 -9rem;
		font-size: 2rem;
	}
	.comBox .btn img {
		width: 26rem;
	}
}



/* comListDl */
.comListDl {
	display: flex;
	flex-wrap: wrap;
	font-weight: 500;
	border-top: 0.1rem solid #333333;
}
.comListDl dt {
	width: 18.9rem;
}
.comListDl dd {
	width: calc(100% - 18.9rem);
	letter-spacing: 0.08em;
}
.comListDl dt,
.comListDl dd {
	padding: 1.8rem 0 2rem;
	border-bottom: 0.1rem solid #333333;
}
@media all and (max-width: 896px) {
	.comListDl {
		display: block;
	}
	.comListDl dt {
		padding: 1rem 0 0;
		width: auto;
		font-weight: 700;
		border-bottom: none;
	}
	.comListDl dd {
		padding: 1rem;
		width: auto;
		letter-spacing: 0.08em;
	}
}


/* comImgUl */
.comImgUl {
	margin-top: 4.4rem;
	display: flex;
	flex-wrap: wrap;
	gap: 2rem;
}
.comImgUl li {
	width: calc((100% - 4rem)/3);
	overflow: hidden;
	border-radius: 1.5rem;
	aspect-ratio: 740 / 500;
}
.comImgUl img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
@media all and (max-width: 896px) {
	.comImgUl {
		display: block;
	}
	.comImgUl li {
		width: auto;
		margin-bottom: 3rem;
	}
	.comImgUl li:last-child {
		margin-bottom: 0;
	}
}


.centerTxt {
	margin-bottom: 3.1rem;
	letter-spacing: 0.05em;
	font-weight: 500;
	text-align: center;
	line-height: 1.625;
}


/* comBg */
.comBg {
	background-color: #e5ebeb;
}



/* comListDl02 */
.comListDl02 {
	display: flex;
	flex-wrap: wrap;
	font-weight: 400;
	line-height: 1.75;
	position: relative;
	word-break: break-all;
}
.comListDl02 a {
	color: #333;
}
.comListDl02::after {
	width: 0.1rem;
	height: 100%;
	position: absolute;
	top: 0;
	left: 23.3rem;
	background-color: #476b8f;
	content: "";
}
.comListDl02 > dt {
	width: 33.2rem;
}
.comListDl02 > dd {
	width: calc(100% - 38.9rem);
	letter-spacing: 0.03em;
	padding-bottom: 2.8rem;
}
.comListDl02 > dd:last-child {
	padding-bottom: 0;
}
@media all and (min-width: 897px) {
	.comListDl02 a:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	.comListDl02 {
		padding-left: 1rem;
		display: block;
	}
	.comListDl02 > dt {
		padding: 0;
		width: auto;
		font-weight: 700;
		border-bottom: none;
		position: relative;
	}
	.comListDl02 > dt::after {
		width: 0.2rem;
		height: 69%;
		position: absolute;
		top: 0.5rem;
		left: -0.9rem;
		background-color: #476b8f;
		content: "";
	}
	.comListDl02 > dd {
		padding: 1rem;
		width: auto;
		letter-spacing: 0.08em;
	}
	.comListDl02::after {
		display: none;
	}
}


/* headLine06 */
.headLine06 {
	margin-bottom: 2.4rem;
	text-align: center;
	font-size: 4.2rem;
	font-weight: 400;
}
.headLine06 .en {
	padding-top: 2.2rem;
	display: block;
	font-size: 2rem;
	font-weight: 300;
	position: relative;
}
.headLine06 .en::after {
	width: 14.2rem;
	height: 5.3rem;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	background: url("../img/common/icon10.png") no-repeat left top / 100% 100%;
	content: "";
}
@media all and (max-width: 896px) {
	.headLine06 {
		font-size: 3rem;
	}
	.headLine06 .en {
		padding-top: 1.6rem;
		font-size: 1.8rem;
	}
	.headLine06 .en::after {
		width: 13.2rem;
		height: 4.3rem;
	}
}


/* comShowBox */
.comShowBox .headLine04 {
	margin-bottom: 10.1rem;
}
.comShowBox .bgBox {
	color: #fff;
	position: relative;
}
.comShowBox .bgBox::after {
	width: 100%;
	position: absolute;
	top: 14.4rem;
	bottom: 13.7rem;
	background-color: #476b8f;
	content: "";
}
.comShowBox .content {
	max-width: inherit;
}
.comShowBox .imgBox {
	display: flex;
	position: relative;
	z-index: 10;
	font-size: 2.4rem;
	line-height: 1.45;
	letter-spacing: 0.03em;
}
.comShowBox .imgBox .photo {
	width: 91.2rem;
	border-radius: 0 1.5rem 1.5rem 0;
	overflow: hidden;
}
.comShowBox .imgBox .photo img {
	width: 100%;
}
.comShowBox .imgBox .textBox {
	margin: 22.7rem 0 0 4.8rem;
	flex: 1;
}
.comShowBox .innerBox {
	max-width: 60rem;
}
.comShowBox .imgBox .title {
	font-size: 5.4rem;
	margin-bottom: 3.2rem;
	font-weight: 700;
	letter-spacing: 0.02em;
}
.comShowBox .imgBox .title small {
	font-size: 4.3rem;
}
.comShowBox .imgBox + .imgBox {
	margin-top: -5.4rem;
}
.comShowBox .imgBox02 .photo {
	order: 3;
	border-radius: 1.5rem 0 0 1.5rem;
}
.comShowBox .imgBox02 .textBox {
	margin: 14.8rem 4.8rem 0 0;
}
.comShowBox .imgBox02 .innerBox {
	margin-left: auto;
}
.comShowBox .box03 .textBox {
	margin-top: 15.5rem;
}
@media all and (max-width: 896px) {
	.comShowBox .headLine04 {
		font-size: 2.4rem;
		margin-bottom: 5rem;
	}
	.comShowBox .content {
		margin: 0;
	}
	.comShowBox .imgBox .photo {
		width: auto;
		border-radius: 0 !important;
	}
	.comShowBox .imgBox {
		display: block;
		font-size: 1.6rem;
	}
	.comShowBox .imgBox .textBox {
		margin: 0;
		padding: 2rem 2rem 5rem;
	}
	.comShowBox .imgBox .title {
		font-size: 2.8rem;
		margin-bottom: 1.5rem;
	}
	.comShowBox .imgBox .title small {
		font-size: 2.3rem;
	}
	.comShowBox .innerBox {
		max-width: inherit;
	}
	.comShowBox .imgBox + .imgBox {
		margin-top: 0;
	}
	.comShowBox .bgBox::after {
		top: 0;
		bottom: 0;
	}
}


/* comPhotoList */
.comPhotoList {
	display: flex;
	flex-wrap: wrap;
	gap: 3.8rem 4.4rem;
	font-weight: 500;
}
.comPhotoList li {
	width: calc((100% - 9rem) / 3);
	letter-spacing: 0.04em;
}
.comPhotoList li a {
	display: block;
	color: #473c38;
}
.comPhotoList li .lable {
	margin-bottom: 1.3rem;
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	font-size: 1.2rem;
	letter-spacing: 0.04em;
	font-weight: 500;
}
.comPhotoList li .lable span {
	padding: 0.1rem 1.5rem 0.3rem;
	color: #476B8F;
	min-width: 8.6rem;
	display: inline-block;
	vertical-align: top;
	border: 0.1rem solid #476B8F;
	border-radius: 2rem;
	text-align: center;
}
.comPhotoList li .image {
	border-radius: 1.5rem;
	overflow: hidden;
	aspect-ratio: 337 / 237;
	margin-bottom: 1rem;
}
.comPhotoList li .image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.comPhotoList li .time {
	margin-bottom: 0.3rem;
	font-size: 1.4rem;
	display: block;
	color: #476B8F;
	letter-spacing: 0.04em;
}
.comPhotoList.recommended li a {
	color: #333;
}
.comPhotoList.recommended li .lable span {
	color: #fff;
	background: #476B8F;
}
.comPhotoList.recommended li .title {
	margin-bottom: 0.4rem;
	font-weight: 700;
}
.comPhotoList.recommended li .text {
	font-size: 1.5rem;
	letter-spacing: 0.04em;
}
@media all and (min-width: 897px) {
	.comPhotoList li a:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	.comPhotoList {
		display: block;
	}
	.comPhotoList li {
		margin-bottom: 4rem;
		width: auto;
	}
	.comPhotoList li:last-child {
		margin-bottom: 0;
	}
}


/* comTxtUl */
.comTxtUl {
	color: #476b8f;
	line-height: 1.5;
	font-size: 1.6rem;
	font-weight: 600;
}
.comTxtUl li {
	margin-bottom: 0.5rem;
	padding-left: 2.5rem;
	position: relative;
}
.comTxtUl li:last-child {
	margin-bottom: 0;
}
.comTxtUl li::before {
	width: 1.5rem;
	height: 1.5rem;
	position: absolute;
	top: 0.5rem;
	left: 0.5rem;
	background: url("../img/common/icon11.png") no-repeat left top / 100% 100%;
	content: "";
}
@media all and (max-width: 896px) {
	.comTxtUl {
		font-size: 1.4rem;
	}
	.comTxtUl li::before {
		width: 1.4rem;
		height: 1.4rem;
		top: 0.5rem;
		left: 0.5rem;
	}
}


/* comFaq */
.comFaq {
	color: #333333;
	margin: 0 auto;
	max-width: 80rem;
}
.comFaq dt {
	padding: 0.7rem 8.9rem 0.5rem;
	height: 7rem;
	display: flex;
	align-items: center;
	font-weight: 700;
	position: relative;
	background-color: #e5ebeb;
	line-height: 1.68;
	letter-spacing: 0.05em;
	cursor: pointer;
}
.comFaq dt::before {
	padding-bottom: 0.2rem;
	width: 7rem;
	height: 100%;
	color: #fff;
	font-size: 3rem;
	font-weight: 300;
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: 0;
	left: 0;
	background-color: #476b8f;
	content: "Q";
	font-family: "Oswald", sans-serif;
	box-sizing: border-box;
}
.comFaq dt::after {
	width: 1.4rem;
	height: 1.4rem;
	position: absolute;
	top: 50%;
	right: 3.8rem;
	transform: translateY(-50%);
	background: url("../img/common/faq_icon01.png") no-repeat center center / 100% 100%;
	content: "";
}
.comFaq dt.on::after {
	background-image: url("../img/common/faq_icon02.png");
}
.comFaq dd {
	letter-spacing: 0.05em;
	line-height: 1.68;
	display: none;
}
.comFaq dl .innerBox {
	padding: 2rem 8.9rem 2rem 8.9rem;
	min-height: 8rem;
	position: relative;
}
.comFaq dl .innerBox::before {
	color: #cc0011;
	font-size: 3rem;
	font-weight: 300;
	position: absolute;
	top: 0.8rem;
	left: 2.8rem;
	content: "A";
	font-family: "Oswald", sans-serif;
}
.comFaq dl {
	margin-bottom: 1.5rem;
}
.comFaq dl:last-child {
	margin-bottom: 0;
}

@media all and (max-width: 896px) {
	.comFaq dt {
		padding: 0.7rem 3.5rem 0.5rem 6rem;
		height: 5.6rem;
		line-height: 1.5;
		letter-spacing: 0.05em;
	}
	.comFaq dt::before {
		width: 5rem;
		font-size: 2.5rem;
	}
	.comFaq dl .innerBox {
		padding: 1.3rem 3.5rem 1.3rem 6rem;
		min-height: inherit;
	}
	.comFaq dl .innerBox::before {
		font-size: 2.5rem;
		top: 0.4rem;
		left: 1.9rem;
	}
	.comFaq dt::after {
		width: 1.4rem;
		height: 1.4rem;
		right: 1.6rem;
	}
	.comFaq {
		max-width: inherit;
	}
}


/* comBanner */
.comBanner {
	margin: 0 auto;
	max-width: 80rem;
}
.comBanner a {
	display: block;
	position: relative;
}
.comBanner .txtImg {
	width: 8.7rem;
	position: absolute;
	bottom: -1.3rem;
	right: -1.2rem;
}
@media all and (min-width: 897px) {
	.comBanner a:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	.comBanner {
		max-width: 60rem;
	}
	.comBanner .txtImg {
		width: 13%;
		bottom: -13%;
		right: -2%;
	}
}


/* headLine07 */
.headLine07 {
	color: #476b8f;
	font-size: 2.4rem;
	text-align: center;
	margin-bottom: 2.8rem;
	font-weight: 400;
	letter-spacing: 0.05em;
}
@media all and (max-width: 896px) {
	.headLine07 {
		font-size: 2rem;
		letter-spacing: 0.05em;
	}
}


/* comList05 */
.comList05 {
	display: flex;
	flex-wrap: wrap;
	gap: 2.6rem;
	line-height: 1.68;
}
.comList05 li {
	width: calc((100% - 7.8rem)/4);
}
.comList05 .image {
	margin-bottom: 1.8rem;
	border-radius: 1rem;
	overflow: hidden;
	aspect-ratio: 560/440;
}
.comList05 .image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.comList05 .ttl {
	margin-bottom: 0.9rem;
	text-align: center;
	color: #476b8f;
	font-weight: 700;
}
.comList05 .notes {
	font-size: 1.2rem;
}
@media all and (max-width: 896px) {
	.comList05 {
		display: block;
	}
	.comList05 li {
		margin-bottom: 4rem;
		width: auto;
	}
	.comList05 li:last-child {
		margin-bottom: 0;
	}
}