@charset "utf-8";

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

	 file name : basic.css
	style info : テンプレートスタイルシート

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


/*----------------------------------------------------------
/* body サイト全体
----------------------------------------------------------*/
* {
	box-sizing: border-box;
	letter-spacing: 0.05em;
	/*transition: all .3s;*/
}
html {
	font-size: 62.5%;
}
body {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-weight: 500;
	letter-spacing: 0.05em;
	color: #333;
}
.page {
	overflow: hidden;
}

h1, h2, h3, h4, h5, h6 {
	font-family: "Noto Serif JP", serif;
	font-weight: 600;
	letter-spacing: 0.05em;
	color: #462D2C;
}
figure {
	text-align: center;
}
img {
	max-width: 100%;
	height: auto;
	transition: all .3s;
}
mark {
	position: relative;
	font-weight: normal;
	background-image: linear-gradient(90deg, #FFF7D1, #FFF7D1);
	background-repeat: no-repeat;
	background-position: bottom left;
	background-size: 0 60%;
	transition: all 1s ease-in-out;
}
mark.is_show {
	font-weight: normal;
	background-size: 100% 60%;
}

button, 
input[type="button"],
input[type="submit"] {
	-webkit-appearance: none;
	appearance: none;
}


.aw {
	display: inline-block;
	word-break: keep-all;
	overflow-wrap: break-word;
	position: static !important;
	z-index: auto !important;
}

/* テキストリンクカラー */
a {
	color: #1558D6;
	text-decoration: underline;
	transition: .5s cubic-bezier(0.65,0.05,0.36,1);
}
a * {
	transition: .5s cubic-bezier(0.65,0.05,0.36,1);
}
a::before, 
a::after {
	transition: .5s cubic-bezier(0.65,0.05,0.36,1);
}
a:hover {
	text-decoration: none;
	filter: brightness(1.1);
	transition: .5s cubic-bezier(0.65,0.05,0.36,1);
}


/* 画像リンクホバー */
.img_hover {
	position: relative;
	width: 30px;
	height: 30px;
	margin: 0 auto;
	display: block;
	overflow: hidden;
	cursor: pointer;
}
.img_hover img {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	width: 100%;
	display: block;
	-webkit-transition: .4s ease-in-out;
	transition: .4s ease-in-out;
}
.img_hover:hover img:nth-of-type(2) {
	opacity: 0;
}





@media screen and (min-width: 768px){
.sp-vis {
	display: none !important;
}
}

@media screen and (max-width: 767px){
body {
	-webkit-text-size-adjust: 100%;
}
.pc-vis {
	display: none !important;
}
}



/* 改行位置 */
@media screen and (min-width: 1025px) {
.tb-br {
	display: none;
}
.sp-br {
	display: none;
}
}

@media screen and (max-width: 1024px) and (min-width: 768px) {
.pc-br {
	display: none;
}
.sp-br {
	display: none;
}
}

@media screen and (max-width: 767px){
.pc-br {
	display: none;
}
.tb-br {
	display: none;
}
}

/*----------------------------------------------------------
/* 汎用スタイル
----------------------------------------------------------*/
.mt00 { margin-top: 0 !important; }


/* .common-btn 共通ボタン
--------------------------------------*/
.common-btn {
	margin-top: 40px;
	
}
.input-btn {
	position: relative;
	max-width: 320px;
	margin-left: auto;
	margin-right: auto;
	display: block;
}
.common-btn a, 
.input-btn input[type=submit] {
	position: relative;
	max-width: 260px;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	padding: 20px 40px 20px 20px;
	font-family: "Noto Sans JP", sans-serif;
	font-size: clamp(1.4rem, 1.63vw, 1.6rem);
	font-weight: 500;
	text-align: left;
	text-decoration: none;
	letter-spacing: 0.06em;
	line-height: 1.4;
	color: #FFF;
	background-color: #23DDB3;
	background-image: 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;
}
.input-btn input[type=submit] {
	max-width: 320px;
	background-color: #23DDB3, #23DDB3;
	background-image:  url("../img/common/common_ico09.svg"), linear-gradient(90deg,rgba(35, 221, 179, 1) 0%, rgba(178, 225, 100, 1) 100%);
	background-repeat: no-repeat, no-repeat;
	background-position: right 20px center, center center;
	background-size: clamp(14px, 1.63vw, 16px) clamp(14px, 1.63vw, 16px), 100% auto;
	border: none;
	
	/*
	background: url("../img/common/common_ico09.svg") no-repeat right center / clamp(14px, 1.63vw, 16px) clamp(14px, 1.63vw, 16px);
	*/
}
.common-btn a:hover, 
.input-btn input[type=submit]:hover {
	padding-left: 25px;
	padding-right: 35px;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
	box-shadow: 0 0 10px rgba(0,0,0,0.25);
}
.input-btn input[type=submit]:hover {
	background-position: right 15px center, center center;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
}


.common-btn a::after/*, 
.input-btn::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;
}
.common-btn a:hover::after, 
.input-btn:hover::after {
	right: 15px;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
}
.input-btn input[disabled] {
	background-color: #CCC;
	background-image: url("../img/common/common_ico15.svg"), none;
	background-repeat: no-repeat, no-repeat;
	background-position: right 20px center, center center;
	background-size: clamp(14px, 1.63vw, 16px) clamp(14px, 1.63vw, 16px), 100% auto;
	cursor: default;
	pointer-events: none;
}
.input-btn input[disabled]:hover {
	background-position: right 20px center, center center;
}



.mw_wp_form_confirm .input-btn {
	margin-top: 60px;
}
.mw_wp_form_confirm .input-btn::after {
	display: none;
}
.mw_wp_form_confirm .input-btn {
	max-width: inherit;
  	display: -webkit-box;
  	display: -ms-flexbox;
  	display: flex;
  	-webkit-box-orient: horizontal;
  	-webkit-box-direction: reverse;
  	-ms-flex-direction: row-reverse;
  	flex-direction: row-reverse;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
.mw_wp_form_confirm .input-btn input[type="submit"] {
	max-width: 360px;
	width: 100%;
}
.mw_wp_form_confirm .input-btn input[name="submit_b"] {
	margin-left: 20px;
	margin-right: 20px;
	background-color: #23DDB3;
	background-image: url("../img/common/common_ico09.svg"), linear-gradient(90deg,rgba(35, 221, 179, 1) 0%, rgba(178, 225, 100, 1) 100%);
	background-repeat: no-repeat, no-repeat;
	background-position: right 20px center, center center;
	background-size: clamp(14px, 1.63vw, 16px) clamp(14px, 1.63vw, 16px), 100% auto;
}
.mw_wp_form_confirm .input-btn input[name="submit_b"]:hover {
	background-position: right 15px center, center center;
}

.mw_wp_form_confirm .input-btn input[name="submitBack"] {
	margin-left: 20px;
	margin-right: 20px;

	background: #AAA url("../img/common/common_ico15.svg") no-repeat right 20px center /  clamp(14px, 1.63vw, 16px) clamp(14px, 1.63vw, 16px);
}
.mw_wp_form_confirm .input-btn input[name="submitBack"]:hover {
	background-position: right 15px center;
}


@media screen and (max-width: 767px){
.input-btn {
	max-width: inherit;
}
.common-btn a, 
.input-btn input[type=submit] {
	max-width: inherit;
	padding: 20px 30px 20px 20px;
	font-size: 1.6rem;
}
.common-btn a:hover, 
.input-btn input[type=submit]:hover {
	padding-left: 25px;
	padding-right: 25px;
}


.mw_wp_form_confirm .input-btn {
	margin-top: 40px;
}
.mw_wp_form_confirm .input-btn::after {
	display: none;
}
.mw_wp_form_confirm .input-btn {
	max-width: inherit;
  	display: block;
}
.mw_wp_form_confirm .input-btn input[type="submit"] {
	max-width: inherit;
	margin-left: auto;
	margin-right: auto;
}
.mw_wp_form_confirm .input-btn input[name="submitBack"] {
	max-width: calc(100% - 40px);
	margin-top: 20px;
	margin-left: auto;
	margin-right: auto;
}
}

/* トップタイトル
--------------------------------------*/
.top-catch {
	margin-bottom: 5px;
	font-family: "Noto Serif JP", serif;
	font-size: clamp(1.4rem, 1.04vw, 2.0rem);
	font-weight: 600;
	text-align: center;
	line-height: 1.45;
	color: #462D2C;
}
.top-title {
	margin-bottom: clamp(30px, 2.60vw, 50px);
	font-family: "Noto Serif JP", serif;
	font-size: clamp(3.0rem, 2.60vw, 5.0rem);
	font-weight: 600;
	text-align: center;
	line-height: 1.4;
	color: #462D2C;
}


@media screen and (max-width: 767px){
.top-catch {
	font-size: 1.4rem;
}
.top-title {
	margin-bottom: 30px;
	font-size: 2.5rem;
}
}

/* リスト
--------------------------------------*/
.disc-list {
}
.disc-list li {
	position: relative;
	padding-left: 20px;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 2.12;
	color: #333;
	list-style: none;
}
.disc-list li::before {
	content: "・";
	position: absolute;
	top: 0;
	left: 0;
	color: #0EAFCF;
}
.decimal-list {
    counter-reset: my-counter;
}
.decimal-list li {
	position: relative;
	padding-left: 25px;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 2.125;
}
.decimal-list 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;
}
@media screen and (max-width: 767px){
.disc-list li {
	font-size: 1.4rem;
}
.decimal-list li {
	font-size: 1.4rem;
}
}





