@charset "utf-8";

/* CSS information ===================================================

	 file name : style.css
	style info : コンテンツ部分スタイルシート

=================================================================== */



/*----------------------------------------------------------
/* .contents コンテンツ
----------------------------------------------------------*/
.contents--noimg {
	padding-left: 40px;
	padding-right: 40px;
	padding-bottom: 80px;
	background-color: #F7FAF3;
}
.contents--contact {
	padding-top: 60px;
	padding-bottom: 60px;
}
.contents__box {
	max-width: 1260px;
	margin: 0 auto;
	padding: 60px 40px;
	background-color: #FFF;
	border-radius: 50px;
}

@media screen and (max-width: 767px){
.contents--noimg {
	padding-top: 20px;
	padding-left: 20px;
	padding-right: 20px;
	padding-bottom: 40px;
}

/*
.contents--contact {
	padding-top: 20px;
	padding-bottom: 40px;
}
.contents--terms {
	padding-top: 20px;
}
*/

.contents__box {
	padding: 30px 20px 60px;
}
}

.contents__title-en {
	margin-bottom: 10px;
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
	font-size: 1.6rem;
	text-align: center;
	letter-spacing: 0.15em;
	color: #00659F;
}
.contents__title {
	margin-bottom: 40px;
	font-size: 4.0rem;
	text-align: center;
	letter-spacing: 0.05em;
	color: #000;
}
.contents__title--thx {
	line-height: 1.5;
}

@media screen and (max-width: 767px){
.contents__title-en {
	margin-bottom: 10px;
	font-size: 1.4rem;
}
.contents__title {
	margin-bottom: 30px;
	font-size: 3.0rem;
}
.contents__title--thx {
	font-size: 2.6rem;
}
}


.section__title {
	position: relative;
	margin-bottom: 30px;
	padding-bottom: 15px;
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
	font-size: 3.0rem;
	text-align: center;
	line-height: 1.6;
	letter-spacing: 0.05em;
}
.section__title::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	width: 32px;
	height: 2px;
	margin: 0 auto;
	background-color: #D4D4D4;
}

@media screen and (max-width: 767px){
.section__title {
	margin-bottom: 30px;
	padding-bottom: 10px;
	font-size: 2.6rem;
}
.section__title::before {
	width: 32px;
	height: 2px;
}
}





/*----------------------------------------------------------
/* .local-menu サブメニュー
----------------------------------------------------------*/
.local-menu {
	background-color: #F3F9FA;
	padding: 60px 40px;
}
.local-menu__inner {
	max-width: 1260px;
	margin: 0 auto;
}
.local-menu__list {
	display: flex;
  	flex-wrap: wrap;
	gap: 30px clamp(20px, 3.57vw, 45px);
}
.local-menu__list li {
	flex: 0 1 calc((100% - clamp(20px, 3.57vw, 45px) * 2) / 3);
	display: flex;
	align-items: center;
}
.local-menu__list a {
	position: relative;
	width: 100%;
	height: 100%;
	padding: clamp(20px, 2.77vw, 35px) 10px;
	text-decoration: none;
	line-height: 1.7;
	color: #462E2C;
	background-color: #FFF;
	border: 1px solid #FFF;
	border-radius: 6px;
	box-shadow: 0 5px 5px rgba(68,69,101,0.12);
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	transition: .2s ease;
	filter: brightness(1.0);
}
.local-menu__list a:hover {
	padding-top: calc(clamp(20px, 2.77vw, 35px) + 3px);
	padding-bottom: calc(clamp(20px, 2.77vw, 35px) - 3px);
	border: 1px solid rgba(68,69,101,0.12);
	box-shadow: 0 1px 1px rgba(68,69,101,0.2);
	filter: brightness(1.0);
}
/*
.local-menu__list a:hover {
	color: #ED3745;
	border-color: #ED3745;
	transform: translateY(-2px);
	box-shadow: 0 5px 10px rgba(0,0,0,0.08);
	transition: .2s ease;
}
*/
.local-menu__list span {
	position: relative;
	padding-right: calc(clamp(14px, 1.26vw, 16px) + 8px);
	font-family: "Noto Serif JP", serif;
	font-size: clamp(2.0rem, 2.38vw, 3.0rem);
	font-weight: 600;
	text-align: center;
	line-height: 1.2;
	letter-spacing: 0.08em;
	display: inline-block;
}
.local-menu__list span::after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: clamp(14px, 1.26vw, 16px);
	height: clamp(14px, 1.26vw, 16px);
	margin: auto 0;
	background: url("../img/common/common_ico14.svg") no-repeat center center / contain;
	display: block;
}
.local-menu__list small {
	margin-top: 5px;
	font-size: clamp(1.2rem, 1.11vw, 1.4rem);
	font-weight: 400;
	text-align: center;
	line-height: 1.42;
	color: #0FB1CE;
	display: block;

}

/*
.local-menu__list a:hover::after {
	top: 3px;
	bottom: -3px;
	background-image: url("../img/common/common_ico10-on.svg");
	transition: .2s ease;
}
*/

@media screen and (max-width: 767px){
.local-menu {
	margin-top: 20px;
	padding: clamp(30px, 5.21vw, 40px) 20px;
}
.local-menu__list {
	gap: 15px clamp(15px, 2.60vw, 20px);
}
.local-menu__list li {
	flex: 0 1 calc((100% - clamp(15px, 2.60vw, 20px)) / 2);
}
.local-menu__list span {
	font-size: clamp(1.4rem, 2.60vw, 2.0rem);
}
.local-menu__list small {
	font-size: clamp(1.0rem, 1.56vw, 1.2rem);
}

/*
.local-menu__list a::after {
	content: "";
	position: absolute;
	top: 0;
	right: clamp(20px, 2.38vw, 30px);
	bottom: 0;
	width: 6px;
	height: 10px;
	margin: auto 0;
	background: url("../img/common/common_ico10.svg") no-repeat center center / contain;
	display: block;
	transition: .2s ease;
}
*/
/*
.local-menu__list a:hover::after {
	top: 3px;
	bottom: -3px;
	background-image: url("../img/common/common_ico10-on.svg");
	transition: .2s ease;
}
*/
}



/*----------------------------------------------------------
/* .company 会社案内
----------------------------------------------------------*/
.company-title {
	margin-bottom: 35px;
	font-family: "Noto Serif JP", serif;
	font-size: clamp(2.4rem, 3.06vw, 3.0rem);
	font-weight: 600;
	text-align: center;
	line-height: 1.46;
}
.company-txt {
	margin-bottom: 35px;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 2.12;
	color: #333;
}
@media screen and (max-width: 767px){
.company-title {
	margin-bottom: 30px;
}
.company-txt {
	margin-bottom: 20px;
	font-size: 1.4rem;
}

}