/* .tbl-common 共通テーブル
--------------------------------------*/

.tbl-common {
	width: 100%;
	font-size: 1.6rem;
	line-height: 1.875;
	letter-spacing: 0.05em;
	color: #333;
}
.tbl-common th {
	width: 220px;
	padding: 20px 20px 20px 40px;
	font-weight: 500;
}
.tbl-common td {
	width: calc(100% - 220px);
	padding: 20px;
	font-weight: 500;
}
.tbl-common tr:nth-child(odd) th {
	background-color: #F7FAF3;
}
.tbl-common tr:nth-child(odd) td {
	background-color: #F7FAF3;
}

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






/* ローディング画面
------------------------------------------------*/
/*========= ローディング画面のためのCSS ===============*/
#splash {
	position: fixed;
	width: 100%;
	height: 100%;
	background: #FFF;
	z-index: 9999999;
	text-align:center;
	color: #fff;
}
#splash-logo {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

/*========= 画面遷移のためのCSS ===============*/
/*画面遷移アニメーション*/
.splashbg{
    display: none;
}
/*bodyにappearクラスがついたら出現*/
body.appear .splashbg{
    display: block;
    content: "";
    position:fixed;
	z-index: 999;
    width: 100%;
    height: 100vh;
    top: 0;
	left: 0;
    transform: scaleX(0);
	background: #D3F8F0;
	background: linear-gradient(90deg,rgba(211, 248, 240, 1) 0%, rgba(240, 249, 224, 1) 100%);
	animation-name:PageAnime;
	/*animation-duration:1.2s;*/
	animation-duration:1.0s;
	animation-timing-function:ease-in-out;
	animation-fill-mode:forwards;
}

@keyframes PageAnime{
	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);
	}
}

/*画面遷移の後現れるコンテンツ設定*/
#top-container {
	opacity: 0;/*はじめは透過0に*/
}

/*bodyにappearクラスがついたら出現*/
body.appear #top-container{
	animation-name:PageAnimeAppear;
	animation-duration:1s;
	/*animation-delay: 0.8s;*/
	animation-delay: 0.6s;
	animation-fill-mode:forwards;
	opacity: 0;
}

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

/* ローディングアニメーション */
.loader {
  position: absolute;
  top: calc(50% - 32px);
  left: calc(50% - 32px);
  width: 64px;
  height: 64px;
}

.loader div {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	box-sizing: border-box;
	opacity: .8;
}

.one {
  border-top: 1px solid #1494D1;
  animation: rotate-left 1s linear infinite;
}

.two {
  border-right: 1px solid #23DDB3;
  animation: rotate-right 1s linear infinite;
}

.three {
  border-bottom: 1px solid #B2E164;
  animation: rotate-right 1s linear infinite;
}

.four {
  border-left: 1px solid #F7FAF3;
  animation: rotate-right 1s linear infinite;
}

@keyframes rotate-left {
  0% {
    transform: rotate(360deg);
  }
  100% {
    transform: rotate(0deg);
  }
}

@keyframes rotate-right {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

#loading_wp { 
	position: fixed;
	top: 0; 
	left: 0; 
	width: 100%; 
	height: 100%; 
	background: #FFF;
	display: flex; 
	flex-direction: column; 
	justify-content: center; 
	align-items: center; 
	transition: all 0.3s;
	z-index: 99999;
}
.completed {
	opacity: 0;
	visibility: hidden;
}


/*----------------------------------------------------------
/* .header ヘッダー
----------------------------------------------------------*/

.header {
	position: relative;
	max-width: 1920px;
	margin: 0 auto;
	background-color: #FFF;
	z-index: 10;
}
.header__inner {
	padding: 15px 20px 30px clamp(20px, 2.08vw, 40px);
  	display: flex;
	justify-content: space-between;
	align-items: center;
}
.header--slim .header__inner {
	justify-content: center;
}
.header__headline {
	margin-bottom: 10px;
	font-size: clamp(1.2rem, 0.83vw, 1.6rem);
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0.05em;
}
.header--slim .header__headline {
	text-align: center;
}
.header__logo {
	max-width: clamp(437px * 0.6, 22.76vw, 437px);
}
.header--slim .header__logo {
	text-align: center;
}

.header__logo a {
	display: block;
}

.header__cta {
	display: flex;
}
.header__cta-btn {
	min-width: clamp(130px * 0.8, 6.77vw, 130px);
	margin-left: 10px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}
.header__cta-btn a {
	width: 100%;
	padding: 20px 10px 15px;
	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;
}
.header__cta-btn span {
	position: relative;
	padding-top: calc(clamp(36px * 0.6, 1.87vw, 36px) + 5px);
	font-family: "Noto Serif JP", serif;
	font-size: clamp(1.4rem, 0.93vw, 1.8rem);
	font-weight: 600;
	text-align: center;
	line-height: 1.2;
	display: inline-block;
	white-space: nowrap;
}
.header__cta-btn span::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	width: clamp(41px * 0.6, 2.13vw, 41px);
	height: clamp(36px * 0.6, 1.87vw, 36px);
	margin: 0 auto;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
}
.header__cta-btn--tel span::before {
	background-image: url("../img/common/common_ico02.svg");
}
.header__cta-btn--mail span::before {
	background-image: url("../img/common/common_ico03.svg");
}
.header__cta-btn--request span::before {
	background-image: url("../img/common/common_ico04.svg");
}





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