/* .philosophy 経営理念
--------------------------------------*/
.philosophy {
	margin-top: 150px;
	margin-bottom: 150px;
	padding-left: 40px;
	padding-right: 40px;
}
.philosophy__inner {
	max-width: 980px;
	margin: 0 auto;
}
.philosophy__img {
	width: 36.12%;
}
.philosophy__layout {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.philosophy__box {
	width: 58.77%;
}
.philosophy__catch {
	margin-bottom: 40px;
	font-family: "Noto Serif JP", serif;
	font-size: clamp(2.0rem, 2.65vw, 2.6rem);
	font-weight: 600;
	line-height: 1.92;
	color: #12A582;
}
.philosophy__list {
}

@media screen and (max-width: 767px){
.philosophy {
	margin-top: 80px;
	margin-bottom: 80px;
	padding-left: 20px;
	padding-right: 20px;
}
.philosophy__img {
	width: 100%;
	max-width: calc(354px * 0.8);
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 30px;
}
.philosophy__layout {
	display: block;
}
.philosophy__box {
	width: 100%;
	text-align: center;
}
.philosophy__catch {
	margin-bottom: 30px;
	text-align: center;
	display: inline-block;
}
.philosophy__list {
	display: inline-block;
}
}

/* .vision ビジョン
--------------------------------------*/
.vision {
	margin-top: 150px;
	margin-bottom: 150px;
	padding-left: 40px;
	padding-right: 40px;
}
.vision__inner {
	max-width: 980px;
	margin: 0 auto;
}

@media screen and (max-width: 767px){
.vision {
	margin-top: 80px;
	margin-bottom: 80px;
	padding-left: 20px;
	padding-right: 20px;
}
}

/* .credo クレド
--------------------------------------*/
.credo {
	margin-top: 150px;
	margin-bottom: 150px;
	padding-left: 40px;
	padding-right: 40px;
}
.credo__inner {
	max-width: 980px;
	margin: 0 auto;
}

@media screen and (max-width: 767px){
.credo {
	margin-top: 80px;
	margin-bottom: 80px;
	padding-left: 20px;
	padding-right: 20px;
}
}

/* .profile 会社概要
--------------------------------------*/
.profile {
	margin-top: 150px;
	margin-bottom: 150px;
	padding-left: 40px;
	padding-right: 40px;
}
.profile__inner {
	max-width: 980px;
	margin: 0 auto;
}

@media screen and (max-width: 767px){
.profile {
	margin-top: 80px;
	margin-bottom: 80px;
	padding-left: 20px;
	padding-right: 20px;
}
}

/* .history 沿革
--------------------------------------*/
.history {
	margin-top: 150px;
	margin-bottom: 150px;
	padding-left: 40px;
	padding-right: 40px;
}
.history__inner {
	max-width: 980px;
	margin: 0 auto;
}
.timeline__item {
    position: relative;
	padding-bottom: 46px;
}
.timeline__item:last-of-type {
	padding-bottom: 0;
}
.timeline__item::after{
	content: "";
	position: absolute;
	top: -8px;
	left: -16px;
	width: 46px;
	height: 46px;
	/*
	background-color: #FFF;
	border: 5px solid #52B4D9;
	border-radius: 50%;
	*/
	background: url("../img/company/company_ico03.svg") no-repeat center center;
}
.timeline__item dl {
  	display: -webkit-box;
  	display: -ms-flexbox;
  	display: flex;
}
.timeline__year {
	width: 216px;
	padding-left: 40px;
	padding-right: 70px;
	font-size: 1.6rem;
	line-height: 1.875;
	color: #333;
	white-space: nowrap;
}
.timeline__txt {
	width: calc(100% - 216px);
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1.875;
	color: #333;
}
.timeline__border {
	position: absolute;
	top: 0;
	left: 6px;
	width: 2px;
	height: 0;
	background: #D4D4D4;
}

@media screen and (max-width: 767px){
.history {
	margin-top: 80px;
	margin-bottom: 80px;
	padding-left: 20px;
	padding-right: 20px;
}
.timeline__item {
	padding-bottom: 40px;
}
.timeline__item:last-of-type {
	padding-bottom: 0;
}
.timeline__item::after{
	top: -10px;
}
.timeline__item dl {
  	display: block;
}
.timeline__year {
	width: 100%;
	padding-left: 30px;
	padding-right: 0;
	font-size: 1.4rem;
}
.timeline__txt {
	width: 100%;
	padding-left: 30px;
	font-size: 1.4rem;
}
}

/* .access アクセス
--------------------------------------*/
.access {
	margin-top: 150px;
	padding-left: 40px;
	padding-right: 40px;
}
.access__inner {
}
.access__bg-map {
	position: relative;
	padding-bottom: 50px;
	z-index: 1;
}
.access__bg-map::after {
	content: "";
	position: absolute;
	top: 50%;
	left: -40px;
	right: -40px;
	bottom: 0;
	background-color: #F7FAF3;
	z-index: -1;
}
.access__map {
	width: 100%;
	max-width: 980px;
	margin: 0 auto;
	height: 530px;
	overflow: hidden;
	border: 10px solid #FFF;
}
.access__map iframe {
	margin-top: -150px;
	margin-bottom: -150px;
}
.access__bg-info {
	margin-left: -40px;
	margin-right: -40px;
	padding-left: 40px;
	padding-right: 40px;
	padding-bottom: 110px;
	background-color: #F7FAF3;
}
.access__info {
	max-width: 980px;
	margin: 0 auto;
  	display: -webkit-box;
  	display: -ms-flexbox;
  	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
.access__pic {
	max-width: 980px;
	margin: 0 auto 40px;
}

.access__train, 
.access__car {
	position: relative;
	width: 50%;
}
.access__train {
	padding-left: 100px;
	padding-right: 20px;
	border-right: 1px solid #D4D4D4;
}
.access__car {
	padding-left: 140px;
}
.access__train::before, 
.access__car::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	width: 80px;
	height: 115px;
	margin: auto 0;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
	display: block;
}
.access__train::before {
	left: 0;
	background-image: url("../img/company/access_ico01.svg");
}
.access__car::before {
	left: 40px;
	background-image: url("../img/company/access_ico02.svg");
}
.access__train dt, 
.access__car dt {
	margin-bottom: 20px;
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
	font-size: 2.6rem;
	font-weight: 600;
	line-height: 1.615;
}
.access__train dd, 
.access__car dd {
	font-size: 1.6rem;
	line-height: 1.875;
}

@media screen and (max-width: 767px){
.access {
	margin-top: 80px;
	padding-left: 20px;
	padding-right: 20px;
}
.access__bg-map {
	padding-bottom: 20px;
}
.access__bg-map::after {
	left: -20px;
	right: -20px;
}
.access__map {
	height: 430px;
	overflow: hidden;
	border: 6px solid #FFF;
}
.access__map iframe {
	height: 730px;
	margin-top: -150px;
	margin-bottom: -150px;
}
.access__bg-info {
	margin-left: -20px;
	margin-right: -20px;
	padding-left: 20px;
	padding-right: 20px;
	padding-bottom: 80px;
}
.access__info {
  	display: block;
}
.access__train, 
.access__car {
	width: 100%;
}
.access__train {
	padding-top: 20px;
	padding-left: 70px;
	padding-right: 0;
	padding-bottom: 20px;
	border-right: none;
	border-bottom: 1px solid #D4D4D4;
}
.access__car {
	padding-top: 20px;
	padding-left: 70px;
	padding-bottom: 20px;
}
.access__train::before, 
.access__car::before {
	width: calc(80px * 0.6);
	height: calc(115px * 0.6);
}
.access__car::before {
	left: 0;
}
.access__train dt, 
.access__car dt {
	margin-bottom: 5px;
	font-size: 1.8rem;
}
.access__train dd, 
.access__car dd {
	font-size: 1.4rem;
}
}



/*----------------------------------------------------------
/* .service サービス
----------------------------------------------------------*/

.service-title {
	margin-bottom: 40px;
	text-align: center;
}
.service-title span {
	position: relative;
	padding-left: 40px;
	font-family: "Noto Serif JP", serif;
	font-size: clamp(2.4rem, 3.06vw, 3.0rem);
	font-weight: 600;
	text-align: center;
	line-height: 1.46;
	display: inline-block;
}
.service-title span::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	width: calc(39px * 0.9);
	height: calc(37px * 0.9);
	margin: auto 0;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
	display: block;
}
.personal__title span::before {
	background-image: url("../img/service/service_ico01.svg");
}
.corporate__title span::before {
	background-image: url("../img/service/service_ico02.svg");
}
.online__title span::before {
	background-image: url("../img/service/service_ico03.svg");
}
.service__lead {
	margin-bottom: 35px;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 2.12;
	color: #333;
}
.service-list {
	padding: 40px 30px;
}
.service-list--personal {
	background-color: #FFF3DF;
}
.service-list--corporate {
	background-color: #EEF6E3;
}
.service-list__heading {
	margin-bottom: 20px;
	font-family: "Noto Serif JP", serif;
	font-size: clamp(2.4rem, 3.06vw, 3.0rem);
	font-weight: 600;
	text-align: center;
	line-height: 1.46;
}
.service-list__content {
	display: flex;
  	flex-wrap: wrap;
	gap: 15px;
}
.service-list__item {
	padding: 25px 20px 25px 30px;
	flex: 0 1 calc((100% - 15px) / 2);
	background-color: #FFF;
	border-radius: 6px;
	display: flex;
	justify-content: space-between;
}
.service-list__img {
	width: 24%;
	display: flex;
	align-items: center;
}
.service-list__box {
	width: 69.25%;
}
.service-list__label {
	margin-bottom: 10px;
	font-family: "Noto Serif JP", serif;
	font-size: clamp(1.8rem, 2.44vw, 2.4rem);
	font-weight: 700;
	line-height: 1.45;
	letter-spacing: 0.05em;
}
.service-list__label--personal {
	color: #EFA529;
}
.service-list__label--corporate {
	color: #77BA56;
}
.service-list__txt {
	font-size: clamp(1.6rem, 2.24vw, 2.2rem);
	font-weight: 700;
	line-height: 1.45;
	letter-spacing: 0.05em;
	color: #462D2C;
}
.service-list__note {
	margin-top: 30px;
	font-family: "Noto Serif JP", serif;
	font-size: clamp(1.8rem, 2.44vw, 2.4rem);
	font-weight: 600;
	text-align: center;
	line-height: 1.45;
	letter-spacing: 0.05em;
}