.header__inner {
	padding: 15px 10px 10px;
  	flex-wrap: wrap;
}
.header__title {
	position: relative;
	margin-left: 10px;
	margin-right: 10px;
	margin-bottom: 20px;
}
.header__headline {
	margin-bottom: 10px;
	font-size: 1.2rem;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0.05em;
}
.header__logo {
	max-width: calc(507px * 0.5);
}

.header__cta {
	width: 100%;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
.header__cta-btn {
	width: calc(50% - 5px);
	min-width: inherit;
	margin: 0;
	display: flex;
}

.header__cta-btn a {
	padding: 10px;
	align-items: center;
}
.header__cta-btn span {
	padding-top: 0;
	padding-left: calc(clamp(41px * 0.6, 2.13vw, 41px) + 5px);
	text-align: left;
	font-family: "Noto Sans JP", sans-serif;
	font-size: clamp(1.2rem, 1.82vw, 1.4rem);
	font-weight: 700;
}
.header__cta-btn--mail span {
	padding-left: calc(clamp(41px * 0.6, 2.13vw, 41px) + 10px);

}
.header__cta-btn span::before {
	right: auto;
	bottom: 0;
	margin: auto 0;
	width: clamp(41px * 0.6, 2.13vw, 41px);
	height: clamp(36px * 0.6, 1.87vw, 36px);
}
.header__cta-btn b {
	font-size: 120%;
	font-weight: 700;
}



}


/*----------------------------------------------------------
/* .nav グローバルナビ
----------------------------------------------------------*/



/* ====== ハンバーガー ====== */
.header__burger {
	position: absolute;
	top: 30px;
	right: 20px;
	display: none;
	flex-direction: column;
	gap: 6px;
	cursor: pointer;
	z-index: 999;
}
.header__burger span {
  display: block;
  width: 28px;
  height: 3px;
  background: #12BFC3;
  transition: all 0.3s;
}

/* ====== ナビ（PC共通） ====== */
.header__nav {
	margin-left: auto;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	/*align-items: center;*/
	transition: all 0.4s ease;
}
.header__tel {
	margin-right: calc(10px + clamp(5px, 0.78vw, 15px));
	margin-bottom: 10px;

	text-align: right;
}
.header__tel a {
	position: relative;
	padding-left: 25px;
	font-family: "Noto Serif JP", serif;
	font-size: clamp(2.0rem, 1.61vw, 3.1rem);
	font-weight: 600;
	text-decoration: none;
	color: #462D2C;
}


.header__tel a::after {
	content: "";
	position: absolute;
	top: 5px;
	left: 0;
	bottom: 0;
	width: 22px;
	height: 27px;
	margin: auto 0;
	background: url("../img/common/common_ico01.svg") no-repeat center center / contain;
	display: block;
}

.header__menu {
	display: none;

}

.nav__list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	justify-content: flex-end;
}
.nav__item {
	position: relative;
	margin-left: clamp(5px, 0.78vw, 15px);
	margin-right: clamp(5px, 0.78vw, 15px);
}
.nav__item a {
	font-size: clamp(1.4rem, 0.83vw, 1.6rem);
	text-align: center;
	line-height: 1.2;
	color: #462E2C;
	text-decoration: none;
	padding: 10px;
	display: block;
}
.nav__item--recruit a {
	color: #1494D1;

}

/* ====== PC専用 hoverドロップダウン ====== */
@media screen and (min-width: 768px) {
.nav__sub-list {
	display: block;
	opacity: 0;
	visibility: hidden;
	position: absolute;
	top: calc(100% + 10px);
	left: -50px;
	right: -50px;
	margin: 0 auto;
	background: #FFF;
	list-style: none;
	width: auto;
	transition: opacity 0.3s ease, visibility 0.3s ease;
	border-radius: 5px;
	z-index: 10;
}
.nav__sub-item a {
	padding: 12px 10px;
	font-size: clamp(1.3rem, 0.78vw, 1.5em);
	text-align: center;
	display: block;
}

.nav__sub-item:first-of-type a {
	border-radius: 5px 5px 0 0;
}
.nav__sub-item:last-of-type  a{
	border-radius: 0 0 5px 5px;
}


.nav__sub-item a:hover {
   	background-color: #DDD;
}
.nav__item:hover > .nav__sub-list {
	opacity: 1;
	visibility: visible;
}

.nav__toggle,
.nav__close-btn {
	display: none !important;
}
.nav__item a {
	display: block;
	transition: .3s;
}
.nav__item a:hover {
	color: #1494D1;
}
.nav__item a::after {
	content: "";
	position: absolute;
	top: auto;
	left: 10px;
	bottom: 5px;
	width: calc(100% - 20px);
	height: 1px;
	background-color: #1494D1;
	opacity: 0;
	transition: .3s;
}
.nav__item a:hover::after{
	bottom: 0;
	opacity: 1;
}
.nav__sub-item a::after {
	display: none;
}
}


@media screen and (min-width: 768px) and (max-width: 1024px){

.header__inner {
	padding-bottom: 65px;

}
.header__nav {
	margin-left: auto;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	/*align-items: center;*/
	transition: all 0.4s ease;
}
.header__tel {
	margin-top: 10px;
}


.nav__list {
	position: absolute;
	top: 105px;
	left: clamp(50px, 9.76vw, 100px);
	right: clamp(50px, 9.76vw, 100px);
	justify-content: space-between;
}

}



/* ====== スマホ ====== */
@media screen and (max-width: 767px) {
.header__tel {
	display: none;
}

.header__menu {
	padding: 20px 10px 15px;
	font-family: "Noto Serif JP", serif;
	font-size: clamp(2.4rem, 3.91vw, 3.0rem);
	font-weight: 400;
	text-align: center;
	color: #12BFC3;
	display: block;

}


.header__burger {
    display: flex;
  }

  .header__nav {
    position: absolute;
    top: 84px;
    left: 10px;
	right: 10px;
    width: calc(100% - 20px);
    background: #FFF;
    flex-direction: column;
    max-height: 0;
    overflow: hidden;

    transition: max-height 0.4s ease;
    z-index: 1000;
	box-shadow: 0 0 10px rgba(0,0,0,0.25);
  }

  /* メニュー展開時にフル幅でスライドダウン */
  .header__nav--open {
    max-height: 200vh;
    width: calc(100% - 20px);
  }

  .nav__list {
    flex-direction: column;
    gap: 0;
    width: 100%;
  	border-top: 1px solid #D4D4D4;
}
  .nav__item {
  	margin: 0;
    border-bottom: 1px solid #D4D4D4;
    width: 100%;
  }

.nav__item a {
	position: relative;
	padding: 16px 50px 16px 20px;
 	text-align: left;
}
.nav__item a::after {
	content: "";
	position: absolute;
	top: 0;
	right: 20px;
	bottom: 0;
	width: calc(15px * 0.5);
	height: calc(25px * 0.5);
	margin: auto 0;
	background: url("../img/common/common_ico05.svg") no-repeat center center / contain;
	display: block;
}

  /* メインリンク＋トグルボタン横並び */
  .nav__item-main {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
  }
  /*
   .nav__sub-list .nav__item-main:last-of-type {
   	border-bottom: none;
}
*/
.nav__item-main a {
    flex: 1;
	padding: 16px 0 16px 20px;

    text-decoration: none;
  }
.nav__item-main a::after {
	display: none;
}

  /* ＋／−ボタン */
  .nav__toggle {
    background: none;
    border: none;
    color: #000;
    font-size: 20px;
    width: 50px;
    height: 50px;
    cursor: pointer;
    position: relative;
  }
  .nav__toggle::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: calc(25px * 0.5);
	height: calc(25px * 0.5);
	margin: auto;
	background: url("../img/common/common_ico06.svg") no-repeat center center / contain;
	display: block;

  }
  .nav__item--active .nav__toggle::before {
  	background-image:  url("../img/common/common_ico07.svg");
  }

  /* サブメニュー（アコーディオン） */
  .nav__sub-list {
    position: static;
    background: #FFF;
    overflow: hidden;
    max-height: 0;
    opacity: 0;
    transition: all 0.3s ease;
    width: 100%;
  }
  .nav__item--active > .nav__sub-list {
    max-height: 1000px;
	padding-bottom: 10px;
    opacity: 1;
  }

.nav__sub-item {
    border-top: 1px dotted #D4D4D4;
}
.nav__sub-item a {
	padding: 12px 40px 12px 30px;
}

.nav__sub-item a::after {
	right: 22px;
	width: calc(15px * 0.35);
	height: calc(25px * 0.35);
}



  /* スマホ専用：閉じるボタン */
.nav__close-btn {
	margin: 20px 60px 30px;
	display: block;
	padding: 15px 10px;
	text-align: center;
	color: #000;
	border: 1px solid #E4E4E4;
	cursor: pointer;
}
.nav__close-btn:hover {
	background: #DDD;
}
.nav__close-btn span {
	position: relative;
	padding-left: 25px;
	font-family: "Noto Serif JP", serif;
	font-size: clamp(1.4rem, 2.08vw, 1.6rem);
	font-weight: 600;
	line-height: 1.33;
	letter-spacing: 0.06em;
	color: #000;
	display: inline-block;
}
.nav__close-btn span::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	width: calc(37px * 0.4);
	height: calc(37px * 0.4);
	margin: auto 0;
	background: url("../img/common/common_ico08.svg") no-repeat center center / contain;
	display: block;
}


}




/*----------------------------------------------------------
/* .hero アイキャッチ
----------------------------------------------------------*/
.top-hero {
	position: relative;
	padding: clamp(100px * 0.5, 6.25vw, 100px) clamp(20px, 3.75vw, 60px) clamp(410px * 0.5, 25.62vw, 410px);
	z-index: 1;
}
.top-hero::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: clamp(20px, 3.75vw, 60px);
	bottom: 0;
	background: url(../img/top/top_hero01.jpg) no-repeat fixed center center / cover;
	border-radius: 0 50px 0 0;
	z-index: -1;
}
.top-hero__inner {
	position: relative;
	text-align: right;
}
.top-hero__box {
	margin-right: clamp(20px, 5vw, 80px);
	display: inline-block;
}
.top-hero__title {
	margin-bottom: 5px;
	font-size: clamp(1.4rem, 1.25vw, 2.0rem);
	font-weight: 500;
	color: #000;
	line-height: 1.45;
	animation: fadeup01 1.0s cubic-bezier(0.33, 1, 0.68, 1) 3s forwards;
    opacity: 0;
}
@keyframes fadeup01 {
  0% {
    opacity: 0;
	transform: translateY(20px);
  }
  100% {
    opacity: 1;
	transform: translateY(0);
  }
}
.top-hero__catch {
	font-family: "Noto Serif JP", serif;
	font-size: clamp(3.0rem, 5vw, 8.0rem);
	font-weight: 600;
	line-height: 1.5;
	color: #462E2C;
	animation: fadeup02 1.0s cubic-bezier(0.33, 1, 0.68, 1) 4s forwards;
    opacity: 0;
}
@keyframes fadeup02 {
  0% {
    opacity: 0;
	transform: translateY(20px);
  }
  100% {
    opacity: 1;
	transform: translateY(0);
  }
}

@media screen and (max-width: 1024px){
.top-hero::before {
	background-attachment: scroll;
}
}

@media screen and (max-width: 767px){
.top-hero {
	position: relative;
	padding: clamp(65px * 0.5, 8.47vw, 65px) 20px clamp(760px * 0.5, 99.08vw, 760px);
	z-index: 1;
}
.top-hero::before {
	right: clamp(10px, 1.3vw, 20px);
	background-image: url(../img/top/top_hero01-sp.jpg);
}
.top-hero__inner {
	text-align: center;
}
.top-hero__box {
	margin-right: 0;
}
.top-hero__title {
	margin-bottom: 5px;
	font-size: clamp(1.2rem, 3.38vw, 1.4rem);
	text-align: center;
}
.top-hero__catch {
	font-size: clamp(3.0rem, 9.66vw, 4.0rem);
	text-align: center;
}
}


.hero {
	position: relative;
	height: clamp(300px, 26.56vw, 510px);
	padding: 0 40px;
	background-repeat: no-repeat;
	background-attachment: fixed;
	background-position: center center;
	background-size: cover;
	display: block;
	z-index: 1;
}
.hero--company {
	background-image: url("../img/company/company_hero01.jpg");
}
.hero--service {
	background-image: url("../img/service/service_hero01.jpg");
}
.hero--news {
	background-image: url("../img/news/news_hero01.jpg");
}
.hero--recruit {
	background-image: url("../img/recruit/recruit_hero01.jpg");
}
.hero--policy {
	background-image: url("../img/policy/policy_hero01.jpg");
}
.hero__inner {
	position: absolute;
	left: 40px;
	right: 40px;
	bottom: 0;
	max-width: 1260px;
	margin-left: auto;
	margin-right: auto;
	padding: clamp(40px, 3.12vw, 60px) 40px 10px;
	background-color: #FFF;
	border-radius: 50px 50px 0 0;
}
.hero__title {
	font-family: "Noto Serif JP", serif;
	font-size: clamp(3.2rem, 2.08vw, 4.0rem);
	font-weight: 600;
	text-align: center;
	line-height: 1.2;
	color: #462D2C;
}

@media screen and (max-width: 1024px){
.hero {
	background-attachment: scroll;
}
}

@media screen and (max-width: 767px){
.hero {
	height: clamp(200px, 39.11vw, 300px);
}
.hero__inner {
	left: 20px;
	right: 20px;
	padding: 30px 20px 10px;
	border-radius: 25px 25px 0 0;
}
.hero__title {
	font-size: clamp(2.6rem, 4.43vw, 3.2rem);
}
}

.hero--noimg {
	padding: 25px 40px 0;
	background-color: #F3F4F5;
}
@media screen and (max-width: 767px){
.hero--noimg {
	padding: 0 0;
}
}


/* top-service	トップサービス
------------------------------------------------*/
.top-service {
	margin-top: 80px;
	margin-bottom: 150px;
	padding-top: clamp(150px, 9.37vw, 180px);
	padding-bottom: 150px;
	padding-left: 40px;
	padding-right: 40px;
	background: url("../img/top/top_bg01.png") no-repeat center center / cover;
}

@media screen and (max-width: 767px){
.top-service {
	margin-top: 80px;
	margin-bottom: 80px;
	padding-top: 80px;
	padding-bottom: 80px;
	padding-left: 0;
	padding-right: 0;
	background-image: url("../img/top/top_bg01-sp.png");
}
}