@media screen and (max-width: 767px){
.service-title {
	margin-bottom: 30px;
}
.service__lead {
	margin-bottom: 30px;
	font-size: 1.4rem;
}
.service-list {
	margin-left: -20px;
	margin-right: -20px;
	padding: 30px 20px;
}
.service-list__heading {
	margin-bottom: 20px;
	font-size: 2.2rem;
}
.service-list__content {
	gap: 15px;
}
.service-list__item {
	padding: 20px 10px 20px 20px;
	flex: 0 1 100%;
	align-items: center;
}
.service-list__img {
	width: 24%;
	justify-content: flex-end;
}
.service-list__box {
	width: 69.25%;
}
.service-list__label {
	font-size: 1.7rem;
}
.service-list__txt {
	font-size: 1.5rem;
}
.service-list__note {
	margin-top: 25px;
	font-size: 1.6rem;
}
.service-list__note br {
	display: none;
}
}

/* .page-cta お問い合わせはこちら
------------------------------------------------*/
.page-cta {
	margin-top: 40px;
}
.page-cta__title {
	margin-bottom: 20px;
	font-family: "Noto Serif JP", serif;
	font-size: clamp(1.8rem, 2.44vw, 2.4rem);
	text-align: center;
}
.page-cta__btn-outer {
	max-width: 800px;
	margin-left: auto;
	margin-right: auto;
	display: flex;
  	flex-wrap: wrap;
	gap: 20px;
}
.page-cta__btn {
	/*flex: 0 1 calc((100% - 20px * 2) / 3);*/
	flex: 0 1 calc((100% - 20px) / 2);
	display: flex;
	align-items: center;
}
.page-cta__btn a {
	width: 100%;
	height: 100%;
	padding: 20px 10px;
	text-align: center;
	text-decoration: none;
	color: #FFF;
	background: #0EADD1;
	background: linear-gradient(45deg,rgba(14, 173, 209, 1) 0%, rgba(20, 201, 189, 1) 100%);
	border-radius: 6px;
	display: flex;
	justify-content: center;
	align-items: center;
}
.page-cta__btn a:hover {
	box-shadow: 0 0 10px rgba(0,0,0,0.5);
	
}
.page-cta__btn small {
	font-family: "Noto Sans JP", sans-serif;
	font-size: clamp(1.2rem, 1.63vw, 1.6rem);
	font-weight: 400;
	color: #FFF;
	display: block;
}
.page-cta__btn span {
	position: relative;
	padding-left: calc(clamp(41px * 0.8, 2.13vw, 41px) + 10px);
	font-family: "Noto Serif JP", serif;
	font-size: clamp(1.8rem, 2.44vw, 2.4rem);
	font-weight: 600;
	line-height: 1.4;
	display: inline-block;
	white-space: nowrap;
}
.page-cta__btn span::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	width: clamp(41px * 0.8, 2.13vw, 41px);
	height: clamp(36px * 0.8, 1.87vw, 36px);
	margin: auto 0;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
}
.page-cta__btn--tel span::before {
	background-image: url("../img/common/common_ico02.svg");
}
.page-cta__btn--mail span::before {
	background-image: url("../img/common/common_ico03.svg");
}
.page-cta__btn--request span::before {
	background-image: url("../img/common/common_ico04.svg");
}

@media screen and (max-width: 767px){
.page-cta__btn-outer {
	gap: 20px 0;
}
.page-cta__btn {
	width: 100%;
	flex: 0 1 100%;
}
.page-cta__btn a {
	padding: 15px 10px;
}
.page-cta__btn--mail a, 
.page-cta__btn--request a {
	padding-top: 24px;
	padding-bottom: 24px;
}
.page-cta__btn small {
	font-size: 1.4rem;
}
.page-cta__btn span {
	padding-left: calc(clamp(41px * 0.8, 2.13vw, 41px) + 10px);
	font-size: 2.0rem;
}

}






/* .personal 個人のお客さま
------------------------------------------------*/
.personal {
	margin-top: 150px;
	margin-bottom: 150px;
	padding-left: 40px;
	padding-right: 40px;
}
.personal__inner {
	max-width: 980px;
	margin: 0 auto;
}

@media screen and (max-width: 767px){
.personal {
	margin-top: 80px;
	margin-bottom: 80px;
	padding-left: 20px;
	padding-right: 20px;
}
}

/* .corporate 法人のお客さま
------------------------------------------------*/
.corporate {
	margin-top: 150px;
	margin-bottom: 150px;
	padding-left: 40px;
	padding-right: 40px;
}
.corporate__inner {
	max-width: 980px;
	margin: 0 auto;
}

@media screen and (max-width: 767px){
.corporate {
	margin-top: 80px;
	margin-bottom: 80px;
	padding-left: 20px;
	padding-right: 20px;
}
}

/* .online ネット加入保険
------------------------------------------------*/
.online {
	margin-top: 150px;
	margin-bottom: 150px;
	padding-left: 40px;
	padding-right: 40px;
}
.online__inner {
	max-width: 980px;
	margin: 0 auto;
}

@media screen and (max-width: 767px){
.online {
	margin-top: 80px;
	margin-bottom: 100px;
	padding-left: 20px;
	padding-right: 20px;
}
}


/*----------------------------------------------------------
/* .news お知らせ
----------------------------------------------------------*/
.news {
	margin-top: 50px;
	margin-bottom: 120px;
	padding-left: 40px;
	padding-right: 40px;
}
.news__inner {
	max-width: 980px;
	margin: 0 auto;
}

@media screen and (max-width: 767px){
.news {
	margin-top: 40px;
	margin-bottom: 100px;
	padding-left: 20px;
	padding-right: 20px;
}
}