/* service	サービス
------------------------------------------------*/
.service {
	padding: 50px 40px;
	background: url("../img/top/top_bg01.png") no-repeat center center / cover;
}
.service__inner {
	max-width: 1260px;
	margin-left: auto;
	margin-right: auto;
}

@media screen and (max-width: 767px){
.service {
	margin-top: 20px;
	padding: 40px 20px;
	background-image: url("../img/top/top_bg01-sp.png");
}
}

/* service-menu	サービスメニュー
------------------------------------------------*/

.service-menu {
	display: flex;
}
.service .service-menu {
	gap: clamp(20px, 2.38vw, 30px);
}
.service-menu__item {
	flex: 0 1 calc(100% / 3);
	display: flex;
	align-items: center;
}
.service .service-menu__item {
	flex: 0 1 calc((100% - clamp(20px, 2.38vw, 30px) * 2) / 3);
}
.service-menu__item a {
	position: relative;
	width: 100%;
	height: 100%;
	text-decoration: none;
	color: #333;
	display: flex;
	flex-direction: column;
	align-items: center;
}
.service .service-menu__item a {
	box-shadow: 0 5px 5px rgba(68,69,101,0.12);
}
.service .service-menu__item a:hover {
	box-shadow: 0 2px 2px rgba(68,69,101,0.12);
}
.service-menu__item a:hover{
	filter: brightness(1.0);
}
.service-menu__img-box {
	overflow: hidden;

}
.service-menu__img {
	/*aspect-ratio: 640 / 601;*/
}
.service .service-menu__img {
	border-radius: 6px 6px 0 0;
}
.service-menu__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: .2s ease;
}


a:hover .service-menu__img {
	filter: brightness(1.1);
	transform:scale(1.05,1.05);
	transition: .2s ease;
}

.service-menu__content {
	position: relative;
	width: calc(100% - clamp(20px, 2.08vw, 40px) - clamp(20px, 2.08vw, 40px));
	
	margin-top: calc(clamp(165px * 0.5, 8.59vw, 165px) * -1);
	margin-left: clamp(20px, 2.08vw, 40px);
	margin-right: clamp(20px, 2.08vw, 40px);

	padding: clamp(25px, 2.60vw, 50px) 20px;
	background-color: #FFF;
	border-radius: 6px;
	box-shadow: 0 0 5px rgba(0,0,0,0.12);
	z-index: 1;
}

.service .service-menu__content {
	width: 100%;
	margin-top: 0;
	margin-left: 0;
	margin-right: 0;
	padding: clamp(25px, 2.77vw, 35px) 20px;
	box-shadow: none;
	border-radius: 0 0 6px 6px;

}
a:hover .service-menu__content {
	filter: brightness(1.0);
}
a:hover .service-menu__content--personal {
	box-shadow: 0 0 3px rgba(0,0,0,0.12), inset 0 0 10px rgba(239,165,41,0.25);

}
.service a:hover .service-menu__content--personal {
	box-shadow: inset 0 0 10px rgba(239,165,41,0.25);
}
a:hover .service-menu__content--corporate {
	box-shadow: 0 0 3px rgba(0,0,0,0.12), inset 0 0 10px rgba(119,186,86,0.25);

}
.service a:hover .service-menu__content--corporate {
	box-shadow: inset 0 0 10px rgba(119,186,86,0.25);
}
a:hover .service-menu__content--online {
	box-shadow: 0 0 3px rgba(0,0,0,0.12), inset 0 0 10px rgba(2326,83,145,0.25);

}
.service a:hover .service-menu__content--online {
	box-shadow: inset 0 0 10px rgba(2326,83,145,0.25);
}

.service-menu__title {
	margin-bottom: 5px;
	font-family: "Noto Serif JP", serif;
	font-size: clamp(2.0rem, 1.82vw, 3.5rem);
	font-weight: 600;
	text-align: center;
	line-height: 1.45;
	color: #462E2C;
}
.service .service-menu__title {
	font-size: clamp(2.0rem, 2.38vw, 3.0rem);
}
.service-menu__title span {
	position: relative;
	padding-left: calc(clamp(39px * 0.6, 2.03vw, 39px) + 10px);
	padding-right: calc(clamp(14px, 0.83vw, 16px) + 8px);
	text-align: center;
	display: inline-block;
}
a:hover .service-menu__title span {
	font-weight: 700;
}


.service-menu__title span::before, 
.service-menu__title span::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto 0;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
	display: block;
}
.service-menu__title span::before {
	left: 0;
	width: clamp(39px * 0.6, 2.03vw, 39px);
	height: clamp(37px * 0.6, 1.92vw, 37px);
}
.service-menu__title span::after {
	right: 0;
	width: clamp(14px, 0.83vw, 16px);
	height: clamp(14px, 0.83vw, 16px);
}
.service .service-menu__title span::after {
	transform: rotate(90deg);
}
.service-menu__title--personal span::before {
	background-image: url("../img/service/service_ico01.svg");
}
.service-menu__title--personal span::after {
	background-image: url("../img/service/service_ico04.svg");
}
.service-menu__title--corporate span::before {
	background-image: url("../img/service/service_ico02.svg");
}
.service-menu__title--corporate span::after {
	background-image: url("../img/service/service_ico05.svg");
}
.service-menu__title--online span::before {
	background-image: url("../img/service/service_ico03.svg");
}
.service-menu__title--online span::after {
	background-image: url("../img/service/service_ico06.svg");
}


.service-menu__en-title {
	font-size: clamp(1.2rem, 0.72vw, 1.4rem);
	text-align: center;
	line-height: 1.42;
}
.service-menu__en-title--personal {
	color: #EFA529;
}
.service-menu__en-title--corporate {
	color: #77BA56;
}
.service-menu__en-title--online {
	color: #EC5391
}
.service-menu__desc {
	margin-top: clamp(15px, 1.30vw, 25px);
	font-size: clamp(1.4rem, 0.83vw, 1.6rem);
	text-align: center;
	line-height: 1.6;

}

@media screen and (max-width: 767px){
.service-menu {
	display: block;
}
.service-menu__item + .service-menu__item {
	margin-top: clamp(30px, 6.51vw, 50px);
}
.service-menu__img {
	aspect-ratio: 767 / 601;
}
.service .service-menu__img {
	aspect-ratio: 199 / 96;
}

}




/* 会社案内	.top-company
------------------------------------------------*/
.top-company {
	position: relative;
	max-width: 1920px;
	margin: 150px auto;
	padding-bottom: 150px;
}
.top-company__img-box {
	position: relative;
}
.top-company__img-box::before {
	content: "";
	position: absolute;
	top: 120px;
	left: 0;
	bottom: -150px;
	width: clamp(1550px * 0.6, 80.72vw, 1550px);
	background: url("../img/top/top_bg02.png") no-repeat center center / cover;
	display: block;
	z-index: -1;
}
.top-company__inner {
	position: relative;
}
.top-company__img {
	width: 80.72%;
	height: clamp(702px * 0.6, 36.56vw, 702px);
	min-height: 370px;
	margin-left: auto;
}
.top-company__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 30% center;
	aspect-ratio: auto;
	border-radius: 50px 0 0 0;
}
.top-company__box {
	position: absolute;
	left: 0;
	bottom: -65px;
	width: clamp(775px * 0.5, 40.36vw, 775px);
  	display: flex;
  	flex-direction: column;
	justify-content: center;
	z-index: 1;
}
.top-company__box-inner {
	width: 100%;
	padding: clamp(40px, 3.90vw, 75px) clamp(40px, 5.20vw, 100px);
	background-color: #FFF;
}
.top-company__title {
	margin-bottom: clamp(20px, 1.82vw, 35px);
	font-family: "Noto Serif JP", serif;
	font-size: clamp(2.4rem, 2.18vw, 4.2rem);
	font-weight: 600;
	line-height: 1.54;
}
.top-company__txt {
	font-size: clamp(1.4rem, 0.83vw, 1.6rem);
	line-height: 2.125;
}

@media screen and (max-width: 767px){
.top-company {
	margin: 80px auto;
	padding-bottom: 40px;
}
.top-company::before {
	content: "";
	position: absolute;
	top: clamp(160px, 29.98vw, 230px);
	left: 0;
	right: clamp(20px, 3.91vw, 30px);
	bottom: calc(clamp(40px, 10.43vw, 80px) * -1);
	background: url("../img/top/top_bg02-sp.png") no-repeat center center / cover;
	display: block;
	z-index: -1;
}
.top-company__img-box::before {
	display: none;
}
.top-company__img {
	width: calc(100% - clamp(40px, 13.03vw, 100px));
	height: auto;
	min-height: inherit;
	aspect-ratio: 335 / 231;
}
.top-company__img img {
	object-position: center center;
}
.top-company__box {
	position: relative;
	left: auto;
	bottom: auto;
	width: calc(100% - clamp(40px, 7.82vw, 60px));
	margin-top: calc(clamp(40px, 11.73vw, 90px) * -1);
	margin-left: auto;
	margin-right: auto;
	background-color: #FFF;
	z-index: 1;
}
.top-company__box-inner {
	max-width: 540px;
	margin: 0 auto;
	padding: clamp(30px, 9.77vw, 75px) clamp(20px, 8.47vw, 65px);
}
.top-company__title {
	margin-bottom: clamp(20px, 1.82vw, 35px);
	font-size: clamp(2.4rem, 2.18vw, 4.2rem);
}
.top-company__txt {
	font-size: clamp(1.4rem, 0.83vw, 1.6rem);
}
}

/* 採用情報	.top-recruit
------------------------------------------------*/
.top-recruit {
	position: relative;
	max-width: 1920px;
	margin: 150px auto;
	padding-bottom: 150px;
}
.top-recruit__img-box {
	position: relative;
}
.top-recruit__img-box::before {
	content: "";
	position: absolute;
	top: 120px;
	right: 0;
	bottom: -150px;
	width: clamp(1550px * 0.6, 80.72vw, 1550px);
	background: url("../img/top/top_bg03.png") no-repeat center center / cover;
	display: block;
	z-index: -1;
}
.top-recruit__inner {
	position: relative;
}
.top-recruit__img {
	width: 80.72%;
	height: clamp(702px * 0.6, 36.56vw, 702px);
	min-height: 370px;
	margin-right: auto;
}
.top-recruit__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 30% center;
	aspect-ratio: auto;
	border-radius: 0 50px 0 0;
}
.top-recruit__box {
	position: absolute;
	right: 0;
	bottom: -65px;
	width: clamp(775px * 0.5, 40.36vw, 775px);
  	display: flex;
  	flex-direction: column;
	justify-content: center;
	z-index: 1;
}
.top-recruit__box-inner {
	width: 100%;
	padding: clamp(40px, 3.90vw, 75px) clamp(40px, 5.20vw, 100px);
	background-color: #FFF;
}
.top-recruit__title {
	margin-bottom: clamp(20px, 1.82vw, 35px);
	font-family: "Noto Serif JP", serif;
	font-size: clamp(2.4rem, 2.18vw, 4.2rem);
	font-weight: 600;
	line-height: 1.54;
}
.top-recruit__txt {
	font-size: clamp(1.4rem, 0.83vw, 1.6rem);
	line-height: 2.125;
}
.top-recruit__btn a {
	background: #1494D1;
}
.top-recruit__btn a::after {
	background-image: url("../img/common/common_ico10.svg");
}

@media screen and (max-width: 767px){
.top-recruit {
	margin: 150px auto;
	padding-bottom: 40px;
}
.top-recruit::before {
	content: "";
	position: absolute;
	top: clamp(160px, 29.98vw, 230px);
	left: clamp(20px, 3.91vw, 30px);
	right: 0;
	bottom: calc(clamp(40px, 10.43vw, 80px) * -1);
	background: url("../img/top/top_bg03-sp.png") no-repeat center center / cover;
	display: block;
	z-index: -1;
}
.top-recruit__img-box::before {
	display: none;
}
.top-recruit__img {
	width: calc(100% - clamp(40px, 13.03vw, 100px));
	height: auto;
	min-height: inherit;
	aspect-ratio: 335 / 231;
}
.top-recruit__img img {
	object-position: center center;
}
.top-recruit__box {
	position: relative;
	right: auto;
	bottom: auto;
	width: calc(100% - clamp(40px, 7.82vw, 60px));
	margin-top: calc(clamp(40px, 11.73vw, 90px) * -1);
	margin-left: auto;
	margin-right: auto;
	background-color: #FFF;
	z-index: 1;
}
.top-recruit__box-inner {
	max-width: 540px;
	margin: 0 auto;
	padding: clamp(30px, 9.77vw, 75px) clamp(20px, 8.47vw, 65px);
}
.top-recruit__title {
	margin-bottom: clamp(20px, 1.82vw, 35px);
	font-size: clamp(2.4rem, 2.18vw, 4.2rem);
}
.top-recruit__txt {
	font-size: clamp(1.4rem, 0.83vw, 1.6rem);
}
}




/* .top-news お知らせ
------------------------------------------------*/
.top-news {
	margin-top: 150px;
	margin-bottom: 150px;
	padding: 150px 40px;
	background: url("../img/top/top_bg04.png") no-repeat center center / cover;
}
.top-news__inner {
}
.top-news__box {
	max-width: 1440px;
	margin: 0 auto;
	padding: 50px 40px 75px;
	background-color: #FFF;
}
.news-list {
	max-width: 1260px;
	margin-left: auto;
	margin-right: auto;
}
.news-list__item + .news-list__item {
	margin-top: 10px;
}
.news-list__item a {
	position: relative;
	padding: 25px 35px 25px 10px;
	text-decoration: none;
	color: #462D2C;
	border-bottom: 2px solid #D4D4D4;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	transition: .25s cubic-bezier(0.65,0.05,0.36,1);
}