/* .news-detail お知らせ詳細
--------------------------------------*/
.news-detail {
	max-width: 980px;
	margin: 0 auto;
}
.news-detail__inner {
}
.news-detail__title {
	margin-bottom: 20px;
	font-size: 3.6rem;
	line-height: 1.61;
	letter-spacing: 0.05em;
}
.news-detail__info {
	margin-bottom: 40px;
}
.news-detail__date {
	width: 100px;
	font-size: 1.6rem;
	line-height: 1.2;
	color: #989898;
	white-space: nowrap;
}
.news-detail__tag {
	width: 84px;
	margin-left: 15px;
	padding: 3px 5px;
	font-size: 1.4rem;
	line-height: 1.4;
	text-align: center;
	color: #5BB303;
	border: 2px solid #5BB303;
	border-radius: 20px;
	display: inline-block;
}
.news-detail__sns-ico {
  	display: -webkit-box;
  	display: -ms-flexbox;
  	display: flex;
}
.news-detail__sns-ico li {
	margin-left: 30px;
}

@media screen and (max-width: 767px){
.news-detail__title {
	margin-bottom: 20px;
	font-size: 2.6rem;
}
.news-detail__info {
	margin-bottom: 30px;
}
.news-detail__date {
	width: 100px;
	font-size: 1.4rem;
	line-height: 1.2;
	color: #989898;
	white-space: nowrap;
}
.news-detail__tag {
	width: 80px;
	margin-left: 10px;
	padding: 2px 5px;
	font-size: clamp(1.3rem, 1.82vw, 1.4rem);
}
.news-detail__sns-ico li {
	margin-left: 10px;
}
}


/* .editor 編集エリア
--------------------------------------*/
.editor {
}
.editor h2 {
	position: relative;
	max-width: 820px;
	margin-top: 130px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 40px;
	padding-bottom: 15px;
	font-size: 3.2rem;
	line-height: 1.593;
	letter-spacing: 0.05em;
	border-bottom: 2px solid #D4D4D4;
}
/*
.editor h2::before {
	content: "";
	position: absolute;
	left: 0;
	bottom: -2px;
	width: 110px;
	height: 2px;
	background-color: #1F548A;
	display: block;
	z-index: 1;
}
*/
.editor h3 {
	position: relative;
	max-width: 860px;
	margin-top: 90px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 30px;
	padding-left: 22px;
	font-size: 2.8rem;
	line-height: 1.607;
	letter-spacing: 0.05em;
}
.editor h3::before {
	content: "";
	position: absolute;
	top: 8px;
	left: 0;
	width: 8px;
	height: 26px;
	background-color: #11BBC7;
	border-radius: 2px;
	display: block;
}

.editor h4 {
	position: relative;
	max-width: 860px;
	margin-top: 80px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 20px;
	padding-left: 25px;
	font-size: 2.8rem;
	line-height: 1.607;
	letter-spacing: 0.05em;
}
.editor h4::before {
	content: "";
	position: absolute;
	top: 15px;
	left: 0;
	width: 20px;
	height: 20px;
	background: url("../img/news/news_ico03.svg") no-repeat center center / contain;
	display: block;
}

.editor h5 {
	max-width: 860px;
	margin-top: 80px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 20px;
	font-size: 2.6rem;
	line-height: 1.615;
	letter-spacing: 0.05em;
	color: #12A582;
}
.editor h6 {
	max-width: 860px;
	margin-top: 60px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 20px;
	font-size: 2.4rem;
	line-height: 1.625;
	letter-spacing: 0.05em;
	color: #462D2C;
}