.news-list__item a:hover {
	padding-left: 15px;
	padding-right: 30px;
	transition: .25s cubic-bezier(0.65,0.05,0.36,1);
	filter: brightness(1.0);
}
.news-list__item a::before {
	content: "";
	position: absolute;
	left: 0;
	bottom: -2px;
	width: 0;
	height: 2px;
	background-color: #5BB303;
	display: block;
	-webkit-transition: all 0.4s ease-in-out;
	transition: all 0.4s ease-in-out;
}
.news-list__item a:hover::before {
	width: 100%;
}
.news-list__item a::after {
	content: "";
	position: absolute;
	top: 0;
	right: 20px;
	bottom: 0;
	width: 7px;
	height: 11px;
	margin: auto 0;
	background: url("../img/common/common_ico11.svg") no-repeat center center / contain;
	display: block;
	transition: .25s cubic-bezier(0.65,0.05,0.36,1);
}
.news-list__item a:hover::after {
	right: 15px;
	transition: .25s cubic-bezier(0.65,0.05,0.36,1);
}
.news-list__date {
	font-size: clamp(1.4rem, 1.26vw, 1.6rem);
	line-height: 1.4;
	color: #989898;
}
.news-list__tag {
	width: 84px;
	margin-left: 40px;
	margin-right: 40px;
	padding: 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-list__txt {
	width: calc(100% - 100px - 84px -  min(3.17vw, 40px) -  min(3.17vw, 40px));
	font-family: "Noto Serif JP", serif;
	font-size: clamp(1.6rem, 1.42vw, 1.8rem);
	font-weight: 600;
	line-height: 1.4;
}
.news-list__btn {

}

@media screen and (max-width: 767px){
.top-news {
	margin-top: 80px;
	margin-bottom: 80px;
	padding: 80px 20px;
}
.top-news__box {
	padding: 30px 20px 40px;
}
.news-list__item + .news-list__item {
	margin-top: 5px;
}
.news-list__item a {
	padding: 15px 25px 15px 10px;
  	-ms-flex-wrap: wrap;
  	flex-wrap: wrap;
}

.news-list__item a:hover {
	padding-left: 15px;
	padding-right: 20px;
}
.news-list__item a::after {
	right: 10px;
	width: calc(7px * 0.8);
	height: calc(11px * 0.8);
	margin: auto 0;
}
.news-list__item a:hover::after {
	right: 5px;
}

.news-list__date {
	font-size: 1.4rem;
}
.news-list__tag {
	width: 80px;
	margin-left: 20px;
	margin-right: 0;
	padding: 2px 5px;
	font-size: clamp(1.3rem, 1.82vw, 1.4rem);
}
.news-list__txt {
	width: 100%;
	margin-top: 10px;
	font-size: clamp(1.4rem, 1.95vw, 1.5rem);
}

}


/* .top-online	ネット加入保険
------------------------------------------------*/
.top-online {
	margin-top: 150px;
	margin-bottom: 150px;
	padding-left: 40px;
	padding-right: 40px;
}
.top-online__inner {
	max-width: 980px;
	margin-left: auto;
	margin-right: auto;
}
.online-bnr {
	display: flex;
  	flex-wrap: wrap;
	justify-content: center;
	gap: 20px;
}
.online-bnr__item {
	max-width: 232px;
	flex: 0 1 calc((100% - 20px * 3) / 4);
	text-align: center;
}
.online-bnr__item a {
	display: block;
}
.online-bnr__item a:hover {
	box-shadow: 0 0 10px rgba(0,0,0,0.25);
}

@media screen and (max-width: 767px){
.top-online {
	margin-top: 80px;
	margin-bottom: 100px;
	padding-left: 20px;
	padding-right: 20px;
}
.online-bnr__item {
	flex: 0 1 calc((100% - 20px) / 2);
}
}


/* .footer-cta OTK保険プランニングにお気軽にご相談ください
------------------------------------------------*/
.footer-cta {
	padding: 80px 40px 150px;
	background: url("../img/common/common_pic01.jpg") no-repeat fixed center center / cover;
	z-index: 5;
}
.footer-cta__inner {
	/*max-width: 1560px*/
	max-width: 980px;
	margin-left: auto;
	margin-right: auto;
}
.footer-cta__title {
	margin-bottom: 20px;
}
.footer-cta__lead {
	margin-bottom: 55px;
	font-size: clamp(1.4rem, 1.26vw, 1.6rem);
	text-align: center;
	line-height: 2.12;
	color: #333;
}
.footer-cta__btn-outer {
	display: flex;
  	flex-wrap: wrap;
	gap: 30px;
}
.footer-cta__btn {
	/*flex: 0 1 calc((100% - 30px * 2) / 3);*/
	flex: 0 1 calc((100% - 30px) / 2);
	display: flex;
	align-items: center;
}
.footer-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;
}
.footer-cta__btn a:hover {
	box-shadow: 0 0 10px rgba(0,0,0,0.5);
	
}
.footer-cta__btn small {
	font-family: "Noto Sans JP", sans-serif;
	font-size: clamp(1.4rem, 1.02vw, 1.6rem);
	font-weight: 400;
	text-align: center;
	color: #FFF;
	display: block;
}
.footer-cta__btn span {
	position: relative;
	padding-top: calc(clamp(36px * 0.8, 1.87vw, 36px) + 10px);
	font-family: "Noto Serif JP", serif;
	font-size: clamp(2.2rem, 1.98vw, 3.1rem);
	font-weight: 600;
	text-align: center;
	line-height: 1.4;
	display: inline-block;
	white-space: nowrap;
}
.footer-cta__btn span::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	width: clamp(41px * 0.8, 2.13vw, 41px);
	height: clamp(36px * 0.8, 1.87vw, 36px);
	margin: 0 auto;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
}
.footer-cta__btn--tel span::before {
	background-image: url("../img/common/common_ico02.svg");
}
.footer-cta__btn--mail span::before {
	background-image: url("../img/common/common_ico03.svg");
}
.footer-cta__btn--request span::before {
	background-image: url("../img/common/common_ico04.svg");
}


@media screen and (max-width: 1024px){
.footer-cta {
	background-attachment: scroll;
}
}

@media screen and (max-width: 767px){
.footer-cta {
	padding: 80px 20px;
	background-image: url("../img/common/common_pic01-sp.jpg");
}
.footer-cta__lead {
	margin-bottom: 40px;
	font-size: 1.4rem;
}
.footer-cta__btn-outer {
	gap: 20px 0;
}
.footer-cta__btn {
	width: 100%;
	flex: 0 1 100%;
}
.footer-cta__btn a {
	padding: 15px 10px;
}
.footer-cta__btn--mail a, 
.footer-cta__btn--request a {
	padding-top: 24px;
	padding-bottom: 24px;
}
.footer-cta__btn small {
	font-size: 1.4rem;
}
.footer-cta__btn span {
	width: auto;
	margin: 0;  
	padding-top: 0;
	padding-left: calc(clamp(41px * 0.8, 2.13vw, 41px) + 10px);
	font-size: 2.0rem;
	text-align: center;
}
.footer-cta__btn span::before {
	right: auto;
	bottom: 0;
	margin: auto 0;
}
}







/*----------------------------------------------------------
/* .footer フッター
----------------------------------------------------------*/
.footer {

}
.footer__inner {
	max-width: 1260px;
	margin-left: auto;
	margin-right: auto;
	padding: 80px 40px 40px;
}
.footer--slim .footer__inner {
	padding-top: 25px;
	padding-bottom: 25px;
}

.sitemap {
	margin-bottom: 35px;
	padding-bottom: 35px;
	border-bottom: 1px solid #EEE;
}
.sitemap a {
	text-decoration: none;
	color: #462D2C;
}
.sitemap a:hover {
	text-decoration: underline;
}
.sitemap a:hover * {
	text-decoration: underline;
}
.sitemap__inner {
  	display: -webkit-box;
  	display: -ms-flexbox;
  	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	gap: 20px;
}
.sitemap__box {
	flex: 0 1 calc((100% - 20px * 3) / 4);
}