.editor p {
	max-width: 800px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 30px;
	font-size: 1.6rem;
	line-height: 2.125;
	letter-spacing: 0.05em;
}
.editor ul, 
.editor ol {
	max-width: 800px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 40px;
}
.editor li {
	position: relative;
	margin-bottom: 20px;
	padding-left: 20px;
	font-size: 1.6rem;
	line-height: 2.125;
	letter-spacing: 0.05em;
}
.editor ul li::before {
	content: "";
	position: absolute;
	top: 15px;
	left: 5px;
	width: 8px;
	height: 8px;
	background: url("../img/news/news_ico04.svg") no-repeat center center / contain;
	display: block;
}
.editor ol {
    counter-reset: list_circle_num_counter;
}
.editor ol li {
	padding-left: 25px;
	counter-increment: list_circle_num_counter;
}
.editor ol li::before {
	content: counter(list_circle_num_counter);
	position: absolute;
    top: 10px;
    left: 0;
    width: 18px;
    height: 18px;
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
	font-size: 1.2rem;
    color: #fff;
    font-weight: bold;
    border-radius: 50%;
    text-align: center;
    background-color: #11BBC7;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
.editor mark {
	color: #333;
	background: linear-gradient(transparent 50%, #D6F3E4 50%);
}
.editor figure {
	margin-bottom: 40px;
	text-align: center;
}
.editor .main-img {
	margin-bottom: 40px;
}
.editor .center {
	text-align: center;
}
.editor .box-row {
 	max-width: 800px;
	margin-left: auto;
	margin-right: auto;
 	display: -webkit-box;
  	display: -ms-flexbox;
  	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
.editor .box-row--reverse {
  	-webkit-box-orient: horizontal;
  	-webkit-box-direction: reverse;
  	-ms-flex-direction: row-reverse;
  	flex-direction: row-reverse;
}
.editor .box-col {
	width: calc(50% - 10px);
}
.editor .box-paint {
	margin-top: 40px;
	margin-bottom: 40px;
	padding: 40px 40px 10px;
	background-color: #FFFEEC;
	border-radius: 10px;
}
.editor .box-border {
	margin-top: 40px;
	margin-bottom: 40px;
	padding: 40px 40px 10px;
	border: 3px solid #11BBC7;
	border-radius: 10px;
}
.editor .btn-normal, 
.editor .btn-pdf {
	margin-top: 40px;
	margin-bottom: 40px;
}
.editor .btn-normal a, 
.editor .btn-pdf a {
	position: relative;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	padding: 20px 40px 20px 30px;
	font-size: 1.6rem;
	text-decoration: none;
	line-height: 1.2;
	color: #FFF;
	background: #23DDB3;
	background: linear-gradient(90deg,rgba(35, 221, 179, 1) 0%, rgba(178, 225, 100, 1) 100%);
	border: none;
	border-radius: 4px;
	cursor: pointer;
	display: block;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
}
.editor .btn-pdf a {
	padding-left: 60px;
}
.editor .btn-normal a:hover, 
.editor .btn-pdf a:hover {
	padding-left: 35px;
	padding-right: 35px;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
}
.editor .btn-pdf a:hover {
	padding-left: 65px;
}
.editor .btn-pdf a::before {
	content: "";
	position: absolute;
	top: 0;
	left: 30px;
	bottom: 0;
	width: 21px;
	height: 27px;
	margin: auto 0;
	background: url("../img/news/news_ico05.svg") no-repeat center center / contain;
	pointer-events: none;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
	z-index: 1;
}
.editor .btn-pdf a:hover::before {
	left: 35px;
}
.editor .btn-normal a::after, 
.editor .btn-pdf a::after {
	content: "";
	position: absolute;
	top: 0;
	right: 20px;
	bottom: 0;
	width: clamp(14px, 1.63vw, 16px);
	height: clamp(14px, 1.63vw, 16px);
	margin: auto 0;
	background: url("../img/common/common_ico09.svg") no-repeat center center / contain;
	pointer-events: none;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
	z-index: 1;
}
.editor .btn-normal a:hover::after, 
.editor .btn-pdf a:hover::after {
	right: 15px;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
}

@media screen and (max-width: 767px){
.editor h2 {
	margin-top: 100px;
	margin-bottom: 30px;
	padding-bottom: 10px;
	font-size: 2.6rem;
}
.editor h3 {
	margin-top: 80px;
	margin-bottom: 20px;
	padding-left: 22px;
	font-size: 2.4rem;
}
.editor h3::before {
	top: 6px;
	width: 8px;
	height: 24px;
}
.editor h4 {
	margin-top: 80px;
	margin-bottom: 20px;
	padding-left: 25px;
	font-size: 2.2rem;
}
.editor h4::before {
	top: 8px;
}
.editor h5 {
	margin-top: 60px;
	margin-bottom: 15px;
	font-size: 2.0rem;
}
.editor h6 {
	margin-top: 60px;
	margin-bottom: 15px;
	font-size: 2.0rem;
}

.editor p {
	margin-bottom: 30px;
	font-size: 1.4rem;
}
.editor ul, 
.editor ol {
	margin-bottom: 40px;
}
.editor li {
	font-size: 1.4rem;
}
.editor ul li::before {
	top: 12px;
}
.editor ol li::before {
	top: 6px;

}
.editor figure {
	margin-bottom: 40px;
	text-align: center;
}
.editor .main-img {
	margin-bottom: 40px;
}
.editor .center {
	text-align: left;
}
.editor .box-row {
  	display: block;
}
.editor .box-col {
	width: 100%;
}
.editor .box-paint {
	padding: 30px 20px 1px;
}
.editor .box-border {
	padding: 30px 20px 1px;
}
.editor .btn-normal, 
.editor .btn-pdf {
	margin-top: 40px;
	margin-bottom: 40px;
}
.editor .btn-normal a, 
.editor .btn-pdf a {
	padding: 20px 35px 20px 20px;
	font-size: 1.4rem;
	line-height: 1.4;
}
.editor .btn-pdf a {
	padding-left: 50px;
}
.editor .btn-normal a:hover, 
.editor .btn-pdf a:hover {
	padding-left: 25px;
	padding-right: 30px;
}
.editor .btn-pdf a:hover {
	padding-left: 55px;
}
.editor .btn-pdf a::before {
	left: 20px;
}
.editor .btn-pdf a:hover::before {
	left: 25px;
}
.editor .btn-normal a::after, 
.editor .btn-pdf a::after {
	right: 20px;
}
.editor .btn-normal a:hover::after, 
.editor .btn-pdf a:hover::after {
	right: 15px;
}
}




/*----------------------------------------------------------
/* .recruit 採用情報
----------------------------------------------------------*/
.recruit {
	padding-top: 150px;
	padding-bottom: 180px;
	padding-left: 40px;
	padding-right: 40px;

}
.recruit__inner {
	max-width: 1260px;
	margin-left: auto;
	margin-right: auto;
}
.recruit__not-hiring {
	font-family: "Noto Serif JP", serif;
	font-size: clamp(2.4rem, 3.06vw, 3.0rem);
	font-weight: 600;
	text-align: center;
	line-height: 1.46;
	color: #462D2C;

}

@media screen and (max-width: 767px){
.recruit {
	padding-top: 80px;
	padding-bottom: 100px;
	padding-left: 20px;
	padding-right: 20px;
}
.recruit__not-hiring {
	font-size: 2.0rem;
}

}





/*----------------------------------------------------------
/* .wp-pagenavi ページャー
----------------------------------------------------------*/
.wp-pagenavi {
	clear: both;
	margin-top: 40px;
	text-align: center;
  	display: -webkit-box;
  	display: -ms-flexbox;
  	display: flex;
  	-ms-flex-wrap: wrap;
  	flex-wrap: wrap;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.wp-pagenavi a {
	padding: 0;
	text-decoration: none;
	display: inline;
}
.wp-pagenavi span, 
.wp-pagenavi a {
	margin: 5px 10px;
	width: 40px;
	height: 40px;
	/*padding: 10px 15px;*/
	vertical-align: middle;
	font-size: 1.8rem;
	color: #333333;
	border-radius: 4px;
  	display: -webkit-box;
  	display: -ms-flexbox;
  	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
.wp-pagenavi a:hover {
	color: #FFF;
	background-color: #12BFC3;
	-webkit-filter: brightness(1.0);
	-moz-filter: brightness(1.0);
	-ms-filter: brightness(1.0);
	filter: brightness(1.0);
}
.wp-pagenavi .previouspostslink, 
.wp-pagenavi .nextpostslink {
	margin: 5px 10px;
	background-color: transparent;
}
.wp-pagenavi .previouspostslink:hover, 
.wp-pagenavi .nextpostslink:hover {
	color: #FFF;
	background-color: #12BFC3;
	-webkit-filter: brightness(1.0);
	-moz-filter: brightness(1.0);
	-ms-filter: brightness(1.0);
	filter: brightness(1.0);
}
.wp-pagenavi .current {
	color: #FFF;
	background-color: #12BFC3;
}
.wp-pagenavi .pages {
	display: none;
}
.wp-pagenavi .current {
    font-weight: normal;
}
.wp-pagenavi a:hover, 
.wp-pagenavi .current {
	border: none;
}
.wp-pagenavi a, 
.wp-pagenavi span {
    border: none;
}
.wp-pagenavi span.previouspostslink, 
.wp-pagenavi span.nextpostslink {
}


@media screen and (max-width: 767px){
.wp-pagenavi {
	margin-top: 40px;
}
.wp-pagenavi span, 
.wp-pagenavi a {
	margin: 4px 6px;
	width: 30px;
	height: 30px;
	font-size: 1.4rem;
}
.wp-pagenavi .previouspostslink, 
.wp-pagenavi .nextpostslink {
	margin: 4px 6px;
}

}


/*----------------------------------------------------------
/* .policy 各種方針
----------------------------------------------------------*/
.privacy, 
.recruitment, 
.customer {
	margin-top: 150px;
	margin-bottom: 150px;
	padding-left: 40px;
	padding-right: 40px;
}
.not_found {
	margin-top: 80px;
	margin-bottom: 150px;
	padding-left: 40px;
	padding-right: 40px;
}
.privacy__inner, 
.recruitment__inner, 
.customer__inner {
	max-width: 980px;
	margin-left: auto;
	margin-right: auto;
}
.policy__title {
	margin-bottom: clamp(30px, 4.08vw, 40px);
	font-family: "Noto Serif JP", serif;
	font-size: clamp(3.2rem, 4.08vw, 4.0rem);
	font-weight: 600;
	text-align: center;
	line-height: 1.425;
}
.policy__right {
	text-align: right;
}
.policy p {
	max-width: 800px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 30px;
	font-size: 1.6rem;
	line-height: 2.125;
	letter-spacing: 0.05em;
}
.policy ol {
	max-width: 800px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 40px;
    counter-reset: my-counter;
}
.policy ol li {
	position: relative;
	margin-bottom: 20px;
	padding-left: 25px;
	font-size: 1.6rem;
	line-height: 2.125;
	letter-spacing: 0.05em;
}

.policy ul li {
	position: relative;
	padding-left: 20px;
	margin-bottom: 0;
	font-size: 1.6rem;
	line-height: 2.12;
	color: #333;
	list-style: none;
}

.policy ol li ul li {
	margin-bottom: 0;
}

.privacy h3 {
	position: relative;
	max-width: 820px;
	margin-top: 95px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 30px;
	padding-bottom: 15px;
	font-family: "Noto Serif JP", serif;
	font-size: clamp(2.6rem, 3.26vw, 3.2rem);
	line-height: 1.593;
	letter-spacing: 0.05em;
	border-bottom: 2px solid #D4D4D4;
}

.privacy h4 {
	position: relative;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 10px;
    font-size: 2.2rem;
    line-height: 1.607;
    letter-spacing: 0.05em;
}

.privacy ol li::before {
	position: absolute;
	top: 10px;
	left: 0;
	width: 18px;
	height: 18px;
	padding-bottom: 2px;
	font-size: 1.1rem;
	text-align: center;
	line-height: 1;
	letter-spacing: normal;
	color: #FFF;
	background-color: #11BBC7;
	border: 1px solid #11BBC7;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	content: counter(my-counter);
	counter-increment: my-counter;
	box-sizing: border-box;
}

.policy ul {
	max-width: 800px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 40px;
}

.policy ul li::before {
	content: "・";
	position: absolute;
	top: 0;
	left: 0;
	color: #0EAFCF;
	width: auto;
	height: auto;
	border: none;
	background: none;
	line-height: inherit;
	font-size: 1.6rem;
	counter-increment: subsection; 
}

.policy ol li ul li::before {
	line-height: inherit;
	top: 0;
}

.privacy__box {
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 30px;
  padding: 30px 35px 10px;
  border: 1px solid #D4D4D4;
}

.privacy__contact {
	max-width: 820px;
	margin-left: auto;
	margin-right: auto;
	padding: 40px 35px;
	background-color: #F7FAF3;
}
.privacy__contact dt {
	margin-bottom: 20px;
	font-family: "Noto Serif JP", serif;
	font-size: clamp(1.8rem, 2.44vw, 2.4rem);
	font-weight: 600;
	line-height: 1.458;
	letter-spacing: 0.05em;
}
.privacy__contact dd {
	font-size: 1.6rem;
	line-height: 2.12;
	letter-spacing: 0.05em;
}

.recruitment ol li::before {
	position: absolute;
	top: 0;
	left: 0;
	color: #11BBC7;
	letter-spacing: normal;
	content: counter(my-counter)".";
	counter-increment: my-counter;
	box-sizing: border-box;
}
.recruitment h3, 
.customer h3 {
	position: relative;
	max-width: 860px;
	margin-top: 90px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 30px;
	padding-left: 22px;
	font-size: 2.8rem;
	line-height: 1.607;
	letter-spacing: 0.05em;
}
.recruitment h3::before,
.customer h3::before {
	content: "";
	position: absolute;
	top: 8px;
	left: 0;
	width: 8px;
	height: 26px;
	background-color: #11BBC7;
	border-radius: 2px;
	display: block;
}
.customer h4 {
	position: relative;
	max-width: 860px;
	margin-top: 80px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 20px;
	padding-left: 25px;
	font-size: 2.8rem;
	line-height: 1.607;
	letter-spacing: 0.05em;
}
.customer h4::before {
	content: "";
	position: absolute;
	top: 15px;
	left: 0;
	width: 20px;
	height: 20px;
	background: url("../img/news/news_ico03.svg") no-repeat center center / contain;
	display: block;
}

.customer ol li::before {
	position: absolute;
	top: 10px;
	left: 0;
	width: 18px;
	height: 18px;
	padding-bottom: 2px;
	font-size: 1.1rem;
	text-align: center;
	line-height: 1;
	letter-spacing: normal;
	color: #333;
	background-color: #FFF;
	border: 1px solid #333;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	content: counter(my-counter);
	counter-increment: my-counter;
	box-sizing: border-box;
}
.customer h5 {
	max-width: 800px;
	margin-top: 40px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 20px;
	font-size: 2.0rem;
	line-height: 1.45;
	letter-spacing: 0.05em;
}
.customer table {
	width: 100%;
	max-width: 800px;
	margin-left: auto;
	margin-right: auto;
	border-top: 1px solid #EEE;
	border-bottom: 1px solid #EEE;

}
.customer th, 
.customer td {
	padding: 20px;
	border-left: 1px solid #EEE;
	border-right: 1px solid #EEE;
}
.customer table tbody tr:nth-child(odd) {
  background: #F7FAF3;
}

.customer table thead th, 
.customer table thead td {
	padding: 10px;
	font-size: clamp(1.4rem, 2vw, 1.6rem);
	text-align: center;
	vertical-align: middle;
	line-height: 1.25;
	color: #FFF;
	background-color: #12BFC3;
}
.customer table tbody th, 
.customer table tbody td {
	font-size: 1.4rem;
	text-align: center;
	vertical-align: middle;
	line-height: 1.85;
}
.customer table tbody td {
	text-align: right;
}

@media screen and (max-width: 767px){
.privacy, 
.recruitment, 
.customer {
	margin-top: 80px;
	margin-bottom: 80px;
	padding-left: 20px;
	padding-right: 20px;
}
.customer {
	margin-bottom: 100px;
}

.policy__title {
	margin-bottom: 30px;
	font-size: clamp(2.6rem, 4.17vw, 3.2rem);
}
.policy p {
	font-size: 1.4rem;
}
.policy ol li {
	position: relative;
	margin-bottom: 20px;
	padding-left: 25px;
	font-size: 1.4rem;
}

.policy ul li {
	font-size: 1.4rem;
}

.privacy h3 {
	margin-top: 80px;
	margin-bottom: 20px;
	padding-bottom: 15px;
	font-size: 2.0rem;
}
.privacy ol li::before {
	top: 6px;
}
.privacy__box {
  padding: 30px 20px 10px;
}

.privacy__contact {
	padding: 30px 20px;
}
.privacy__contact dt {
	margin-bottom: 10px;
	font-size: 1.6rem;
}
.privacy__contact dd {
	font-size: 1.4rem;
}
.recruitment h3,
.customer h3 {
	margin-top: 80px;
	margin-bottom: 20px;
	padding-left: 22px;
	font-size: 2.0rem;
}
.recruitment h3::before,
.customer h3::before {
	top: 8px;
	width: 8px;
	height: 24px;
}
.customer h4 {
	margin-top: 80px;
	margin-bottom: 20px;
	padding-left: 25px;
	font-size: 2.0rem;
}
.customer h4::before {
	top: 10px;
	width: 18px;
	height: 18px;
}

.customer ol li::before {
	top: 6px;
}
.customer h5 {
	margin-bottom: 20px;
	font-size: 1.8rem;
}









.customer th, 
.customer td {
	padding: 10px 5px;
}
.customer table thead th, 
.customer table thead td {
	padding: 10px 5px;
	font-size: clamp(1.2rem, 1.82vw, 1.4rem);
}
.customer table tbody th, 
.customer table tbody td {
	font-size: clamp(1.1rem, 1.56vw, 1.2rem);
}

}

/*----------------------------------------------------------
/* .contact お問い合わせ
----------------------------------------------------------*/
.contact {

}
.contact__inner {
	max-width: 980px;
	margin-left: auto;
	margin-right: auto;
}
.contact--thx .contact__inner {
	text-align: center;
}
.contact__title {
	margin-bottom: clamp(30px, 4.59vw, 45px);
	font-family: "Noto Serif JP", serif;
	font-size: clamp(3.0rem, 4.08vw, 4.0rem);
	font-weight: 600;
	text-align: center;
	line-height: 1.425;
}
.contact__txt {
	max-width: 800px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 30px;
	font-size: 1.6rem;
	line-height: 2.125;
	letter-spacing: 0.05em;
}
.contact__txt--center {
	max-width: 800px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 30px;
	font-size: 1.6rem;
	text-align: center;
	line-height: 2.125;
	letter-spacing: 0.05em;
}
.contact__txt--thx {
	margin-bottom: 0;
	text-align: center;
	display: inline-block;
}
.contact__img {
	margin-bottom: 40px;
	text-align: center;
}

.contact__box-privacy {
	margin-top: 40px;
	margin-bottom: 60px;
	padding: 40px;
	text-align: center;
	background-color: #F7FAF3;
}
.contact__privacy-check {
	max-width: 800px;
	margin-top: -20px;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
	display: block;
}
.contact__privacy-check span {
	font-weight: bold;
	text-align: center;
	display: inline-block;
}


@media screen and (max-width: 767px){
.contents__title--thx {
	font-size: clamp(2.2rem, 3.91vw, 3.0rem);
}
.contact__txt {
	margin-bottom: 20px;
	font-size: 1.4rem;
}
.contact__txt--center {
	margin-bottom: 20px;
	font-size: 1.4rem;
	text-align: left;
}
.contact__txt--thx {
	margin-bottom: 0;
	text-align: left;
}
.contact__img {
	margin-bottom: 20px;
	text-align: center;
}
.contact__box-privacy {
	margin-top: 0;
	margin-bottom: 40px;
	padding: 30px 20px 20px;
}
.contact__privacy-check {
	margin-top: -20px;
	display: block;
}
.contact__privacy-check span {
	text-align: left;
	display: inline-block;
}

}



/*----------------------------------------------------------
/* .form お問い合わせフォーム
----------------------------------------------------------*/
.form {
}
.form__tbl {
	width: 100%;
	max-width: 980px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 25px;
}
.form__tbl th, 
.form__tbl td {
	padding: 20px 10px;
	font-size: 1.6rem;
	border-bottom: none;
	vertical-align: top;
}
.form__tbl th {
	width: 25%;
	padding-top: 40px;
	font-weight: bold;
	text-align: right;
}
.form__tbl .required, 
.form__tbl .option {
	position: relative;
}
.form__tbl .required::after, 
.form__tbl .option::after {
	position: relative;
	top: -2px;
	width: 55px;
	margin-left: 10px;
	padding: 5px 0;
	font-size: 1.4rem;
	font-weight: bold;
	text-align: center;
	line-height: 1.0;
	color: #FFF;
	border-radius: 4px;
	display: inline-block;
}
.form__tbl .required::after {
	content: "必須";
	background-color: #E2909B;

}
.form__tbl .option::after {
	content: "任意";
	background-color: #88CDD8;
}
.form .form__align {
	width: 5.5em;
	display: inline-block;
}
.form .form__err {
	position: relative;
	margin-top: 10px;
	padding-left: 22px;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: bold;
	line-height: 1.2;
	color: #E53131;
	display: block;
}
.form .form__err::before {
	content: "\e001";
	position: absolute;
	top: 0;
	left: 0;
	font-family: "Material Icons Outlined";
	font-size: 1.8rem;
}
.mw_wp_form_input .form__tbl .chk_delete {
	display: none;
}

.mw_wp_form_confirm .contact__box-privacy {
	display: none;
}

.mw_wp_form_confirm .form__tbl .required::after,
.mw_wp_form_confirm .form__tbl .option::after {
	display: none;
}

@media screen and (max-width: 1024px){
.form__tbl th {
	width: 38%;
}

}


@media screen and (max-width: 767px){
.form {
	margin: 0;
	padding: 0;
}
.form__tbl {
	width: 100%;
	margin-bottom: 0;
}
.form__tbl th, 
.form__tbl td {
	padding: 10px 10px;
	font-size: 1.6rem;
	display: block;
}
.form__tbl th {
	width: 100%;
	padding: 0 0 5px;
	font-size: 1.6rem;
	text-align: left;
}
.form__tbl td {
	width: 100%;
	padding: 0 0 40px;
}
.form__tbl .required::after, 
.form__tbl .option::after {
	width: 45px;
	font-size: 1.2rem;
}

.form .form__align {
	width: auto;
	margin: 10px 0 5px;
	display: block;
}
}


/* 確認画面テーブル */
.mw_wp_form_confirm .form__tbl {
	width: 100%;
	font-size: 1.6rem;
	line-height: 1.875;
	letter-spacing: 0.05em;
	color: #333;
}
.mw_wp_form_confirm .form__tbl th {
	width: 300px;
	padding: 20px 20px 20px 40px;
	font-weight: 500;
}
.mw_wp_form_confirm .form__tbl td {
	width: calc(100% - 300px);
	padding: 20px;
	font-weight: 500;
}
.mw_wp_form_confirm .form__tbl tr:nth-child(odd) th {
	background-color: #F7FAF3;
}
.mw_wp_form_confirm .form__tbl tr:nth-child(odd) td {
	background-color: #F7FAF3;
}

@media screen and (max-width: 767px){
.mw_wp_form_confirm .form__tbl {
	width: 100%;
	font-size: 1.4rem;
}
.mw_wp_form_confirm .form__tbl th {
	width: 100%;
	padding: 20px 20px 10px;
	font-weight: 600;
	display: block;
}
.mw_wp_form_confirm .form__tbl td {
	width: 100%;
	padding: 0 20px 20px;
	display: block;
}
}




/* フォーム */
.form input, 
.form select, 
.form textarea {
	font-family: "メイリオ", "Meiryo", "ＭＳ ゴシック", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
	font-size: 1.6rem;
	color: #333;
}
.form input[type=text], 
.form input[type=tel], 
.form input[type=email], 
.form input[type=password], 
.form textarea {
	width: 100%;
	margin: 5px 0;
	padding: 10px 20px;
	background-color: #FFF;
	border: 1px solid #D2D3D3;
	border-radius: 4px;
}
.form select {
	margin: 5px 0;
	padding: 10px 20px;
	background-color: #FFF;
	border: 1px solid #D2D3D3;
	border-radius: 4px;
}
.form textarea {
}
::placeholder {
	color: #888;
}

.form input.pc10, .form select.pc10 { width: 10%; }
.form input.pc15, .form select.pc15 { width: 15%; }
.form input.pc20, .form select.pc20 { width: 20%; }
.form input.pc25, .form select.pc25 { width: 25%; }
.form input.pc30, .form select.pc30 { width: 30%; }
.form input.pc40, .form select.pc40 { width: 40%; }
.form input.pc50, .form select.pc50 { width: 50%; }
.form input.pc60, .form select.pc60 { width: 60%; }
.form input.pc70, .form select.pc70 { width: 70%; }
.form input.pc80, .form select.pc80 { width: 80%; }
.form input.pc100, .form select.pc100 { width: 100%; }

.form select.pc50 { width: 50%; }





input[type=radio], 
input[type=checkbox] {
	opacity: 0;
	position: absolute;
}
.radio,
.check {
	margin-top: 20px;
	margin-bottom: 20px;
	display: flex;
	align-items: center;
}
.mwform-radio-field-text, 
.mwform-checkbox-field-text {
	position: relative;
	padding-left: 40px;
	font-size: 1.6rem;
	line-height: 1.4;
}
.mwform-radio-field-text::before, 
.mwform-checkbox-field-text::before {
	content: "";
	position: absolute;
	top: -4px;
	left: 0;
	width: 26px;
	height: 26px;
	background-color: #FFF;
	border: 1px solid #D2D3D3;
	border-radius: 50%;
	display: inline-block;
}
.mwform-checkbox-field-text::before {
	border-radius: 4px;
}
.mwform-radio-field-text::after, 
.mwform-checkbox-field-text::after {
	content: "";
	position: absolute;
	opacity: 0;
}
.mwform-radio-field-text::after {
	top: 4px;
	left: 8px;
	width: 12px;
	height: 12px;
	background-color: #FFF;
	border-radius: 50%;
	/*
	transform: translateY(-50%);*/
}
.mwform-checkbox-field-text::after {
	top: -1px;
	left: 8px;
	width: 8px;
	height: 12px;
	border-right: 4px solid #FFF;
	border-bottom: 4px solid #FFF;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}
input[type="radio"]:checked + .mwform-radio-field-text::after, 
input[type="checkbox"]:checked + .mwform-checkbox-field-text::after {
	opacity: 1;
}
input[type="radio"]:checked + .mwform-radio-field-text::before, 
input[type="checkbox"]:checked + .mwform-checkbox-field-text::before {
	background-color: #000;
	border: 1px solid #000;
}
input[type="radio"]:focus-visible + .mwform-radio-field-text::before,
input[type="checkbox"]:focus-visible + .mwform-checkbox-field-text::before {
	outline: auto 1px;
}

.mw_wp_form .vertical-item {
	margin-top: 20px !important;
	margin-bottom: 20px;

}

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

/* フォーム */
.form input, 
.form select, 
.form textarea {
	font-size: 16px;
	font-size: 1.6rem;
}



.form input.pc10, 
.form input.pc15, 
.form input.pc20, 
.form input.pc25, 
.form input.pc30, 
.form input.pc40, 
.form input.pc50, 
.form input.pc60, 
.form input.pc70, 
.form input.pc80 {
	width: 100%;
}
.form input.sp20 {	width: 20%; }
.form input.sp25 {	width: 25%; }
.form input.sp27 {	width: 27%; }
.form input.sp30 {	width: 30%; }
.form input.sp40 {	width: 40%; }
.form input.sp45 {	width: 45%; }
.form input.sp50 {	width: 50%; }
.form input.sp60 {	width: 60%; }
.form input.sp70 {	width: 70%; }
.form input.sp75 {	width: 75%; }
.form input.sp80 {	width: 80%; }
.form input.sp90 {	width: 90%; }
.form select.pc60 { width: 60%; }
.form select.pc100 {	width: 100%; }


.mwform-radio-field-text, 
.mwform-checkbox-field-text {
	font-size: 16px;
	font-size: 1.6rem;
}
.mw_wp_form.mw_wp_form_confirm .common_btn {
	margin-left: 0;
	margin-right: 0;
  	display: block;
}
.mw_wp_form.mw_wp_form_confirm .common_btn input {
	margin-left: 0;
	margin-right: 0;
}

.mw_wp_form.mw_wp_form_confirm .common_btn input[name="submitBack"] {
	max-width: 80%;
	margin-top: 20px;


}
}

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

.form .tbl_btn a, 
.form .tbl_btn button, 
.form .tbl_btn input[type="button"], 
.form .tbl_btn input[type="submit"] {
    font-size: 10px;
    font-size: 1.0rem;
}
}


.vertical-item {
	display: block;
}
















/*----------------------------------------------------------
/* アニメーション
----------------------------------------------------------*/
.inview {
	opacity: 0;
	transition: 3s ease;
}
.inview.is-show {
	opacity: 1;
}
/*

.inview.fadein {
	transition: 1.5s ease;
}
.inview.fadein_up {
	transform: translate(0, 50px);
	transition: .75s ease;
}
.inview.fadein_up.is_show {
	transform: translate(0, 0);
}
.inview.fadein_bottom {
	transform: translate(0, -50px);
	transition: .75s ease;
}
.inview.fadein_bottom.is_show {
	transform: translate(0, 0);
}
.inview.fadein_left {
	transform: translate(-50px, 0);
	transition: .75s ease;
}
.inview.fadein_left.is_show {
	transform: translate(0, 0);
}
.inview.fadein_right {
	transform: translate(50px, 0);
	transition: .75s ease;
}
.inview.fadein_right.is_show {
	transform: translate(0, 0);
}

.inview.blur {
	color: transparent;
	transition: .75s ease;
	transform: scale(1.5, 1.5);
	text-shadow: 0px 0px 20px #473A34;
}
.catch01 .inview.blur, 
.catch03 .inview.blur {
	transform: scale(2, 2);
}
.catch02 .inview.blur {
	transform: scale(1.2, 1.2);
}
.r_catch01 .inview.blur {
	text-shadow: 0px 0px 20px #FFF;
	transform: scale(2, 2);
}


.inview.blur.is_show, 
.catch01 .inview.blur.is_show, 
.catch02 .inview.blur.is_show, 
.catch03 .inview.blur.is_show {
	text-shadow: 0px 0px 0px #473A34;
	transform: scale(1, 1);
}

.r_catch01 .inview.blur.is_show {
	text-shadow: 0px 0px 0 #FFF;
	transform: scale(1, 1);
}



*/



/* スクロールをしたら出現する要素にはじめに透過0を指定　*/

/*
.inview.mask {
	position: relative;
	overflow: hidden;
	display: inline;
}
*/

/*中の要素*/

/*
.inview.mask > span {
    opacity: 0;
}
.inview.mask.is_show > span {
	animation-name:bgextendAnimeSecond;
	animation-duration: .75s;
	animation-fill-mode:forwards;
	opacity: 1;
}
@keyframes bgextendAnimeSecond{
  0% {
  opacity: 0;
  }
  50% {
  opacity: 0;
  }
  100% {
  opacity: 1;
}
}
*/

/*左から右*/

.inview.mask.is_show::before {
	animation-name:bgLRextendAnime;
	animation-duration: .75s;
	animation-fill-mode:forwards;
	content: "";
	position: absolute;
	top: 10px;
	left: 0;
	bottom: 10px;
	right: 0;
	background-color: #473A34;/*伸びる背景色の設定*/
}
.catch01 .inview.mask.is_show::before {
	top: 15px;
	bottom: 15px;
}
@keyframes bgLRextendAnime{
  0% {
    transform-origin:left;
    transform:scaleX(0);
  }
  50% {
    transform-origin:left;
    transform:scaleX(1);
  }
  50.001% {
    transform-origin:right;
  }
  100% {
    transform-origin:right;
    transform:scaleX(0);
  }
}

@media screen and (max-width: 1024px){
.inview.mask.is_show::before {
	top: -2px;
	bottom: -2px;
}
.inview.mask.is_show::before, 
.catch01 .inview.mask.is_show::before {
	top: 4px;
	bottom: 4px;
}
}
@media screen and (max-width: 767px){

.inview.fadein_up {
	transform: translate(0, 20px);
}
.inview.fadein_bottom {
	transform: translate(0, -20px);
}
.inview.fadein_left {
	transform: translate(-20px, 0);
}
.inview.fadein_right {
	transform: translate(20px, 0);
}
.inview.mask.is_show::before, 
.catch01 .inview.mask.is_show::before {
	top: 0;
	bottom: 0;
}
}

.each_txt_anime i { opacity: 0; }
.each_txt_anime.appear_text i { animation: txt_anime 1s linear forwards; }

.each_txt_anime02 i { opacity: 0; }
.each_txt_anime02.appear_text02 i { animation: txt_anime 1s linear forwards; }

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


/*

.header, 
.hero, 
.topic_path, 
section, 
.works .unit, 
.news .unit, 
.list .unit, 
.alignment .unit, 
.menu_wp, 
.alternately, 
.jobs_layout, 
.contact_bnr, 
.entry_bnr, 
.foot_menu,
.footer {
	opacity: 0;
	transition: 1.5s ease;
}

.header.is_show, 
.hero.is_show, 
.topic_path.is_show, 
section.is_show, 
.works .unit.is_show,
.news .unit.is_show,
.list .unit.is_show,
.alignment .unit.is_show,
.menu_wp.is_show, 
.alternately.is_show, 
.jobs_layout.is_show, 
.contact_bnr.is_show, 
.entry_bnr.is_show, 
.foot_menu.is_show, 
.footer.is_show {
	opacity: 1;
}

*/
.catch04 img, 
.r_catch02 img {
  opacity: 0;
  -moz-transition: -moz-transform 0.5s linear;
  -webkit-transition: -webkit-transform 0.5s linear;
  -o-transition: -o-transform 0.5s linear;
  -ms-transition: -ms-transform 0.5s linear;
  transition: transform 0.5s linear;
  -webkit-animation-duration: 2.0s;
  animation-duration: 2.0s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}
.catch04 img.img_blur, 
.r_catch02 img.img_blur {
  -webkit-animation-name: img_blur;
  animation-name: img_blur;
  opacity: 1;
  transition: .8s;
}


@keyframes img_blur {
  from {
    opacity: 0;
    -webkit-filter: blur(30px);
    -moz-filter: blur(30px);
    -ms-filter: blur(30px);
    -o-filter: blur(30px);
    filter: blur(30px);
  }

  to {
      opacity: 1;
    -webkit-filter: blur(0px);
    -moz-filter: blur(0px);
    -ms-filter: blur(0px);
    -o-filter: blur(0px);
    filter: blur(0px);
  }
}





/*



.slide-in {
	overflow: hidden;
    display: inline-block;
}

.slide-in_inner {
	display: inline-block;

}

*/