.sitemap__parent {
	position: relative;
	padding-left: 20px;
	font-size: clamp(1.6rem, 1.42vw, 1.8rem);
	line-height: 1.44;
}
.sitemap__parent + .sitemap__parent {
	margin-top: 20px;
}
.sitemap__parent::before {
	content: "";
	position: absolute;
	top: 10px;
	left: 0;
	width: 5px;
	height: 8px;
	background: url("../img/common/common_ico12.svg") no-repeat center center / contain;
}
.sitemap__parent a {


}

.sitemap_acdn-detail {

}
.sitemap__child {
	position: relative;
	margin-top: 15px;
	padding-left: 15px;
	font-size: 1.4rem;
	font-weight: 400;
	line-height: 1.85;
}
.sitemap__child::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	width: 6px;
	height: 2px;
	margin: auto 0;
	background: url("../img/common/common_ico13.svg") no-repeat center center / contain;
}
.sitemap__child + .sitemap__child {
	margin-top: 10px;
}
.footer__bottom {
	display: flex;
	justify-content: space-between;
	align-items: center;

}
.footer__title {

}
.footer__headline {
	margin-bottom: 10px;
	font-size: 1.4rem;
	line-height: 1.42;
}
.footer__logo {
	text-align: center;
}
.footer__logo a {
	display: block;
}

.footer__headline {

}
.footer__logo {

}

.footer__copyright {
	margin-left: 20px;
	font-size: 1.2rem;
	font-weight: 400;
	text-align: right;
	line-height: 1.5;
	letter-spacing: 0.12em;
	color: #462D2C;
}
.footer--slim .footer__copyright {
	text-align: center;
}




@media screen and (min-width: 768px){
.sitemap_acdn-detail {
	height: auto !important;
}
}

@media screen and (max-width: 767px){
/*
.footer {
	padding: 30px 20px 40px;
}
*/

.footer__inner {
	padding: 30px 20px;
}
.footer__headline {
	margin-bottom: 10px;
	font-size: 1.2rem;
	line-height: 1.5;
}
.footer__logo {
	margin-bottom: 20px;
}
.sitemap {
	margin-left: -20px;
	margin-right: -20px;
	margin-bottom: 30px;
	padding-bottom: 0;
	border-top: 1px solid #D4D4D4;
	border-bottom: none;
}
.sitemap__inner {
  	display: block;
}
.sitemap__parent {
	padding-left: 0;
	font-size: 1.5rem;
	border-bottom: 1px solid #D4D4D4;
}
.sitemap__parent + .sitemap__parent {
	margin-top: 0;
}
.sitemap__parent::before {
	display: none;
}
.sitemap__parent a {
	position: relative;
	padding: 20px 20px;
	display: block;
}
.sitemap__parent a::after {
	content: "";
	position: absolute;
	top: 0;
	right: 20px;
	bottom: 0;
	width: calc(15px * 0.5);
	height: calc(25px * 0.5);
	margin: auto 0;
	background: url("../img/common/common_ico05.svg") no-repeat center center / contain;
	display: block;
}

.sitemap__acdn {
	position: relative;
}
.sitemap__acdn a::after {
	display: none;
}

.sitemap_acdn-detail {
	height: 0;
	margin: 0;
	padding: 0;
	overflow: hidden;
	transition: .5s;
}
.active .sitemap_acdn-detail {
	padding-bottom: 10px;
}


.sitemap__child {
	position: relative;
	margin-top: 0;
	padding-left: 0;
	font-size: 1.4rem;
	font-weight: 400;
	line-height: 1.2;
	border-top: 1px dotted #D4D4D4;
}
.sitemap__child::before {
	display: none;
}
.sitemap__child + .sitemap__child {
	margin-top: 0;
}
.sitemap__child a {
	padding: 15px 30px 15px 40px;
	display: block;
}

.sitemap__child a::before {
	content: "";
	position: absolute;
	top: 0;
	left: 25px;
	bottom: 0;
	width: calc(18px * 0.5);
	height: calc(6px * 0.5);
	margin: auto 0;
	background: url("../img/common/common_ico13.svg") no-repeat center center / contain;
	display: block;
}
.sitemap__child a::after {
	content: "";
	position: absolute;
	top: 0;
	right: 22px;
	bottom: 0;
    width: calc(15px * 0.35);
    height: calc(25px * 0.35);
	margin: auto 0;
	background: url("../img/common/common_ico05.svg") no-repeat center center / contain;
	display: block;
}

.sitemap__acdn-btn {
	position: absolute;
	top: 0;
	right: 0;
	width: 50px;
	height: 55px;
	background: url("../img/common/common_ico06.svg") no-repeat center center / 12px 12px;
	cursor: pointer;
	z-index: 10;
}
.active .sitemap__acdn-btn {
	background-image: url("../img/common/common_ico07.svg");
}


.footer__bottom {
	display: block;
}
.footer__title {
	margin-bottom: 30px;

}
.footer__headline {
	margin-bottom: 10px;
	text-align: center;
	font-size: 1.4rem;
	line-height: 1.42;
}
.footer__logo {
	text-align: center;
}
.footer__logo a {
	display: block;
}

.footer__headline {

}
.footer__logo {
	max-width: 260px;
	margin-left: auto;
	margin-right: auto;

}
.footer__copyright {
	margin-left: 0;
	font-size: 1.1rem;
	text-align: center;
}




}


/*----------------------------------------------------------
/* .topic_path パンくずリスト
----------------------------------------------------------*/
.topic-path {
	position: relative;
	padding: 30px 40px 40px;
	z-index: 1;
}
.contents--noimg .topic-path {
	padding: 30px 0;
}
.topic-path__inner {
	max-width: 1600px;
	margin: 0 auto;
}
.topic-path__list {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
}
.topic-path__list li {
	font-size: 1.4rem;
	line-height: 1.4;
	letter-spacing: 0.036em;
	color: #000;
}
.topic-path__list li a {
	font-size: 1.4rem;
	text-decoration: underline;
	color: #32979E;
}
.topic-path__list li a:hover {
	text-decoration: none;
}
.topic-path__list li:not(:last-of-type)::after {
	content: ">";
	margin: 0 15px;
	font-size: 1.4rem;
}

@media screen and (max-width: 767px){
.topic-path {
	padding-left: 9.6479vw;
	padding-right: 9.6479vw;
	display: none;
}
}



/*----------------------------------------------------------
/* .page_top ページトップ
----------------------------------------------------------*/

/*========= ページトップのためのCSS ===============*/
/*リンクの形状*/

/*リンクを右下に固定*/
#page-top {
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 2;
	opacity: 0;
	transform: translateY(100px);
}
#page-top a {
  display: flex;
  transition:all 0.3s;
}
#page-top a:hover {
	box-shadow: 0 0 10px rbga(0,0,0,0.5);
}

/*　上に上がる動き　*/

#page-top.UpMove {
  animation: UpAnime 0.5s forwards;
}
@keyframes UpAnime{
  from {
	opacity: 0;
	transform: translateY(100px);
  }
  to {
	opacity: 1;
	transform: translateY(0);
  }
}

/*　下に下がる動き　*/
#page-top.DownMove {
  animation: DownAnime 0.5s forwards;
}
@keyframes DownAnime{
  from {
	opacity: 1;
	transform: translateY(0);
  }
  to {
	opacity: 1;
	transform: translateY(100px);
  }
}
 
 
 
@media screen and (max-width: 767px){
#page-top {
	width: calc(78px * 0.8);
	height: calc(78px * 0.8)
}


}
 
 
 
 
 
 