/*
Theme Name: original_theme
Description: This is our original theme.
Author: Wordpress Theme
Version: 1.003
*/

@charset "utf-8";

:root {
	--text-font-family-base: "YakuHanJP", 'Noto Sans JP', 游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	--text-font-family-mincho: "YakuHanMP", YuMincho, '游明朝', 'ヒラギノ明朝 Pro W3', 'Hiragino Mincho ProN','メイリオ',"HGS明朝E", 'MS P 明朝', 'MS PMincho', serif;
	--color-font-base: #333333;
	--color-primary: #176fb7;
	--text-color-placeholder: #b8b8b8;
	--text-size-base: 1.8rem;
	--text-size-base-sp: 2.8rem;
	--text-line-height-base: 2;
	--text-letter-spacing-base: .1em;
	--leading-trim: calc((1em - 1lh) / 2);
	--content-width-top: 120rem;
	--content-width: 126rem;
	--wrap-padding: 6rem;
	--wrap-padding-sp: 3.5rem;
	--wrap-padding-sp-large: 7.5rem;
	--transition-duration-base: 600ms;
	--transition-duration-slow: 1000ms;
}

html {
	font-size: 10px;
}

body {
	margin: 0;
	padding: 0;
	color: var(--color-font-base);
	font-size: var(--text-size-base);
	line-height: var(--text-line-height-base);
	letter-spacing: var(--text-letter-spacing-base);
	font-feature-settings : "palt";
	text-align: left;
	background: #fff;
	font-family: var(--text-font-family-base);
	-webkit-text-size-adjust: none;
	-webkit-backface-visibility:hidden;
	backface-visibility:hidden;
}
@media screen\0 {
	body {
		letter-spacing: normal;
		font-family: "YakuHanJP", 'Noto Sans JP', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	}
}
@media print {
	body {
		zoom: 0.68;
		-webkit-print-color-adjust: exact;
	}
}
/* IE10以上 */
@media print and (-ms-high-contrast: none) {
	/* @pageの指定いらないかも */
	@page {
		size: A4;
		margin: 12.7mm 9.7mm;
	}

	body {
		zoom: 1.8;
		width: 1200px;
		transform: scale(0.5);
		transform-origin: 0 0;
	}
}
div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, button, textarea, select, p, blockquote, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
	margin: 0;
	padding: 0;
	text-align: left;
}
main {
	display: block;
}
table {
	font-size: inherit; /* モダンブラウザ向け */
	font: 100%; /* Win IE 5-5.5､6(後方互換モード)向け */
}
fieldset, img {
	border:0;
}
address, caption, cite, code, dfn, em, strong, th, var {
	font-style:normal;
	font-weight:normal;
}
ol, ul {
	list-style:none;
}
caption, th {
	text-align:left;
}
h1, h2, h3, h4, h5, h6 {
	font-size:100%;
	font-weight:normal;
	letter-spacing: var(--text-letter-spacing-base);
}
p {
	letter-spacing: var(--text-letter-spacing-base);
}
q:before, q:after {
	content:'';
}
abbr, acronym {
	border:0;
}
input,
button {
	font-family: var(--text-font-family-base);
}
input[type="radio"],input[type="checkbox"],label,button,input[type="submit"] {
	cursor: pointer;
}
input[type="submit"] {
	cursor: pointer;
}
input[type="text"], input[type="search"], input[type="tel"], input[type="url"], input[type="email"], input[type="password"], input[type="date"], input[type="number"] {
	height: 5.4rem;
	padding: .5rem 2rem;
	font-family: var(--text-font-family-base);
	font-size: 1.8rem;
	font-weight: bold;
	letter-spacing: var(--text-letter-spacing-base);
	background: #f4f6f6;
	border: .3rem solid #f4f6f6;
	box-sizing: border-box;
	border-radius: 0;
	-webkit-text-size-adjust: none;
	-webkit-backface-visibility:hidden;
	backface-visibility:hidden;
}
select {
	height: 5.4rem;
	padding: .5rem 1rem .5rem 2rem;
	color: var(--color-font-base);
	font-family: var(--text-font-family-base);
	font-size: 1.8rem;
	font-weight: bold;
	letter-spacing: var(--text-letter-spacing-base);
	background: #f4f6f6;
	border: .3rem solid #f4f6f6;
	box-sizing: border-box;
	border-radius: 0;
}
textarea {
	height: 15rem;
	padding: 1rem 2rem;
	font-family: var(--text-font-family-base);
	font-size: 1.8rem;
	font-weight: bold;
	letter-spacing: var(--text-letter-spacing-base);
	background: #f4f6f6;
	border: .3rem solid #f4f6f6;
	box-sizing: border-box;
	border-radius: 0;
	vertical-align: top;
}
/* Webkit */
::-webkit-input-placeholder {
	color: var(--text-color-placeholder);
	opacity: 1;
}
/* Firefox 18 以前 */
:-moz-placeholder {
	color: var(--text-color-placeholder);
}
/* Firefox 19 以降 */
::-moz-placeholder {
	color: var(--text-color-placeholder);

	/* Firefox 19 以降のデフォルトでは */
	/* color ではなく opacity で色合いを調整しているため */
	/* 文字色を指定する場合、opacity を 1 にする必要がある */
	opacity: 1;
}
/* IE 10 以降 */
:-ms-input-placeholder {
	color: var(--text-color-placeholder) !important;
}
/* CSS4では以下のような名前の擬似クラスになるらしい */
/* おそらく今のところ対応ブラウザはない */
:placeholder-shown {
	color: var(--text-color-placeholder);
}
/* Android chrome対策 */
div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, button, textarea, select, p, blockquote, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
	max-height:999999px;
}

.clear {
	clear: both;
}
.clearfix {
	zoom: 100%;
}
.clearfix:after {
	content: "";
	clear: both;
	height: 0;
	display: block;
	visibility: hidden;
}
a {
	text-decoration: none;
}
a:link {
	color: var(--color-font-base);
}
a:visited {
	color: var(--color-font-base);
}
a.normal:link {
	color: var(--color-font-base);
}
a.normal:visited {
	color: var(--color-font-base);
}
a:hover {
	text-decoration: none;
}
a:active {
}
a.noline {
	text-decoration: none;
}
a.reverse {
	text-decoration: none;
}
a.reverse:hover {
	text-decoration: underline;
}
body {
	text-align: center;
}
img {
	max-width: 100%;
	width: auto;
	height: auto;
	vertical-align: middle;
	-webkit-backface-visibility: hidden;
}
a { /* FireFox リンク選択時の点線を消す　*/
	/*overflow: hidden;*/
	outline: none;
}
.ov {
	transition: all var(--transition-duration-base) cubic-bezier(0.165, 0.84, 0.44, 1);
}
.ov:hover {
	opacity:0.7;
}
.ovImg:hover img {
	opacity:0.7;
}
.nowrap {
	white-space: nowrap;
}
.mincho {
	font-family: var(--text-font-family-mincho);
}
.gothic {
	font-family: var(--text-font-family-base);
}
.Lato {
	font-family: 'Lato', sans-serif;
}
.Oswald {
	font-family: 'Oswald', sans-serif;
}
.Montserrat {
	font-family: "Montserrat", sans-serif;
}
* {
	box-sizing: border-box;
}



@media screen and (max-width:1399px){
	html {
		font-size: .71428571vw;
	}
}

@media screen and (max-width:767px){
	html {
		font-size: 1.33333333vw;
		/*font-size: 10px;*/
	}
	body {
		font-size: var(--text-size-base-sp);
	}
	input[type="text"], input[type="search"], input[type="tel"], input[type="url"], input[type="email"], input[type="password"], input[type="date"], input[type="number"] {
		height: 8.8rem;
		padding: 1rem 2rem;
		font-size: 3.2rem;
		border: .4rem solid #f4f6f6;
	}
	select {
		height: 8.8rem;
		padding: 1rem 2rem;
		font-size: 3.2rem;
		border: .4rem solid #f4f6f6;
	}
	textarea {
		height: 34.6666666vw;
		padding: 1rem 2rem;
		font-size: 3.2rem;
		border: .4rem solid #f4f6f6;
	}
}

/**********************************

 アニメーション

***********************************/
@keyframes bounceBtnArr {
	0% {
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
		opacity: 1;
	}
	25% {
		-webkit-transform: translateY(-50%) translateX(2rem);
		transform: translateY(-50%) translateX(2rem);
		opacity: 0;
	}
	26% {
		-webkit-transform: translateY(-50%) translateX(-2rem);
		transform: translateY(-50%) translateX(-2rem);
		opacity: 0;
	}
	55% {
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
		opacity: 1;
	}
}

@keyframes bounceBtnArrLeft {
	0% {
		-webkit-transform: translateY(-50%) rotate(180deg);
		transform: translateY(-50%) rotate(180deg);
		opacity: 1;
	}
	25% {
		-webkit-transform: translateY(-50%) translateX(-2rem) rotate(180deg);
		transform: translateY(-50%) translateX(-2rem) rotate(180deg);
		opacity: 0;
	}
	26% {
		-webkit-transform: translateY(-50%) translateX(2rem) rotate(180deg);
		transform: translateY(-50%) translateX(2rem) rotate(180deg);
		opacity: 0;
	}
	55% {
		-webkit-transform: translateY(-50%) rotate(180deg);
		transform: translateY(-50%) rotate(180deg);
		opacity: 1;
	}
}

@keyframes bounceMoreOpen {
	0% {
		-webkit-transform: translateY(-50%) rotate(90deg);
		transform: translateY(-50%) rotate(90deg);
		opacity: 1;
	}
	25% {
		-webkit-transform: translateY(calc(-50% + 2rem)) rotate(90deg);
		transform: translateY(calc(-50% + 2rem)) rotate(90deg);
		opacity: 0;
	}
	26% {
		-webkit-transform: translateY(calc(-50% - 2rem)) rotate(90deg);
		transform: translateY(calc(-50% - 2rem)) rotate(90deg);
		opacity: 0;
	}
	55% {
		-webkit-transform: translateY(-50%) rotate(90deg);
		transform: translateY(-50%) rotate(90deg);
		opacity: 1;
	}
}

@keyframes bounceMoreClose {
	0% {
		-webkit-transform: translateY(-50%) rotate(180deg);
		transform: translateY(-50%) rotate(180deg);
		opacity: 1;
	}
	25% {
		-webkit-transform: translateY(calc(-50% - 2rem)) rotate(180deg);
		transform: translateY(calc(-50% - 2rem)) rotate(180deg);
		opacity: 0;
	}
	26% {
		-webkit-transform: translateY(calc(-50% + 2rem)) rotate(180deg);
		transform: translateY(calc(-50% + 2rem)) rotate(180deg);
		opacity: 0;
	}
	55% {
		-webkit-transform: translateY(-50%) rotate(180deg);
		transform: translateY(-50%) rotate(180deg);
		opacity: 1;
	}
}

/**********************************

 general

***********************************/
.u-full {
	max-width: none;
	width: 100%;
}
.u-floatL {
	float: left;
}
.u-floatR {
	float: right;
}
.u-alignC {
	text-align: center;
}
.u-alignR {
	text-align: right;
}
.u-alignL {
	text-align: left;
}
.u-veralignT {
	vertical-align: top;
}
.u-veralignM {
	vertical-align: middle;
}
.u-veralignB {
	vertical-align: bottom;
}
.u-indent {
	text-indent: -1em;
	padding-left: 1em;
}
.u-bold {
	font-weight: bold;
}
.u-color-primary {
	color: var(--text-color-primary);
}
.u-white {
	color: #fff;
}
.u-red {
	color: #ff3f00;
}
.u-blue {
	color: var(--color-primary);
}
.u-yellow {
	color: #ffea26;
}
.u-bgYellow {
	background-color: #fff100;
}
.u-marker {
	background: linear-gradient(transparent 70%, #ffbf00 70%);
}
.u-underline {
	text-decoration: underline;
	text-underline-offset: .4em;
}

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

/**********************************

 parts

***********************************/
.u-define-wrap {
	padding-left: var(--wrap-padding);
	padding-right: var(--wrap-padding);
}

.u-define-inner {
	max-width: 100%;
	width: var(--content-width-top);
	margin: 0 auto;
}

.u-sub-define-inner {
	max-width: 100%;
	width: var(--content-width);
	margin: 0 auto;
}


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

	.u-define-wrap {
		padding-left: var(--wrap-padding-sp);
		padding-right: var(--wrap-padding-sp);
	}

	.u-define-inner {
		width: auto;
	}

	.u-sub-define-inner {
		width: auto;
	}
}

/* ---------------------------------------------------------
 投稿スタイル
--------------------------------------------------------- */
.entry_content {
	color: #1f1f1f;
	font-size: 1.8rem;
	line-height: 2;
}
.entry_content section,
.entry_content article,
.entry_content footer,
.entry_content header,
.entry_content div,
.entry_content dl,
.entry_content dt,
.entry_content dd,
.entry_content li,
.entry_content h1,
.entry_content h2,
.entry_content h3,
.entry_content h4,
.entry_content h5,
.entry_content h6,
.entry_content pre,
.entry_content form,
.entry_content fieldset,
.entry_content input,
.entry_content textarea,
.entry_content p,
.entry_content blockquote,
.entry_content th,
.entry_content td,
.entry_content caption {
	margin: 0px;
	padding: 0px;
	text-align: left;
}

.entry_content h1,
.entry_content h2,
.entry_content h3,
.entry_content h4,
.entry_content h5,
.entry_content h6 {
	clear: both;
	line-height: 1.846153846;
	margin: 2em 0 .5em;
	font-weight: 600;
}
.entry_content h1 {
	margin-top: 2.5em;
	margin-bottom: 1.2em;
	font-size: 3.2rem;
	font-weight: bold;
	line-height: 1.6;
	position: relative;
	z-index: 1;
}
.entry_content h2 {
	margin-top: 4rem;
	margin-bottom: 2.5rem;
	padding: 1.1rem 2rem;
	color: #fff;
	font-size: 2.2rem;
	font-weight: bold;
	line-height: 1.6;
	letter-spacing: var(--text-letter-spacing-base);
	background: var(--color-primary);
	border-radius: 1.5rem;
	position: relative;
	z-index: 1;
}
.entry_content h3 {
	margin-top: 4rem;
	margin-bottom: 2.5rem;
	padding: 1.1rem 1.8rem;
	color: var(--color-primary);
	font-size: 2rem;
	font-weight: bold;
	line-height: 1.6;
	letter-spacing: var(--text-letter-spacing-base);
	border-left: .2rem solid #dddddd;
	border-right: .2rem solid #dddddd;
	border-bottom: .2rem solid #dddddd;
	border-radius: 1.5rem;
	position: relative;
	z-index: 1;
	overflow: hidden;
}
.entry_content h3:before {
	content: "";
	display: block;
	width: 100%;
	height: .2rem;
	background: var(--color-primary);
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}
.entry_content h4 {
	margin-top: 4rem;
	margin-bottom: 2.5rem;
	font-size: 1.6rem;
	font-weight: bold;
}
.entry_content h5 {
	margin-top: 4rem;
	margin-bottom: 2.5rem;
	font-size: 1.6rem;
	font-weight: bold;
}
.entry_content h3 {
	/*font-size: 20px;*/
}
.entry_content h2 {
	/*font-size: 22px;*/
}
.entry_content h1 {
	/*font-size: 24px;*/
}

.entry_content strong {
	font-weight: bold;
}
.entry_content em {
	font-style: italic;
}
.entry_content mark,
.entry_content ins {
	background-color: #fff9c0;
	text-decoration: none;
}
.entry_content del {
	opacity: 0.8;
}
.entry_content a {
	color: #1f1f1f;
	text-decoration: underline;
	text-underline-offset: 8px;
}
.entry_content a:hover {
	text-decoration: none;
}
.entry_content blockquote {
	margin-bottom: 4rem;
	padding: 2rem 2rem;
	background-color: #f3f2f3;
	border-radius: 2rem;
}
.entry_content blockquote p:first-child {
	margin-top: 0;
}
.entry_content blockquote p:last-child {
	margin-bottom: 0;
}
.entry_content details {
	margin-bottom: 4rem;
}
.entry_content details:last-child {
	margin-bottom: 0;
}
.entry_content ul {
	margin: 1.5em 0 1.666666666666667em;
	padding: revert;
	list-style-type: revert;
}
.entry_content ul li {
}
.entry_content ol {
	margin: 1em 0 1.666666666666667em;
	padding: revert;
	list-style-type: decimal;
}
.entry_content code {
}
.entry_content pre {
	margin-bottom: 4rem;
	padding: 2rem 2rem;
	background-color: #f3f2f3;
	border-radius: 2rem;
	word-wrap: break-word;
	overflow: auto;
}
.entry_content pre:last-child {
	margin-bottom: 0;
}
.entry_content p {
	margin: 2rem 0 2rem;
}
.entry_content table {
	margin-bottom: 4rem;
	line-height: 1.6;
}
.entry_content table caption {
	text-align: center;
}
.entry_content table th {
}
.entry_content table th,
.entry_content table td {
	padding: 1rem 1.5rem;
}
.entry_content table th.has-text-align-left,
.entry_content table td.has-text-align-left {
	text-align: left;
}
.entry_content table th.has-text-align-right,
.entry_content table td.has-text-align-right {
	text-align: right;
}
.entry_content table th.has-text-align-center,
.entry_content table td.has-text-align-center {
	text-align: center;
}
.entry_content table[data-col="2"] th,
.entry_content table[data-col="2"] td {
	width: 50%;
}
.entry_content table[data-col="3"] th,
.entry_content table[data-col="3"] td {
	width: 33.333334%;
}
.entry_content table[data-col="4"] th,
.entry_content table[data-col="4"] td {
	width: 25%;
}
.entry_content table[data-col="5"] th,
.entry_content table[data-col="5"] td {
	width: 20%;
}
.entry_content table[data-col="6"] th,
.entry_content table[data-col="6"] td {
	width: 16.666666666666667%;
}
.entry_content table td {
}
.entry_content table strong {
	background: none;
}
.entry_content .wp-block-image {
	/*margin-top: 4rem;*/
	/*margin-bottom: 4rem;*/
}
.entry_content figure {
	/*margin-top: 3.5rem;*/
	/*margin-bottom: 3.5rem;*/
}
.entry_content img {
	max-width: 100%;
	height: auto;
	/*border-radius: 40px;*/
}
.wp-block-image.is-style-rounded img,
.wp-block-image .is-style-rounded img {
	border-radius: 5rem;
}
.wp-block-image.is-style-border img,
.wp-block-image .is-style-border img {
	border: .1rem solid #dddddd;
}
.entry_content iframe {
	max-width: 100%;
}
.entry_content .aligncenter {
	text-align: center;
	margin: 0 auto 1em;
	display: block;
}
.entry_content .alignleft {
	float: left;
	margin: 0 1em 0.857142857em 0;
}
.entry_content .alignright {
	float: right;
	margin: 0 0 0.857142857em 1em;
}

.entry_content .has-text-align-left {
	text-align: left;
}

.entry_content .has-text-align-center {
	text-align: center;
}

.entry_content .has-text-align-right {
	text-align: right;
}

.entry_content .has-small-font-size {
	font-size: 1.3rem !important;
}

.entry_content .has-medium-font-size {
	font-size: 2rem !important;
}

.entry_content .has-large-font-size {
	font-size: 3.6rem !important;
}

.entry_content .has-x-large-font-size {
	font-size: 4.2rem !important;
}

.entry_content sup {
	font-size: .5em;
	vertical-align: top;
}

.entry_content sub {
	font-size: .5em;
	vertical-align: bottom;
}

.entry_content .note-box {
	padding: 2rem 2rem;
	margin: 4rem 0 3rem;
	font-size: 1.4rem;
	background-color: #f4fafd;
	border-radius: 1.5rem;
}

.entry_content .note-box h1,
.entry_content .note-box h2,
.entry_content .note-box h3,
.entry_content .note-box h4,
.entry_content .note-box h5,
.entry_content .note-box h6 {
	margin: .25em 0;
}

.entry_content .note-box p {
	margin-top: .25em;
}

.entry_content .note-box *:first-child {
	margin-top: 0;
}

.entry_content .wp-block-embed__wrapper {
	margin-top: 3.5rem;
	margin-bottom: 3.5rem;
	overflow: hidden;
	/*border-radius: 3rem;*/
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}

.entry_content .wp-block-embed__wrapper iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}

.entry_content *:first-child {
	margin-top: 0;
}

.entry_content *:last-child {
	margin-bottom: 0;
}

@media screen and (max-width:767px){
	.entry_content {
		font-size: 2.8rem;
	}

	.entry_content section,
	.entry_content article,
	.entry_content footer,
	.entry_content header,
	.entry_content div,
	.entry_content dl,
	.entry_content dt,
	.entry_content dd,
	.entry_content li,
	.entry_content h1,
	.entry_content h2,
	.entry_content h3,
	.entry_content h4,
	.entry_content h5,
	.entry_content h6,
	.entry_content pre,
	.entry_content form,
	.entry_content fieldset,
	.entry_content input,
	.entry_content textarea,
	.entry_content p,
	.entry_content blockquote,
	.entry_content th,
	.entry_content td,
	.entry_content caption {
	}

	.entry_content p {
		margin: 2rem 0 2rem;
	}

	.entry_content h1,
	.entry_content h2,
	.entry_content h3,
	.entry_content h4,
	.entry_content h5,
	.entry_content h6 {
		clear: both;
		line-height: 1.846153846;
		margin: 1.5em 0;
		font-weight: 600;
	}

	.entry_content h2 {
		margin-top: 4rem;
		margin-bottom: 3rem;
		padding: 1.8rem 2.8rem;
		font-size: 3rem;
		line-height: 1.6;
	}

	.entry_content h3 {
		margin-top: 4rem;
		margin-bottom: 3rem;
		padding: 1.4rem 2.7rem;
		font-size: 2.8rem;
		line-height: 1.6;
	}

	.entry_content h3:before {
		height: .3rem;
	}

	.entry_content h4 {
		font-size: 2.6rem;
		line-height: 1.6;
	}

	.entry_content h5 {
		font-size: 2.6rem;
		line-height: 1.6;
	}
	.entry_content figure {
		/*margin-top: 4rem;*/
		/*margin-bottom: 4rem;*/
	}
	.wp-block-image.is-style-rounded img,
	.wp-block-image .is-style-rounded img {
		border-radius: 3rem;
	}
	.entry_content ul {
		/*margin: 1em 0 1.666666666666667em;*/
		/*font-size: 2.4rem;*/
		/*line-height: 1.6;*/
	}
	.entry_content ul li {
		/*padding: 0.5625em 3rem 0.5625em 5rem;*/
		/*margin-bottom: 2rem;*/
		/*border-radius: 1.5rem;*/
	}

	.entry_content .has-small-font-size {
		font-size: 2rem !important;
	}

	.entry_content .has-medium-font-size {
		font-size: 3.2rem !important;
	}

	.entry_content .has-large-font-size {
		font-size: 4rem !important;
	}

	.entry_content .has-x-large-font-size {
		font-size: 4.8rem !important;
	}

	.entry_content .wp-block-image {
		/*margin-bottom: 1.3em;*/
	}

	.entry_content blockquote {
		padding: 2rem 3rem;
		border-radius: 2.5rem;
	}

	.entry_content pre {
		padding: 2rem 3rem;
		border-radius: 2.5rem;
	}

	.entry_content .note-box {
		padding: 2rem 3rem;
		margin: 4rem 0 3rem;
		font-size: 2.4rem;
		border-radius: 1.5rem;
	}

	.entry_content .wp-block-embed__wrapper {
		margin-top: 4rem;
		margin-bottom: 4rem;
		/*border-radius: 2rem;*/
	}

}



/**********************************

 layout

***********************************/
body {
	height: auto !important;
}
body.is-fixed {
	position: fixed;
	width: 100%;
	/*height: 100%;*/
}
.l-wrap {
	position: relative;
	overflow: hidden;
}

.l-wrap.is-noneActive .l-main,
.l-wrap.is-noneActive .l-footer {
	pointer-events: none;
}

.l-cover {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 15;
	background-color: #fff;
	pointer-events: none;
	opacity: 0;
	transition: opacity 600ms cubic-bezier(0.165, 0.84, 0.44, 1);
}

.l-cover.is-active {
	opacity: 1;
	pointer-events: auto;
}

.l-main {
}

.l-pageTop {
	display: none;
	width: 6.2rem;
	position: fixed;
	bottom: 4rem;
	right: 4rem;
	z-index: 8;
}

.l-pageTop a {
	display: block;
}

@media (hover: hover) {
	.l-pageTop a {
		transition: all var(--transition-duration-base) cubic-bezier(0.165, 0.84, 0.44, 1);
	}

	.l-pageTop a:hover {
		opacity: 1;
		transform: scale(1.2, 1.2);
		-webkit-transform: scale(1.2, 1.2);
	}
}


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

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

	.l-pageTop {
		width: 6.4rem;
		bottom: 3rem;
		right: 4%;
	}
}




/**********************************

 l-loading

***********************************/
.l-loading {
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9999;
}

/* アニメーション完了後、クリック等を透過させる */
.l-loading.is-loaded {
	visibility: hidden;
}

/* 波状に切り抜かれる背景レイヤー */
.l-loading__bg {
	width: 100%;
	height: 100%;
	background: #fff;
	position: absolute;
	top: 0;
	left: 0;
	clip-path: url(#mask_loading_bg);
	-webkit-clip-path: url(#mask_loading_bg);
}

.l-loading__logo {
	width: 236px;
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 1;
	opacity: 1;
	transform: translateY(-50%) translateX(-50%);
	-webkit-transform: translateY(-50%) translateX(-50%);
}

/* clipPathの定義を保持するだけのSVG */
.l-loading__mask {
	width: 0;
	height: 0;
	position: absolute;
	pointer-events: none;
}

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

	.l-loading__logo {
		width: 177px;
	}
}





/**********************************

 l-humberger

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

	.l-humberger {
		width: 14rem;
		height: 14rem;
		position: absolute;
		top: 0;
		right: 0;
		z-index: 25;
	}

	.l-humberger:has(.is-active) {
		position: fixed;
	}

	.l-humberger a {
		display: block;
		width: 14rem;
		height: 14rem;
		overflow: visible;
		transition: background 600ms cubic-bezier(0.165, 0.84, 0.44, 1);
	}

	.l-humberger a.is-active {
	}

	.menu-trigger,
	.menu-trigger span {
		display: inline-block;
		transition: all .4s;
		box-sizing: border-box;
	}
	.menu-trigger {
		position: relative;
		width: 14rem;
		height: 14rem;
	}
	.menu-trigger span {
		position: absolute;
		left: 4.5rem;
		width: 100%;
		height: .4rem;
		background-color: var(--color-primary);
	}
	.menu-trigger.is-active span {
		/*background-color: #fff;*/
	}
	.menu-trigger span:nth-of-type(1) {
		width: 4.6rem;
		top: 5.1rem;
	}
	.menu-trigger span:nth-of-type(2) {
		width: 2.6rem;
		top: 6.8rem;
	}
	.menu-trigger span:nth-of-type(3) {
		width: 3.8rem;
		bottom: 5.1rem;
	}

	.menu-trigger.is-active span:nth-of-type(1) {
		width: 4.6rem;
		-webkit-transform: translateY(1.7rem) rotate(-45deg);
		transform: translateY(1.7rem) rotate(-45deg);
	}
	.menu-trigger.is-active span:nth-of-type(2) {
		opacity: 0;
	}
	.menu-trigger.is-active span:nth-of-type(3) {
		width: 4.6rem;
		-webkit-transform: translateY(-1.7rem) rotate(45deg);
		transform: translateY(-1.7rem) rotate(45deg);
	}
}


/**********************************

 l-drawerMenu

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

	.l-drawerMenu {
		display: block;
		width: 100%;
		height: 100dvh;
		padding: 0 6rem;
		/*background-color: rgba(0,0,0,.9);*/
		opacity: 0;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 20;
		/*transform: translateX(105%);*/
		/*-webkit-transform: translateX(105%);*/
		pointer-events: none;
		overflow-y: scroll;
		-webkit-overflow-scrolling: touch;
		transition: opacity 600ms cubic-bezier(0.165, 0.84, 0.44, 1);
	}

	.l-drawerMenu.is-active {
		opacity: 1;
		pointer-events: auto;
		/*transform: none;*/
		/*-webkit-transform: none;*/
	}

	.l-drawerMenu__inner {
		padding-top: 10rem;
		padding-bottom: 10rem;
	}

	.l-drawerMenu__inner ul {
		font-weight: bold;
	}

	.l-drawerMenu__inner ul li {
		margin-top: 6rem;
	}

	.l-drawerMenu__inner ul li:first-child {
		margin-top: 0;
	}

	.l-drawerMenu__inner ul li a {
		display: flex;
		align-items: flex-end;
		gap: 0 4rem;
	}

	.l-drawerMenu__inner ul li a .text-jp {
		display: block;
		color: var(--color-font-base);
		font-size: 3.6rem;
		line-height: 1.5;
		letter-spacing: .2em;
	}

	.l-drawerMenu__inner ul li a .text-en {
		display: block;
		color: var(--color-primary);
		font-size: 2.2rem;
		line-height: 1.6;
		letter-spacing: var(--text-letter-spacing-base);
	}
}


/**********************************

 l-header

***********************************/
.l-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	padding-right: 6rem;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 5;
}

.l-header__box {

}

.l-header__box a {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 32rem;
	height: 16rem;
	padding-bottom: 1.2rem;
	background: #fff;
	border-radius: 0 0 5rem 5rem;
}

.l-header__box-inner {

}

.l-header__box-logo {

}

.l-header__box-logo-txt01 {
	display: block;
	width: 23.6rem;
}

.l-header__box-logo-txt01 img {
	display: block;
}

.l-header__box-logo-txt02 {
	display: block;
	margin-top: 1rem;
	font-size: 1.6rem;
	font-weight: bold;
}

.l-header__box-desc {
	margin-top: .2rem;
	font-size: 1.2rem;
}

.l-header__navi {
	padding-bottom: 1.5rem;
}

.l-header__navi ul {
	display: flex;
	gap: 0 4rem;
}

.l-header__navi ul li {

}

.l-header__navi ul li a {
	display: block;
}

.l-header__navi ul li a .text-jp {
	display: block;
	color: #ffffff;
	font-size: 1.5rem;
	font-weight: bold;
	letter-spacing: .2em;
}

@media (hover: hover) {

	.l-header__navi ul li a .text-jp {
		transition: all var(--transition-duration-base) cubic-bezier(0.165, 0.84, 0.44, 1);
	}

	.l-header__navi ul li a:hover .text-jp {
		color: #b1d7f5;
	}
}

.l-header__navi ul li a .text-en {
	display: block;
	margin-top: .6em;
	color: #b1d7f5;
	font-size: 1.1rem;
	font-weight: bold;
	letter-spacing: .1em;
}

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

	.l-header {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
		padding-right: 0;
		position: relative;
	}

	.l-header__box {

	}

	.l-header__box a {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		width: auto;
		height: 24rem;
		padding-bottom: 1.2rem;
		background: #fff;
		border-radius: 0;
	}

	.l-header__box-inner {

	}

	.l-header__box-logo {

	}

	.l-header__box-logo-txt01 {
		width: 35.4rem;
		margin: 0 auto;
	}

	.l-header__box-logo-txt02 {
		display: block;
		margin-top: 1.6rem;
		font-size: 2.4rem;
		text-align: center;
	}

	.l-header__box-desc {
		margin-top: .2rem;
		font-size: 1.851rem;
		text-align: center;
	}

	.l-header__navi {
		display: none;
	}
}

/**********************************

 l-cta

***********************************/
.l-cta {
	margin-bottom: -23rem;
	position: relative;
	z-index: 2;
}

.l-cta__inner {

}

.l-cta__wrap {
	display: flex;
	justify-content: space-between;
	margin-bottom: -12.5rem;
	position: relative;
	z-index: 1;
}

.l-cta__tel {
	width: 55.5rem;
	padding: 4rem 3rem 3rem;
	background: #fff;
	border-radius: 5rem;
}

.l-cta__tel-ttl {
	font-size: 2.6rem;
	font-weight: bold;
	letter-spacing: .15em;
	line-height: 1.8;
	text-align: center;
}

.l-cta__tel-num {
	margin-top: 2.5rem;
	color: #fff;
	font-size: 3.5rem;
	font-weight: bold;
	letter-spacing: .12em;
	line-height: 1.5;
	text-align: center;
}

.l-cta__tel-num span {
	display: inline-block;
	padding: .9rem 2.4rem;
	background: var(--color-primary);
	border-radius: 2rem;
}

.l-cta__tel-note {
	margin-top: 1.5rem;
	font-size: 1.4rem;
	text-align: center;
	letter-spacing: var(--text-letter-spacing-base);
}

.l-cta__contact {
	width: 55.5rem;
	padding: 4rem 3rem 3rem;
	background: var(--color-primary);
	border-radius: 5rem;
}

.l-cta__contact-ttl {
	color: #fff;
	font-size: 2.6rem;
	font-weight: bold;
	letter-spacing: .15em;
	line-height: 1.8;
	text-align: center;
}

.l-cta__contact-btn {
	margin-top: 3.5rem;
	font-weight: bold;
	letter-spacing: .15em;
}

.l-cta__contact-btn a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 36rem;
	height: 8rem;
	margin: 0 auto 0;
	color: #fff;
	border: .3rem solid #fff;
	border-radius: 2rem;
	position: relative;
	z-index: 1;
}

.l-cta__contact-btn a .txt01 {
	display: block;
}

.l-cta__contact-btn a .icon {
	display: block;
	width: 2rem;
	height: 2rem;
	position: absolute;
	top: 50%;
	right: 2rem;
	z-index: 1;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
}

.l-cta__contact-btn a .icon__first {
	display: block;
	width: 1.1rem;
	height: 1rem;
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 1;
	transform: translateY(-50%) translateX(-50%);
	-webkit-transform: translateY(-50%) translateX(-50%);
}

.l-cta__contact-btn a .icon__second {
	display: block;
	width: 1.1rem;
	height: 1rem;
	position: absolute;
	top: 50%;
	left: -50%;
	z-index: 1;
	transform: translateY(-50%) translateX(-50%);
	-webkit-transform: translateY(-50%) translateX(-50%);
	opacity: 0;
}

.l-cta__contact-btn a .icon__first img,
.l-cta__contact-btn a .icon__second img {
	display: block;
	width: 1.1rem;
	height: 1rem;
}

@media (hover: hover) {

	.l-cta__contact-btn a {
		-webkit-transition: all var(--transition-duration-base) cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
		transition: all var(--transition-duration-base) cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
	}

	.l-cta__contact-btn a:hover {
		color: var(--color-primary);
		background: #fff;
	}

	.l-cta__contact-btn a:hover .icon__first {
		left: 150%;
		opacity: 0;
		-webkit-transition: all var(--transition-duration-base) cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
		transition: all var(--transition-duration-base) cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
	}

	.l-cta__contact-btn a:hover .icon__second {
		left: 50%;
		opacity: 1;
		-webkit-transition: all var(--transition-duration-base) cubic-bezier(0.165, 0.84, 0.44, 1) .2s;
		transition: all var(--transition-duration-base) cubic-bezier(0.165, 0.84, 0.44, 1) .2s;
	}

}

.l-cta__pic {
	margin: 0 -10rem;
}

.l-cta__pic img {
	aspect-ratio: 1400 / 460;
}

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

	.l-cta__contact {
		transition-delay: .4s !important;
	}
}

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

	.l-cta {
		margin-bottom: -92rem;
	}

	.l-cta__inner {

	}

	.l-cta__wrap {
		display: block;
		width: 60rem;
		margin: 0 auto -10rem;
	}

	.l-cta__tel {
		width: auto;
		padding: 3.5rem 3rem 2.5rem;
		background: #fff;
		border-radius: 4rem;
	}

	.l-cta__tel-ttl {
		font-size: 3.2rem;
		line-height: 1.6;
	}

	.l-cta__tel-num {
		margin-top: 2rem;
		font-size: 4.8rem;
	}

	.l-cta__tel-num span {
		padding: .8rem 4rem;
		border-radius: 2rem;
	}

	.l-cta__tel-note {
		margin-top: 2rem;
		font-size: 2.2rem;
		line-height: 1.8;
	}

	.l-cta__contact {
		width: auto;
		margin-top: 6rem;
		padding: 3rem 3rem 5rem;
		border-radius: 4rem;
	}

	.l-cta__contact-ttl {
		font-size: 3.2rem;
		line-height: 1.6;
	}

	.l-cta__contact-btn {
		margin-top: 2.5rem;
		font-size: 3.2rem;
		font-weight: bold;
		letter-spacing: .15em;
	}

	.l-cta__contact-btn a {
		width: 50rem;
		height: 8.8rem;
		border: .3rem solid #fff;
		border-radius: 2rem;
	}

	.l-cta__contact-btn a .icon {
		width: 3rem;
		height: 3rem;
		right: 2.5rem;
	}

	.l-cta__contact-btn a .icon__first {
		width: 2.2rem;
		height: 1.9rem;
	}

	.l-cta__contact-btn a .icon__second {
		width: 2.2rem;
		height: 1.9rem;
	}

	.l-cta__contact-btn a .icon__first img,
	.l-cta__contact-btn a .icon__second img {
		width: 2.2rem;
		height: 1.9rem;
	}

	.l-cta__pic {
		margin: 0 auto 0;
	}

	.l-cta__pic img {
		aspect-ratio: 680 / 460;
	}
}

/**********************************

 l-footer

***********************************/
.l-footer {
	margin-top: 12rem;
	position: relative;
	z-index: 5;
}

.l-footer__bottom {
	background: #a7d8e4;
	border-radius: 20rem 20rem 0 0;
}

.l-footer__bottom-inner {
	width: 96rem;
	padding: 32.5rem 0 12rem;
}

.l-footer__copy {
	font-size: 2.6rem;
	font-weight: bold;
	text-align: center;
	letter-spacing: .35em;
}

.l-footer__wrap {
	display: flex;
	justify-content: space-between;
	gap: 0 5rem;
	margin-top: 7rem;
}

.l-footer__info {

}

.l-footer__info-box {

}

.l-footer__info-box a {

}

.l-footer__info-box-logo {

}

.l-footer__info-box-logo-txt01 {
	display: block;
	width: 23.6rem;
}

.l-footer__info-box-logo-txt01 img {
	display: block;
	width: 23.6rem;
}

.l-footer__info-box-logo-txt02 {
	display: block;
	margin-top: .5rem;
	font-size: 1.6rem;
	font-weight: bold;
	letter-spacing: .15em;
}

.l-footer__info-address {
	margin-top: 2rem;
	font-size: 1.1rem;
	line-height: 2.2;
	letter-spacing: var(--text-letter-spacing-base);
}

.l-footer__navi {
	display: flex;
	align-items: flex-start;
	gap: 0 8.5rem;
	padding-top: .5rem;
}

.l-footer__navi ul {
	font-size: 1.5rem;
	font-weight: bold;
	letter-spacing: .15em;
	line-height: 1.5;
}

.l-footer__navi ul li {
	margin-top: 2.5rem;
}

.l-footer__navi ul li:first-child {
	margin-top: 0;
}

.l-footer__navi ul li a {
	display: inline-block;
	overflow: hidden;
	position: relative;
	z-index: 1;
}

.l-footer__navi ul li a .inner {
	display: block;
	-webkit-transition: all var(--transition-duration-base) cubic-bezier(0.165, 0.84, 0.44, 1);
	transition: all var(--transition-duration-base) cubic-bezier(0.165, 0.84, 0.44, 1);
}

.l-footer__navi ul li a:before {
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	background: var(--color-font-base);
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 1;
	transform: scale(0, 1);
	transform-origin: right top;
	transition: transform 500ms cubic-bezier(0.165, 0.84, 0.44, 1);
}

.l-footer__navi ul li a:after {
	content: attr(data-replace);
	display: block;
	width: 100%;
	text-align: center;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	transform-origin: 50% 100%;
	transform: translate(0, 200%);
	-webkit-transition: all var(--transition-duration-base) cubic-bezier(0.165, 0.84, 0.44, 1);
	transition: all var(--transition-duration-base) cubic-bezier(0.165, 0.84, 0.44, 1);
}

@media (hover: hover) {

	.l-footer__navi ul li a:hover:before {
		transform-origin: left top;
		transform: scale(1, 1);
	}

	.l-footer__navi ul li a:hover .inner {
		-webkit-transform: translate(0, -200%);
		transform: translate(0, -200%);
	}

	.l-footer__navi ul li a:hover:after {
		transform: translate(0, 0);
	}
}

.l-footer__copyright {
	margin-top: 3.5rem;
	font-size: 1.2rem;
	font-weight: bold;
	letter-spacing: .12em;
}

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

	.l-footer {
		margin-top: 8rem;
	}

	.l-footer__bottom {
		border-radius: 5rem 5rem 0 0;
	}

	.l-footer__bottom-inner {
		display: flex;
		flex-direction: column;
		width: auto;
		padding: 97rem 0 9rem;
	}

	.l-footer__copy {
		order: 2;
		margin-top: 3rem;
		font-size: 2.8rem;
	}

	.l-footer__wrap {
		display: contents;
		margin-top: 0;
	}

	.l-footer__info {
		display: contents;
	}

	.l-footer__info-box {
		order: 1;
	}

	.l-footer__info-box a {

	}

	.l-footer__info-box-logo {

	}

	.l-footer__info-box-logo-txt01 {
		display: block;
		width: 35.4rem;
		margin: 0 auto;
	}

	.l-footer__info-box-logo-txt01 img {
		display: block;
		width: 35.4rem;
	}

	.l-footer__info-box-logo-txt02 {
		display: block;
		margin-top: 1.6rem;
		font-size: 2.4rem;
		text-align: center;
	}

	.l-footer__info-address {
		order: 3;
		margin-top: 3rem;
		padding: 0 4rem;
		font-size: 2rem;
		line-height: 2.2;
	}

	.l-footer__navi {
		order: 4;
		display: flex;
		justify-content: center;
		align-items: flex-start;
		flex-wrap: wrap;
		gap: 5rem 5rem;
		margin-top: 3.5rem;
		padding-top: 0;
	}

	.l-footer__navi ul {
		font-size: 2rem;
		letter-spacing: .12em;
	}

	.l-footer__navi ul li {
		margin-top: 2.5rem;
	}

	.l-footer__navi ul li:first-child {
		margin-top: 0;
	}

	.l-footer__copyright {
		order: 5;
		margin-top: 4rem;
		font-size: 1.8rem;
		text-align: center;
	}
}

/**********************************

 js-blur-anime

***********************************/
.js-blur-anime {
	filter: blur(15px);
	opacity: 0;
	transform:translate3d(0,50px,0);
	transition: all var(--transition-duration-slow) cubic-bezier(0.165, 0.84, 0.44, 1);
}

.js-blur-anime.aos-animate {
	filter: blur(0);
	opacity: 1;
	transform:translate3d(0,0,0);
}

/**********************************

 js-textanimation

***********************************/
.js-textanimation {
	opacity: 0;
	transition: none;
}

.js-textanimation.aos-animate {
	opacity: 1;

}
.js-textanimation strong {
	display: inline-block;
	line-height: 1.2;
}
.js-textanimation span {
	animation: showText 1s backwards;
	display: inline-block;
}
.js-textanimation > span,
.js-textanimation strong > span {
	line-height: 1.2;
	vertical-align: middle;
	overflow: hidden;
}
.js-textanimation.aos-animate > span > span,
.js-textanimation.aos-animate strong > span > span {
	animation: showTextFromBottom 0.6s backwards;
}

@keyframes showTextFromBottom{
	0%{
		opacity: 0;
		transform: translateY( 110% );

	}
	50%{
		opacity: 1;
	}
	100%{
		transform: translateY( 0px );
	}
}

/**********************************

 c-title01

***********************************/
.c-title01 {
}

.c-title01__main {
	display: block;
	margin-top: -.45em;
	color: var(--color-primary);
	font-size: 5rem;
	font-weight: bold;
	letter-spacing: .1em;
	line-height: 1.5;
}

.c-title01__sub {
	display: block;
	margin-top: .4em;
	margin-bottom: -.1em;
	font-size: 2.2rem;
	font-weight: bold;
	letter-spacing: .15em;
	line-height: 1.5;
}

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

	.c-title01__main {
		margin-left: -1em;
		margin-right: -1em;
		font-size: 5rem;
		text-align: center;
	}

	.c-title01__sub {
		margin-left: -1em;
		margin-right: -1em;
		font-size: 3.2rem;
		text-align: center;
	}
}

/**********************************

 c-sub-hero

***********************************/
.c-sub-hero {
	padding: 0 3rem;
}

.c-sub-hero__inner {
	width: 140rem;
	max-width: 100%;
	margin: 0 auto;
	position: relative;
	z-index: 1;
}

.c-sub-hero__ttl {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: flex-start;
	width: var(--content-width);
	margin-top: 3rem;
	position: absolute;
	top: 50%;
	left: 7rem;
	z-index: 1;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
}

.c-sub-hero__ttl-jp {
	display: block;
	padding: 2rem 2rem;
	color: #fff;
	font-size: 3.6rem;
	font-weight: bold;
	letter-spacing: .12em;
	white-space: nowrap;
	line-height: 1;
	background: var(--color-primary);
	border-radius: 2.5rem;
}

.c-sub-hero__ttl-jp span {
	vertical-align: center;
}

.c-sub-hero__ttl-en {
	display: block;
	padding: .4rem 2rem;
	color: var(--color-primary);
	font-size: 1.8rem;
	font-weight: bold;
	white-space: nowrap;
	letter-spacing: var(--text-letter-spacing-base);
	background: #fff;
	border-radius: 1.5rem;
}

.c-sub-hero__bg {
	height: 50rem;
	margin-right: calc(50% - 50vw);
}

.c-sub-hero__bg-pic {
	height: 100%;
	border-radius: 0 0 0 10rem;
	overflow: hidden;
}

.c-sub-hero__bg-pic img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

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

	.c-sub-hero {
		padding: 0 3rem;
	}

	.c-sub-hero__inner {
		width: auto;
		max-width: 100%;
		margin: 0 auto;
		position: relative;
		z-index: 1;
	}

	.c-sub-hero__ttl {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		width: auto;
		margin-top: 0;
		position: absolute;
		top: 50%;
		left: 50%;
		z-index: 1;
		transform: translateY(-50%) translateX(-50%);
		-webkit-transform: translateY(-50%) translateX(-50%);
	}

	.c-sub-hero__ttl-jp {
		padding: 2rem 2rem;
		font-size: 3.6rem;
		border-radius: 2.5rem;
	}

	.c-sub-hero__ttl-en {
		padding: .2rem 2rem;
		font-size: 2.4rem;
		border-radius: 1.5rem;
	}

	.c-sub-hero__bg {
		height: 32rem;
		margin-right: 0;
	}

	.c-sub-hero__bg-pic {
		border-radius: 10rem;
	}
}

/**********************************

 c-btn01

***********************************/
a.c-btn01 {
	display: inline-block;
	padding-right: 10.5rem;
	/*transform: translateX(3rem);*/
	/*-webkit-transform: translateX(3rem);*/
	position: relative;
	z-index: 1;
}

.c-btn01__txt01 {
	color: var(--color-primary);
	font-weight: bold;
	letter-spacing: .15em;
}

.c-btn01__icon {
	display: block;
	width: 12rem;
	height: 12rem;
	border-radius: 50%;
	position: absolute;
	top: 50%;
	right: 0;
	z-index: 1;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	overflow: hidden;
}

.c-btn01__icon:before {
	content: "";
	display: block;
	width: 6rem;
	height: 6rem;
	background: var(--color-primary);
	border-radius: 50%;
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: -1;
	transform: translateY(-50%) translateX(-50%);
	-webkit-transform: translateY(-50%) translateX(-50%);
}

.c-btn01__icon:after {
	content: attr(data-text);
	display: block;
	color: #fff;
	font-weight: bold;
	letter-spacing: .15em;
	white-space: nowrap;
	opacity: 0;
	position: absolute;
	right: 10.6rem;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

.c-btn01__icon-first {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 1;
	transform: translateY(-50%) translateX(-50%);
	-webkit-transform: translateY(-50%) translateX(-50%);
}

.c-btn01__icon-second {
	display: block;
	position: absolute;
	top: 50%;
	left: 25%;
	z-index: 1;
	transform: translateY(-50%) translateX(-50%);
	-webkit-transform: translateY(-50%) translateX(-50%);
	opacity: 0;
}

.c-btn01__icon-first img,
.c-btn01__icon-second img {
	display: block;
	width: 1.1rem;
	height: 1rem;
}

@media (hover: hover) {

	a.c-btn01 .c-btn01__icon:before {
		-webkit-transition: all var(--transition-duration-base) cubic-bezier(0.165, 0.84, 0.44, 1);
		transition: all var(--transition-duration-base) cubic-bezier(0.165, 0.84, 0.44, 1);
	}

	a.c-btn01:hover .c-btn01__icon:before {
		width: 100%;
		height: 100%;
	}

	a.c-btn01 .c-btn01__icon:after {
		-webkit-transition: all 100ms ease 0s;
		transition: all 100ms ease 0s;
	}

	a.c-btn01:hover .c-btn01__icon:after {
		opacity: 1;
		-webkit-transition: all 100ms ease .1s;
		transition: all 100ms ease .1s;
	}

	a.c-btn01:hover .c-btn01__icon-first {
		left: 75%;
		opacity: 0;
		-webkit-transition: all var(--transition-duration-base) cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
		transition: all var(--transition-duration-base) cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
	}

	a.c-btn01:hover .c-btn01__icon-second {
		left: 50%;
		opacity: 1;
		-webkit-transition: all var(--transition-duration-base) cubic-bezier(0.165, 0.84, 0.44, 1) .2s;
		transition: all var(--transition-duration-base) cubic-bezier(0.165, 0.84, 0.44, 1) .2s;
	}
}

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

	a.c-btn01 {
		padding-right: 16rem;
		/*transform: translateX(4.5rem);*/
		/*-webkit-transform: translateX(4.5rem);*/
	}

	.c-btn01__txt01 {
		font-size: 3rem;
	}

	.c-btn01__icon {
		width: 18rem;
		height: 18rem;
	}

	.c-btn01__icon:before {
		width: 9rem;
		height: 9rem;
	}

	.c-btn01__icon:after {
		right: 16rem;
	}

	.c-btn01__icon-first img,
	.c-btn01__icon-second img {
		width: 2.2rem;
		height: 1.9rem;
	}
}

/**********************************

 c-pager

***********************************/
.c-archive-pager {
	margin-top: 6rem;
	padding: 2.5rem;
	background: #f4fafd;
	border-radius: 2.5rem;
}

.c-pager {
	font-family: "YakuHanJP", 'Noto Sans JP', 游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	font-size: 0;
}

.c-pager .wp-pagenavi {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap: 2rem;
}

.c-pager a {
	display: block;
	width: 5rem;
	height: 5rem;
	line-height: 4.8rem;
	font-size: 1.6rem;
	font-weight: bold;
	text-align: center;
	letter-spacing: .07em;
	border-radius: 1.5rem;
	background-color: #ffffff;
	border: .1rem solid #dddddd;
	box-sizing: border-box;
	vertical-align: top;
	position: relative;
	z-index: 1;
}

@media (hover: hover) {

	.c-pager a {
		transition: all 500ms cubic-bezier(0.165, 0.84, 0.44, 1);
	}

	.c-pager a:hover {
		color: #fff;
		border: .1rem solid var(--color-primary);
		background-color: var(--color-primary);
	}
}

.c-pager a.first {
	width: auto;
	padding: 0 1.9rem;
}

.c-pager a.previouspostslink,
.c-pager a.prev {
	width: auto;
	padding: 0 1.9rem;
}

.c-pager a.nextpostslink,
.c-pager a.next {
	width: auto;
	padding: 0 1.9rem;
}

.c-pager a.last {
	width: auto;
	padding: 0 1.9rem;
}

.c-pager span.current {
	display: block;
	width: 5rem;
	height: 5rem;
	line-height: 4.8rem;
	font-size: 1.6rem;
	font-weight: bold;
	text-align: center;
	border-radius: 1.5rem;
	color: #fff;
	background-color: var(--color-primary);
	box-sizing: border-box;
	vertical-align: top;
}

.c-pager span.extend,
.c-pager span.dots {
	display: block;
	font-size: 1.6rem;
	font-weight: bold;
	text-align: center;
}

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

	.c-archive-pager {
		margin-top: 5rem;
		padding: 2.5rem;
		border-radius: 1.5rem;
	}

	.c-pager .wp-pagenavi {
		gap: 3rem;
	}

	.c-pager a {
		width: 6rem;
		height: 6rem;
		line-height: 5.8rem;
		font-size: 2.4rem;
		border-radius: 1.5rem;
	}

	.c-pager span.current {
		width: 6rem;
		height: 6rem;
		line-height: 5.8rem;
		font-size: 2.4rem;
		border-radius: 1.5rem;
	}

	.c-pager span.extend,
	.c-pager span.dots {
		font-size: 2.4rem;
	}
}


/**********************************

 c-pagination

***********************************/
.c-post-pagination {
	margin-top: 10rem;
}

.c-pagination {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 4.5rem 0;
	font-size: 1.4rem;
	font-weight: bold;
	line-height: 1;
	letter-spacing: var(--text-letter-spacing-base);
	border-top: .1rem solid #dddddd;
	border-bottom: .1rem solid #dddddd;
}

.c-pagination__prev {
	flex: 1;
	padding-right: 3.5rem;
	text-align: left;
}

.c-pagination__prev a {
	padding-left: 4rem;
	position: relative;
	z-index: 1;
}

.c-pagination__prev a:before {
	content: "";
	display: block;
	width: 2.8rem;
	height: 2.8rem;
	background: #f4fafd;
	border-radius: 50%;
	position: absolute;
	top: 50%;
	left: 0;
	z-index: 1;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
}

.c-pagination__prev a:after {
	content: "";
	display: block;
	width: 2.8rem;
	height: 2.8rem;
	background: url(assets/images/common/icon_arr_blue.svg) no-repeat center / .9rem .8rem;
	position: absolute;
	top: 50%;
	left: 0;
	z-index: 1;
	transform: translateY(-50%) rotate(180deg);
	-webkit-transform: translateY(-50%) rotate(180deg);
}

@media (hover: hover) {

	.c-pagination__prev a:hover:after {
		animation-name: bounceBtnArrLeft;
		animation-duration: 1s;
		animation-iteration-count: 1;
	}
}

.c-pagination__back {
	padding: 0 5rem;
	text-align: center;
	border-left: .1rem solid #333333;
	border-right: .1rem solid #333333;
}

.c-pagination__back a {
	display: inline-block;
	vertical-align: middle;
	position: relative;
	z-index: 1;
}

@media (hover: hover) {

	.c-pagination__back a:before {
		content: "";
		display: block;
		width: 100%;
		height: 1px;
		background: var(--color-primary);
		position: absolute;
		bottom: -1rem;
		left: 0;
		z-index: 1;
		transform: scale(0, 1);
		transform-origin: right top;
		transition: transform var(--transition-duration-slow) cubic-bezier(0.165, 0.84, 0.44, 1);
	}

	.c-pagination__back a:hover:before {
		transform-origin: left top;
		transform: scale(1, 1);
	}
}

.c-pagination__next {
	flex: 1;
	padding-left: 3.5rem;
	text-align: right;
}

.c-pagination__next a {
	padding-right: 4rem;
	position: relative;
	z-index: 1;
}

.c-pagination__next a:before {
	content: "";
	display: block;
	width: 2.8rem;
	height: 2.8rem;
	background: #f4fafd;
	border-radius: 50%;
	position: absolute;
	top: 50%;
	right: 0;
	z-index: 1;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
}

.c-pagination__next a:after {
	content: "";
	display: block;
	width: 2.8rem;
	height: 2.8rem;
	background: url(assets/images/common/icon_arr_blue.svg) no-repeat center / .9rem .8rem;
	position: absolute;
	top: 50%;
	right: 0;
	z-index: 1;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
}

@media (hover: hover) {

	.c-pagination__next a:hover:after {
		animation-name: bounceBtnArr;
		animation-duration: 1s;
		animation-iteration-count: 1;
	}
}

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

	.c-post-pagination {
		margin-top: 6rem;
	}

	.c-pagination {
		padding: 3.5rem 0;
		font-size: 2rem;
	}

	.c-pagination__prev {
		padding-right: 3rem;
		line-height: 1.6;
		text-align: right;
	}

	.c-pagination__prev a {
		display: block;
		padding-left: 6.6rem;
		position: relative;
		z-index: 1;
	}

	.c-pagination__prev a:before {
		width: 5.6rem;
		height: 5.6rem;
	}

	.c-pagination__prev a:after {
		width: 5.6rem;
		height: 5.6rem;
		background-size: 1.6rem 1.5rem;
	}

	.c-pagination__back {
		padding: 0 2.5rem;
		text-align: center;
		line-height: 1.6;
		border-left: .1rem solid #333333;
		border-right: .1rem solid #333333;
	}

	.c-pagination__back a {
		margin-block: var(--leading-trim);
	}

	.c-pagination__next {
		line-height: 1.6;
		padding-left: 3rem;
		text-align: left;
	}

	.c-pagination__next a {
		display: block;
		padding-right: 6.6rem;
	}

	.c-pagination__next a:before {
		width: 5.6rem;
		height: 5.6rem;
	}

	.c-pagination__next a:after {
		width: 5.6rem;
		height: 5.6rem;
		background-size: 1.6rem 1.5rem;
	}

}


/**********************************

 c-form

***********************************/
.c-form {
}

/* 入力／確認の表示切り替え */
.js-confirmForm[data-step="input"] .c-form__content--confirm,
.js-confirmForm[data-step="input"] .c-form__confirmBtn {
	display: none;
}

.js-confirmForm[data-step="confirm"] .c-form__content--input,
.js-confirmForm[data-step="confirm"] .c-form__submit--toConfirm,
.js-confirmForm[data-step="confirm"] .c-form__privacy {
	display: none;
}

/* お問い合わせ内容の改行を保持 */
.c-form__content--confirm .is-multiline {
	white-space: pre-wrap;
}

.c-form:before {
}

.c-form__content {
	background: #fff;
}

.c-form__content dl {
	display: table;
	width: 100%;
	padding: 3.7rem 0;
	border-bottom: 1px solid #dddddd;
}

.c-form__content dl:first-child {
	border-top: 1px solid #dddddd;
}

.c-form__content dl dt {
	display: table-cell;
	width: 48rem;
	padding-left: 4rem;
	padding-right: 4rem;
	vertical-align: middle;
	border-right: 1px solid #dddddd;
}

.c-form__content dl dt .inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	line-height: 1.5;
}

.c-form__content dl dt .inner .name {
	font-size: 1.8rem;
	font-weight: bold;
}

.c-form__content dl dt .inner .require,
.c-form__content dl dt .inner .any {
	padding: .3rem .7rem;
	color: #fff;
	font-size: 1.2rem;
	font-weight: bold;
	letter-spacing: .07em;
}

.c-form__content dl dt .inner .require {
	background-color: #eb585d;
}

.c-form__content dl dt .inner .any {
	background-color: #b8b8b8;
}

.c-form__content dl dd {
	display: table-cell;
	padding-left: 4rem;
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1.5;
	vertical-align: middle;
	position: relative;
}

.c-form__content dl dd .birthday {
	display: flex;
	align-items: center;
	gap: 0 2.5rem;
}

.c-form__content dl dd .birthday__box {
	display: flex;
	align-items: center;
	gap: 0 1.2rem;
}

.c-form__content dl dd .birthday__box-entry {
}

.c-form__content dl dd .birthday__box-entry--year {
	width: 13rem;
}

.c-form__content dl dd .birthday__box-entry--month {
	width: 10rem;
}

.c-form__content dl dd .birthday__box-entry--day {
	width: 10rem;
}

.c-form__content dl dd .birthday__box-txt {

}

.c-form__content dl dd .address {
}

.c-form__content dl dd .address__box {
	margin-top: 3rem;
}

.c-form__content dl dd .address__box:first-child {
	margin-top: 0;
}

.c-form__content dl dd .address__box-txt {
}

.c-form__content dl dd .address__box-entry {
	margin-top: 1.5rem;
}

.c-form__content dl dd .upload {
	display: flex;
	align-items: center;
	gap: 0 2rem;
}

.c-form__content dl dd .upload__entry {
	display: flex;
	align-items: center;
	gap: 0 1rem;
}

.c-form__content dl dd .upload__box {
	flex: 1;
}

.c-form__content dl dd .upload__box ul {
	font-size: 1.2rem;
	font-weight: bold;
	letter-spacing: var(--text-letter-spacing-base);
}

.c-form__content dl dd .upload__box ul li {
	text-indent: -1.15em;
	margin-left: 1.15em;
}

.c-form__content dl dd [type="file"] {
	width: auto;
	font-size: 1.4rem;
	/*text-align: center;*/
	transition: opacity var(--transition-duration-base) cubic-bezier(0.165, 0.84, 0.44, 1);
}

.c-form__content dl dd [type="file"]:hover {
	opacity: .7;
}

.c-form__content dl dd [type="file"]::file-selector-button {
	/*display: block;*/
	/*width: 16rem;*/
	margin-bottom: 1rem;
	padding: .8rem 2rem;
	color: var(--color-font-base);
	font-size: 1.6rem;
	font-weight: bold;
	border: .2rem solid #bdcaca;
	/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#fcfdfd+0,d3dada+100 */
	background: linear-gradient(to bottom,  rgba(252,253,253,1) 0%,rgba(211,218,218,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	border-radius: 20rem;
	text-align: center;
	cursor: pointer;
}

.c-form__content dl dd .wfull {
	width: 100%;
}

.c-form__content dl dd .list {
	margin: .25em -.5em;
}

.c-form__content dl dd .list li {
	display: inline-block;
	margin: .25em .5em;
}

.c-form__content dl dd .wpcf7-not-valid-tip {
	display: block;
	padding: .2rem .5rem;
	color: #fff;
	font-size: 1.4rem;
	font-weight: bold;
	letter-spacing: normal;
	background-color: #eb585d;
}

.c-form__privacy {
	margin-top: 5rem;
}

.c-form__privacy-content {
	padding: 2rem 0 2rem 2.9rem;
	border: 1px solid #dddddd;
}

.c-form__privacy-content-scroll {
	height: 15rem;
	padding-right: 2.9rem;
	overflow-y: scroll;
}

.c-form__privacy-content-scroll section {
	margin-bottom: 3rem;
}

.c-form__privacy-content-scroll section:last-child {
	margin-bottom: 0;
}

.c-form__privacy-content-scroll .ttl {
	margin-bottom: 0;
	font-size: 1.8rem;
}

.c-form__privacy-content-scroll p {
	font-size: 1.6rem;
}

.c-form__privacy-txt01 {
	margin-top: 3.5rem;
	font-size: 1.8rem;
	font-weight: bold;
	text-align: center;
}

.c-form__privacy-txt01 .wpcf7-list-item {
	margin: 0;
}

.c-form__privacy-txt01 a {
	text-decoration: underline;
	text-underline-offset: 6px;
	position: relative;
	z-index: 1;
}

.c-form__privacy-txt01 a:hover {
	text-decoration: none;
}

.c-form__privacy input {
	margin-right: .5em;
}

.c-form__submit {
	width: 38rem;
	max-width: 100%;
	margin: 6rem auto 0;
	position: relative;
	z-index: 1;
}

.c-form__submit:before {
	content: "";
	display: block;
	width: 1.1rem;
	height: 1rem;
	background: url(assets/images/common/icon_arr_white.svg) no-repeat center / contain;
	position: absolute;
	top: 50%;
	right: 2.5rem;
	z-index: 1;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	pointer-events: none;
	transition: background var(--transition-duration-base) cubic-bezier(0.165, 0.84, 0.44, 1);
}


@media (hover: hover) {

	.c-form__submit:hover:before {
		background: url(assets/images/common/icon_arr_blue.svg) no-repeat center / contain;
		animation-name: bounceBtnArr;
		animation-duration: 1s;
		animation-iteration-count: 1;
	}

	.c-form__submit:has(:disabled):before {
		background: url(assets/images/common/icon_arr_white.svg) no-repeat center / contain;
		animation: none;
	}
}

.c-form__submit .wpcf7-spinner {
	margin: 0;
	position: absolute;
	top: 50%;
	left: 3rem;
	z-index: 1;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
}


.c-form__submit button,
.c-form__submit input,
.c-form__confirmBtn__btn .submit {
	display: block;
	width: 100%;
	padding: 2.8rem 1.5rem;
	color: #fff;
	font-size: 2.2rem;
	font-weight: bold;
	text-align: center;
	text-decoration: none;
	line-height: 1.5;
	letter-spacing: .12em;
	border-radius: 2rem;
	background: var(--color-primary);
	border: .3rem solid var(--color-primary);
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	transition: all var(--transition-duration-base) cubic-bezier(0.165, 0.84, 0.44, 1);
}

@media (hover: hover) {

	.c-form__submit button:hover,
	.c-form__submit input:hover,
	.c-form__confirmBtn__btn .submit:hover {
		color: var(--color-primary);
		background: #fff;
	}
}

.c-form__submit button:disabled,
.c-form__submit input:disabled,
.c-form__confirmBtn__btn .submit:disabled {
	color: #fff;
	background: #999;
	border: .3rem solid #999;
}

/*.c-form__submit button:disabled,*/
/*.c-form__submit input:disabled,*/
/*.c-form__confirmBtn__btn .submit:disabled {*/
/*opacity: 1;*/
/*!* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#666666+0,777777+100 *!*/
/*background: rgb(102,102,102); !* Old browsers *!*/
/*background: -moz-linear-gradient(top,  rgba(102,102,102,1) 0%, rgba(119,119,119,1) 100%); !* FF3.6-15 *!*/
/*background: -webkit-linear-gradient(top,  rgba(102,102,102,1) 0%,rgba(119,119,119,1) 100%); !* Chrome10-25,Safari5.1-6 *!*/
/*background: linear-gradient(to bottom,  rgba(102,102,102,1) 0%,rgba(119,119,119,1) 100%); !* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ *!*/
/*filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#666666', endColorstr='#777777',GradientType=0 ); !* IE6-9 *!*/
/*}*/

.c-form__confirmBtn {
	display: flex;
	justify-content: center;
	gap: 0 4rem;
	margin-top: 6rem;
}

.c-form__confirmBtn .c-form__submit {
	margin: 0;
}

.c-form__confirmBtn__btn {
	width: 38rem;
}

.c-form__confirmBtn__btn:first-child {
}

.c-form__confirmBtn__btn .back {
	display: block;
	width: 100%;
	padding: 2.8rem 1.5rem;
	color: #fff;
	font-size: 2.2rem;
	font-weight: bold;
	text-align: center;
	text-decoration: none;
	line-height: 1.5;
	letter-spacing: var(--text-letter-spacing-base);
	border-radius: 2rem;
	background: rgb(102,102,102);
	border: .3rem solid rgb(102,102,102);
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	transition: all var(--transition-duration-base) cubic-bezier(0.165, 0.84, 0.44, 1);
}

@media (hover: hover) {

	.c-form__confirmBtn__btn .back:hover {
		color: rgb(102,102,102);
		background: #fff;
	}
}

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

	.c-form {
	}

	.c-form__content {
		background: transparent;
	}

	.c-form__content dl {
		display: block;
		width: auto;
		padding: 4rem 0 4rem;
	}

	.c-form__content dl dt {
		display: block;
		width: auto;
		padding: 0;
		margin-bottom: 3rem;
		border-right: none;
	}

	.c-form__content dl dt .inner {
		display: flex;
		justify-content: flex-start;
		gap: 0 2.5rem;
		width: auto;
		position: relative;
	}

	.c-form__content dl dt .inner .name {
		font-size: 2.8rem;
		text-align: left;
	}

	.c-form__content dl dt .inner .require,
	.c-form__content dl dt .inner .any {
		padding: .4rem 1rem;
		font-size: 2.2rem;
		position: static;
	}

	.c-form__content dl dd {
		display: block;
		padding: 0;
		font-size: 2.8rem;
	}

	.c-form__content dl dd .birthday {
		display: flex;
		justify-content: space-between;
		align-items: center;
		gap: 0;
	}

	.c-form__content dl dd .birthday__box {
		gap: 0 1.2rem;
	}

	.c-form__content dl dd .birthday__box-entry {
	}

	.c-form__content dl dd .birthday__box-entry--year {
		width: 19rem;
	}

	.c-form__content dl dd .birthday__box-entry--month {
		width: 14.5rem;
	}

	.c-form__content dl dd .birthday__box-entry--day {
		width: 14.5rem;
	}

	.c-form__content dl dd .birthday__box-txt {

	}

	.c-form__content dl dd .address {
	}

	.c-form__content dl dd .address__box {
		margin-top: 3rem;
	}

	.c-form__content dl dd .address__box:first-child {
		margin-top: 0;
	}

	.c-form__content dl dd .address__box-txt {
	}

	.c-form__content dl dd .address__box-entry {
		margin-top: 2.5rem;
	}

	.c-form__content dl dd .upload {
		display: block;
	}

	.c-form__content dl dd .upload__entry {
		/*display: flex;*/
		/*align-items: center;*/
		/*gap: 0 1rem;*/
		text-align: center;
	}

	.c-form__content dl dd .upload__box {
		flex: 1;
	}

	.c-form__content dl dd .upload__box ul {
		margin-top: 2.5rem;
		font-size: 2.2rem;
	}

	.c-form__content dl dd [type="file"] {
		width: 100%;
		/*width: auto;*/
		font-size: 3.2rem;
		text-align: left;
		transition: opacity var(--transition-duration-base) cubic-bezier(0.165, 0.84, 0.44, 1);
	}

	.c-form__content dl dd [type="file"]:hover {
		opacity: .7;
	}

	.c-form__content dl dd [type="file"]::file-selector-button {
		/*display: block;*/
		/*width: 100%;*/
		margin-bottom: 1rem;
		padding: 1.4rem 4rem;
		font-size: 3.2rem;
		box-sizing: border-box;
		border: .3rem solid #bdcaca;
	}

	.c-form__content dl dd .wpcf7-not-valid-tip {
		padding: .4rem 1rem;
		font-size: 2.4rem;
	}

	.c-form__privacy {
		margin-top: 4rem;
	}

	.c-form__privacy-content {
		padding: 2.4rem 0 2.4rem 3rem;
		margin-bottom: 3.6rem;
		border: .2rem solid #dddddd;
	}

	.c-form__privacy-content-scroll {
		height: 15rem;
		padding-right: 3rem;
		overflow-y: scroll;
	}

	.c-form__privacy-content-scroll section {
		margin-bottom: 3rem;
	}

	.c-form__privacy-content-scroll section:last-child {
		margin-bottom: 0;
	}

	.c-form__privacy-content-scroll .ttl {
		margin-bottom: 0;
		font-size: 2.4rem;
	}

	.c-form__privacy-content-scroll p {
		font-size: 2.4rem;
	}

	.c-form__privacy-txt01 {
		margin-top: 4rem;
		font-size: 2.8rem;
		font-weight: bold;
		text-align: center;
	}

	.c-form__privacy input {
		margin-right: .5em;
	}

	.c-form__submit {
		width: 47.5rem;
		margin: 5rem auto 0;
	}

	.c-form__submit:before {
		width: 2.2rem;
		height: 1.9rem;
		right: 3rem;
	}

	.c-form__submit button,
	.c-form__submit input,
	.c-form__confirmBtn__btn .submit {
		padding: 2.8rem 2rem;
		font-size: 3.2rem;
	}

	.c-form__confirmBtn {
		justify-content: space-between;
		margin-top: 5rem;
	}

	.c-form__confirmBtn .c-form__submit {
		width: 47.5%;
	}

	.c-form__confirmBtn__btn {
		width: 47.5%;
	}

	.c-form__confirmBtn__btn:first-child {
		margin-right: 0;
	}

	.c-form__confirmBtn__btn .back {
		padding: 2.8rem 2rem;
		font-size: 3.2rem;
	}

}


/**********************************

 c-faq-list

***********************************/
.c-faq-list {
}

.c-faq-list dl {
	margin-bottom: 6rem;
}

.c-faq-list dl:last-child {
	margin-bottom: 0;
}

.c-faq-list dl dt {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin-bottom: 3rem;
}

.c-faq-list dl dt .icon {
	width: 6.8rem;
	color: #fff;
	font-size: 2.4rem;
	font-weight: bold;
	text-align: center;
	line-height: 6.8rem;
	background-color: #2b536a;
	border-radius: .5rem;
}

.c-faq-list dl dt .ttl {
	flex: 1;
	min-height: 6.8rem;
	padding: 1.4rem 2.9rem;
	margin-left: 1.2rem;
	font-size: 2.5rem;
	font-weight: bold;
	line-height: 1.5;
	border: 1px solid #e7e7eb;
	background-color: #fff;
	border-radius: .5rem;
}

.c-faq-list dl dd {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

.c-faq-list dl dd .icon {
	width: 6.8rem;
	color: #fff;
	font-size: 2.4rem;
	font-weight: bold;
	text-align: center;
	line-height: 6.8rem;
	background-color: #4481a5;
	border-radius: .5rem;
}

.c-faq-list dl dd .cont {
	flex: 1;
	min-height: 6.8rem;
	padding: 1.9rem 2.9rem;
	margin-left: 1.2rem;
	font-size: 1.6rem;
	line-height: 1.5;
	border: 1px solid #e7e7eb;
	background-color: #fff;
	border-radius: .5rem;
}

.c-faq-list dl dd .cont p {
}

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

	.c-faq-list {
	}

	.c-faq-list dl {
		margin-bottom: 6rem;
	}

	.c-faq-list dl dt {
		margin-bottom: 4rem;
	}

	.c-faq-list dl dt .icon {
		width: 8rem;
		font-size: 3.2rem;
		line-height: 8rem;
		border-radius: .8rem;
	}

	.c-faq-list dl dt .ttl {
		flex: 1;
		min-height: 8rem;
		padding: 1.4rem 2.4rem;
		margin-left: 2rem;
		font-size: 3.2rem;
		border-radius: .8rem;
	}

	.c-faq-list dl dd .icon {
		width: 8rem;
		font-size: 3.2rem;
		line-height: 8rem;
		border-radius: .8rem;
	}

	.c-faq-list dl dd .cont {
		min-height: 8rem;
		padding: 1.4rem 2.4rem;
		margin-left: 2rem;
		border-radius: .8rem;
	}

	.c-faq-list dl dd .cont p {
	}

}


/**********************************

 c-faq-list-acc

***********************************/
.c-faq-list-acc {
	width: 100rem;
	max-width: 100%;
	margin: 4.5rem auto 0;
}

.c-faq-list-acc dl {
	padding-left: 3rem;
	border-bottom: 1px solid #dddddd;
}

.c-faq-list-acc dl:first-child {
	border-top: 1px solid #dddddd;
}

.c-faq-list-acc dl dt {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	padding-top: 2.5rem;
	padding-bottom: 2.5rem;
	cursor: pointer;
}

.c-faq-list-acc dl dt .icon {
	color: #0057ae;
	font-size: 2.6rem;
	font-weight: bold;
	line-height: 1.3;
}

.c-faq-list-acc dl dt .ttl {
	flex: 1;
	padding-right: 10rem;
	margin-left: 2rem;
	font-size: 2rem;
	font-weight: bold;
	line-height: 1.8;
	position: relative;
	z-index: 1;
}

.c-faq-list-acc dl dt .ttl:before {
	content: "";
	display: block;
	width: 1.8rem;
	height: .2rem;
	margin: 1.9rem 3rem 0 0;
	background-color: #0057ae;
	position: absolute;
	top: 0;
	right: 0;
	z-index: 1;
}

.c-faq-list-acc dl dt.is-active .ttl:before {
}

.c-faq-list-acc dl dt .ttl:after {
	content: "";
	display: block;
	width: .2rem;
	height: 1.8rem;
	margin: 1.1rem 3.8rem 0 0;
	background-color: #0057ae;
	position: absolute;
	top: 0;
	right: 0;
	z-index: 1;
	transition: opacity var(--transition-duration-base) cubic-bezier(0.165, 0.84, 0.44, 1);
}

.c-faq-list-acc dl dt.is-active .ttl:after {
	opacity: 0;
}

.c-faq-list-acc dl dd {
	display: none;
}

.c-faq-list-acc dl dd .inner {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	padding-bottom: 2.5rem;
	position: relative;
	z-index: 1;
}

.c-faq-list-acc dl dd .icon {
	color: #999999;
	font-size: 2.6rem;
	font-weight: bold;
	line-height: 1.2;
}

.c-faq-list-acc dl dd .cont {
	flex: 1;
	margin-left: 2rem;
	font-size: 1.6rem;
	line-height: 1.8;
}

.c-faq-list-acc dl dd .cont p {
	padding-right: 8rem;
}

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

	.c-faq-list-acc {
		width: 88.23529412%;
		max-width: 100%;
		margin: 5rem auto 0;
	}

	.c-faq-list-acc dl {
		padding-left: 0;
		border-bottom: .2rem solid #dddddd;
	}

	.c-faq-list-acc dl dt {
		padding-top: 2rem;
		padding-bottom: 2rem;
	}

	.c-faq-list-acc dl dt .icon {
		font-size: 3.2rem;
		line-height: 1.4;
	}

	.c-faq-list-acc dl dt .ttl {
		flex: 1;
		padding-right: 7rem;
		margin-left: 1rem;
		font-size: 2.8rem;
	}

	.c-faq-list-acc dl dt .ttl:before {
		width: 2.4rem;
		height: .4rem;
		margin: 2.4rem 2rem 0 0;
	}

	.c-faq-list-acc dl dt.is-active .ttl:before {
	}

	.c-faq-list-acc dl dt .ttl:after {
		width: .4rem;
		height: 2.4rem;
		margin: 1.4rem 3rem 0 0;
	}

	.c-faq-list-acc dl dd .inner {
		padding-bottom: 2rem;
	}

	.c-faq-list-acc dl dd .icon {
		font-size: 3.2rem;
		line-height: 1.4;
	}

	.c-faq-list-acc dl dd .cont {
		margin-left: 1rem;
		font-size: 2.8rem;
		line-height: 1.8;
	}

	.c-faq-list-acc dl dd .cont p {
		padding-right: 0;
	}

}


/**********************************

 c-table-style01

***********************************/
.c-table-style01 {

}

.c-table-style01 dl {
	display: flex;
	padding: 4rem 0;
	font-size: 1.8rem;
	border-bottom: .1rem solid #dddddd;
}

.c-table-style01 dl:first-child {
	border-top: .1rem solid #dddddd;
}

.c-table-style01 dl.is-top-line-none {
	border-top: none;
}

.c-table-style01 dl dt {
	display: flex;
	align-items: center;
	width: 29rem;
	padding-right: 4rem;
	font-weight: bold;
	border-right: .1rem solid #dddddd;
}

.c-table-style01 dl dd {
	flex: 1;
	padding-left: 4rem;
}

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

	.c-table-style01 dl {
		display: block;
		padding: 4rem 0;
		font-size: 2.8rem;
	}

	.c-table-style01 dl dt {
		width: auto;
		padding-right: 0;
		margin-bottom: .5em;
		border-right: none;
	}

	.c-table-style01 dl dd {
		padding-left: 0;
	}
}

/**********************************

 c-2column-list

***********************************/
.c-2column-list {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-top: 7rem;
}

.c-2column-list-sec {
	width: 47rem;
	padding: 3rem 3rem 2.5rem;
	margin-top: 6.3rem;
	background: #fff;
	box-shadow: 0 .3rem 0 rgba(0,0,0,0.1);
	border-radius: 1.5rem;
	position: relative;
	z-index: 1;
}

.c-2column-list-sec:nth-child(1),
.c-2column-list-sec:nth-child(2) {
	margin-top: 0;
}

.c-2column-list-sec .num {
	width: 4rem;
	height: 4rem;
	line-height: 4rem;
	color: #fff;
	font-size: 1.8rem;
	font-weight: bold;
	text-align: center;
	background: #1f6d50;
	border-radius: .8rem;
	position: absolute;
	top: 0;
	left: 50%;
	z-index: 1;
	transform: translateY(-50%) translateX(-50%);
	-webkit-transform: translateY(-50%) translateX(-50%);
}

.c-2column-list-sec .pic {
	text-align: center;
}

.c-2column-list-sec .ttl {
	margin-top: 1.5rem;
	color: #1f6c50;
	font-size: 2rem;
	font-weight: bold;
	text-align: center;
	line-height: 1.5;
}

.c-2column-list-sec .txt01 {
	margin-top: 1rem;
}

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

	.c-2column-list {
		display: block;
		padding: 0 5.88235294%;
		margin-top: 8rem;
	}

	.c-2column-list-sec {
		width: auto;
		padding: 5rem 3rem 3rem;
		margin-top: 7.8rem;
		box-shadow: 0 .3rem 0 rgba(0,0,0,0.1);
		border-radius: 2rem;
	}

	.c-2column-list-sec:nth-child(2) {
		margin-top: 7.8rem;
	}

	.c-2column-list-sec .num {
		width: 5rem;
		height: 5rem;
		line-height: 5rem;
		font-size: 2.4rem;
		border-radius: 1.2rem;
	}

	.c-2column-list-sec .pic {
		text-align: center;
	}

	.c-2column-list-sec .pic img {
		width: 100%;
		max-width: none;
	}

	.c-2column-list-sec .ttl {
		margin-top: 1.6rem;
		font-size: 3.2rem;
	}

	.c-2column-list-sec .txt01 {
		margin-top: 1.2rem;
	}
}




/**********************************

 c-3column-list

***********************************/
.c-3column-list {
	display: flex;
	justify-content: space-between;
	margin-top: 7rem;
}

.c-3column-list-sec {
	width: 30rem;
	padding: 3.7rem 3rem 2.5rem;
	background: #fff;
	box-shadow: 0 .3rem 0 rgba(0,0,0,0.05);
	border-radius: 1rem;
	position: relative;
	z-index: 1;
}

.c-3column-list-sec .num {
	width: 3.6rem;
	height: 3.6rem;
	line-height: 3.6rem;
	font-size: 1.5rem;
	font-weight: 900;
	text-align: center;
	background: #ffdf00;
	border-radius: .8rem;
	position: absolute;
	top: 0;
	left: 50%;
	z-index: 1;
	transform: translateY(-50%) translateX(-50%);
	-webkit-transform: translateY(-50%) translateX(-50%);
}

.c-3column-list-sec .pic {
	text-align: center;
}

.c-3column-list-sec .ttl {
	margin-top: 1.5rem;
	color: #0e6eb8;
	font-size: 2rem;
	font-weight: bold;
	text-align: center;
	line-height: 1.5;
}

.c-3column-list-sec .txt01 {
	padding-top: 1.5rem;
	margin-top: 1.5rem;
	border-top: 1px solid #dddddd;
}

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

	.c-3column-list {
		display: block;
		margin-top: 8rem;
	}

	.c-3column-list-sec {
		width: auto;
		padding: 5rem 3rem 4rem;
		margin-bottom: 9.2rem;
		box-shadow: 0 .3rem 0 rgba(0,0,0,0.05);
		border-radius: 2rem;
	}

	.c-3column-list-sec:last-child {
		margin-bottom: 0;
	}

	.c-3column-list-sec .num {
		width: 5.6rem;
		height: 5.6rem;
		line-height: 5.6rem;
		font-size: 2.8rem;
		border-radius: 1.2rem;
	}

	.c-3column-list-sec .pic {
		text-align: center;
	}

	.c-3column-list-sec .ttl {
		margin-top: 2rem;
		font-size: 3.2rem;
	}

	.c-3column-list-sec .txt01 {
		padding-top: 2rem;
		margin-top: 2rem;
	}
}



/**********************************

 c-completeSec

***********************************/
.c-completeSec {

}

.c-completeSec__inner {
	padding: 8rem 0;
}

.c-completeSec__inner .intro {
	margin-bottom: 6rem;
	font-size: 1.8rem;
	font-weight: bold;
}

.c-completeSec__inner .back {
	max-width: 38rem;
	margin: 0 auto;
}


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

	.c-completeSec__inner {
		padding: 4rem 0;
	}

	.c-completeSec__inner .intro {
		margin-bottom: 5rem;
		font-size: 2.8rem;
	}

	.c-completeSec__inner .back {
		max-width: 38rem;
	}
}



/**********************************

 c-contact

***********************************/
.c-contact {

}

.c-contact__inner {

}

.c-contact__inner-content {
	padding: 1rem 3.9rem 5.5rem;
	background-color: #fff;
	border-left: 1px solid #dddddd;
	border-right: 1px solid #dddddd;
	border-bottom: 1px solid #dddddd;
	border-radius: 1rem;
	position: relative;
	z-index: 1;
	overflow: hidden;
}

.c-contact__inner-content:before {
	content: "";
	display: block;
	width: 100%;
	height: .3rem;
	background-color: #222222;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}

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

}



/**********************************

 c-hero

***********************************/
.c-hero {
	background: url(assets/images/top/hero_bg01_pc.jpg) no-repeat center / cover;
	border-radius: 0 0 20rem 20rem;
	position: relative;
	z-index: 3;
	overflow: hidden;
}

@supports (background-image: url(assets/images/top/hero_bg01_pc.webp)) {
	.c-hero {
		background-image: url(assets/images/top/hero_bg01_pc.webp);
	}
}

#hero_video {
	vertical-align: top;
	position: absolute;
	z-index: -1;
	top:50%;
	left: 50%;
	transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);
	pointer-events: none;
}

.c-hero__inner {
	display: flex;
	align-items: center;
	height: 100dvh;
	min-height: 68rem;
}

.c-hero__box {
	padding-bottom: 2.5rem;
	margin: 0 10rem;
	transition: all 2s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.c-hero__box.is-hidden {
	opacity: 0;
	filter: blur(15px);
	pointer-events: none;
}

.c-hero__box-ttl {
	color: #fff;
	font-size: 5rem;
	font-weight: bold;
	line-height: 1.8;
	letter-spacing: .17em;
}

.c-hero__box-sub {
	margin-top: 1em;
	color: #fff;
	font-weight: bold;
	line-height: 2.6;
}

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

	.c-hero {
		width: 69rem;
		margin: 0 auto;
		padding: 0 8rem;
		background: url(assets/images/top/hero_bg01_sp.jpg) no-repeat center / cover;
		border-radius: 15rem;
	}

	@supports (background-image: url(assets/images/top/hero_bg01_sp.webp)) {
		.c-hero {
			background-image: url(assets/images/top/hero_bg01_sp.webp);
		}
	}

	#hero_video {
		width: auto !important;
		height: 100% !important;
	}

	.c-hero__inner {
		display: flex;
		align-items: flex-end;
		height: 74rem;
		padding-bottom: 5rem;
		min-height: auto;
	}

	.c-hero__box {
		padding-bottom: 2.5rem;
		margin: 0;
	}

	.c-hero__box-ttl {
		font-size: 4.6rem;
		line-height: 1.8;
		letter-spacing: .17em;
	}

	.c-hero__box-sub {
		margin-top: 1em;
		font-size: 2.4rem;
		line-height: 2.6;
	}
}



/**********************************

 c-about

***********************************/
.c-about {
	margin-top: -20rem;
	background: #a7d8e4;
	border-radius: 0 0 20rem 20rem;
	position: relative;
	z-index: 2;
}

.c-about__inner {
	width: 126rem;
	padding: 30rem 0 11rem;
	position: relative;
	z-index: 1;
}

.c-about__content {
	margin-top: 4rem;
}

.c-about__pic {
	width: 43.5rem;
	position: absolute;
	right: 0;
	bottom: 11rem;
	z-index: 1;
}

.c-about__pic img {
	width: 100%;
	clip-path: url(#mask_about01);
	-webkit-clip-path: url(#mask_about01);
}

/* clipPathの定義を保持するだけのSVG */
.c-about__clip {
	width: 0;
	height: 0;
	position: absolute;
	pointer-events: none;
}

.c-about__desc {
	margin-top: 1.5em;
}

.c-about__desc:first-of-type {
	margin-top: 0;
}

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

	.c-about {
		margin-top: -55rem;
		padding: 0 8rem;
		border-radius: 15rem;
	}

	.c-about__inner {
		width: auto;
		padding: 63rem 0 8rem;
	}

	.c-about__content {
		margin-top: 6rem;
	}

	.c-about__desc {
		margin-top: 1.5em;
	}

	.c-about__desc:first-of-type {
		margin-top: 0;
	}

	.c-about__pic {
		width: 43.5rem;
		margin: 2.5rem auto 0;
		position: relative;
		top: auto;
		bottom: auto;
		right: auto;
	}

	.c-about__pic img {
		width: 100%;
		clip-path: url(#mask_about01);
		-webkit-clip-path: url(#mask_about01);
	}
}


/**********************************

 c-vision

***********************************/
.c-vision {
	position: relative;
	z-index: 1;
}

.c-vision__inner {
	padding: 10rem 0 6.7rem;
}

.c-vision__bg01 {
	width: 100%;
	height: 100%;
	background: url(assets/images/top/vision_bg01_pc.png) no-repeat center bottom / 192rem auto;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	filter: blur(100px);
	transition: all var(--transition-duration-base) cubic-bezier(0.165, 0.84, 0.44, 1);
}

@supports (background-image: url(assets/images/top/vision_bg01_pc.webp)) {
	.c-vision__bg01 {
		background-image: url(assets/images/top/vision_bg01_pc.webp);
	}
}

.c-vision__bg01.aos-animate {
	filter: blur(0);
}

.c-vision__wrap {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.c-vision__content {
	width: 44.5rem;
}

.c-vision__content-box {
	margin-top: 4rem;
}

.c-vision__content-copy {
	color: var(--color-primary);
	font-size: 2.4rem;
	font-weight: bold;
	letter-spacing: var(--text-letter-spacing-base);
	line-height: 1.8;
}

.c-vision__content-desc {
	margin-top: .3em;
}

.c-vision__pic01 {
	width: 70rem;
}

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

	.c-vision {
		padding: 0 var(--wrap-padding-sp-large);
		position: relative;
		z-index: 1;
	}

	.c-vision__inner {
		padding: 8rem 0 4rem;
	}

	.c-vision__bg01 {
		width: 100%;
		height: 131.8rem;
		background: url(assets/images/top/vision_bg01_sp.png) no-repeat center top / 192rem 131.8rem;
		position: absolute;
		top: -44.3rem;
		left: 0;
		z-index: -1;
	}

	@supports (background-image: url(assets/images/top/vision_bg01_sp.webp)) {
		.c-vision__bg01 {
			background-image: url(assets/images/top/vision_bg01_sp.webp);
		}
	}

	.c-vision__wrap {
		display: block;
	}

	.c-vision__content {
		width: auto;
	}

	.c-vision__content-box {
		margin-top: 5rem;
	}

	.c-vision__content-copy {
		margin-left: -.5em;
		margin-right: -.5em;
		font-size: 3.4rem;
		text-align: center;
	}

	.c-vision__content-desc {
		margin-top: .5em;
	}

	.c-vision__pic01 {
		width: auto;
		margin-top: 4rem;
	}
}


/**********************************

 c-mission

***********************************/
.c-mission {

}

.c-mission__inner {
	padding: 3.3rem 0 7rem;
}

.c-mission__wrap {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.c-mission__pic01 {
	width: 70rem;
	position: relative;
	z-index: 1;
}

.c-mission__pic01-bg01 {
	width: 36rem;
	height: 21.9rem;
	background: url(assets/images/top/mission_bg01.png) no-repeat center bottom / contain;
	position: absolute;
	bottom: -5.9rem;
	left: 6.9rem;
	z-index: -1;
	filter: blur(100px);
	transition: all var(--transition-duration-base) cubic-bezier(0.165, 0.84, 0.44, 1);
}

@supports (background-image: url(assets/images/top/mission_bg01.webp)) {
	.c-mission__pic01-bg01 {
		background-image: url(assets/images/top/mission_bg01.webp);
	}
}

.c-mission__pic01-bg01.aos-animate {
	filter: blur(0);
}

.c-mission__content {
	width: 44.5rem;
}

.c-mission__content-box {
	margin-top: 4rem;
}

.c-mission__content-copy {
	color: var(--color-primary);
	font-size: 2.4rem;
	font-weight: bold;
	letter-spacing: var(--text-letter-spacing-base);
	line-height: 1.8;
}

.c-mission__content-desc {
	margin-top: .3em;
}

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

	.c-mission {
		padding: 0 var(--wrap-padding-sp-large);
	}

	.c-mission__inner {
		padding: 4rem 0 4rem;
	}

	.c-mission__wrap {
		display: flex;
		justify-content: space-between;
		align-items: center;
		flex-direction: column-reverse;
	}

	.c-mission__pic01 {
		width: auto;
		margin-top: 4rem;
	}

	.c-mission__pic01-bg01 {
		bottom: -5.9rem;
		left: 2rem;
	}

	.c-mission__content {
		width: auto;
	}

	.c-mission__content-box {
		margin-top: 5rem;
	}

	.c-mission__content-copy {
		margin-left: -.5em;
		margin-right: -.5em;
		font-size: 3.4rem;
		text-align: center;
	}

	.c-mission__content-desc {
		margin-top: .5em;
	}
}


/**********************************

 c-value

***********************************/
.c-value {
	padding-top: 7rem;
	padding-bottom: 10rem;
	position: relative;
	z-index: 1;
}

.c-value:before {
	content: '';
	display: block;
	width: 192rem;
	height: 68.8rem;
	background: url(assets/images/top/value_bg01_pc.png) no-repeat center bottom / contain;
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: -1;
	filter: blur(100px);
	transition: all var(--transition-duration-base) cubic-bezier(0.165, 0.84, 0.44, 1);
}

@supports (background-image: url(assets/images/top/value_bg01_pc.webp)) {
	.c-value:before {
		background-image: url(assets/images/top/value_bg01_pc.webp);
	}
}

.c-value.aos-animate:before {
	filter: blur(0);
}

.c-value {
}

.c-value__top {

}

.c-value__top-inner {

}

.c-value__wrap {
	display: flex;
	gap: 0 10rem;
}

.c-value__content {
	display: flex;
	gap: 0 8rem;
}

.c-value__content dl {

}

.c-value__content dl dt {
	margin-top: -.5em;
	color: var(--color-primary);
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1.8;
	letter-spacing: var(--text-letter-spacing-base);
}

.c-value__content dl dd {
	margin-top: .6em;
}

.c-value__bottom {
	margin-top: 8rem;
	margin-bottom: 11rem;
	position: relative;
	z-index: 1;
}

.c-value__bottom:before {
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 10rem;
	background: #a7d8e4;
	position: absolute;
	bottom: -11rem;
	left: 0;
	z-index: 1;
}

.c-value__pic {
	height: 30rem;
	margin: 0 10rem;
	border-radius: 10rem;
	overflow: hidden;
	position: relative;
	z-index: 2;
}

.c-value__pic img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

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

	.c-value__content dl {
		transition-delay: .4s !important;
	}

	.c-value__content dl:nth-child(2) {
		transition-delay: .5s !important;
	}

	.c-value__content dl:nth-child(3) {
		transition-delay: .6s !important;
	}
}

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

	.c-value {
		padding: 4rem 0 6rem;
	}

	.c-value:before {
		width: 192rem;
		height: 63.8rem;
		background: url(assets/images/top/value_bg01_sp.png) no-repeat center bottom / contain;
		position: absolute;
		bottom: -10rem;
		left: 50%;
		transform: translateX(-50%);
		-webkit-transform: translateX(-50%);
	}

	@supports (background-image: url(assets/images/top/value_bg01_sp.webp)) {
		.c-value:before {
			background-image: url(assets/images/top/value_bg01_sp.webp);
		}
	}

	.c-value {
	}

	.c-value__top {
		padding: 0 var(--wrap-padding-sp-large);
	}

	.c-value__top-inner {

	}

	.c-value__wrap {
		display: block;
	}

	.c-value__content {
		display: block;
		margin-top: 7rem;
	}

	.c-value__content dl {
		margin-top: 4rem;
	}

	.c-value__content dl:first-child {
		margin-top: 0;
	}

	.c-value__content dl dt {
		margin-top: -.5em;
		font-size: 3.4rem;
		text-align: center;
	}

	.c-value__content dl dd {
		margin-top: .2em;
	}

	.c-value__bottom {
		margin-top: 4rem;
		margin-bottom: 0;
	}

	.c-value__bottom:before {
		width: 68rem;
		height: 25rem;
		border-radius: 5rem;
		bottom: -6rem;
		left: 50%;
		transform: translateX(-50%);
		-webkit-transform: translateX(-50%);
	}

	.c-value__pic {
		width: 60rem;
		height: 30rem;
		margin: 0 auto;
		border-radius: 5rem;
	}
}


/**********************************

 c-news

***********************************/
.c-news {

}

.c-news__inner {
	padding: 0 0 6rem;
}

.c-news__list {
	margin-top: 5rem;
}

.c-news__item {
	border-bottom: 1px solid #dddddd;
}

.c-news__item:first-child {
	border-top: 1px solid #dddddd;
}

.c-news__item a {
	display: flex;
	align-items: center;
	padding: 5.8rem 0;
	position: relative;
	z-index: 1;
}

.c-news__item a:before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#f7f9fc+0,ffffff+100 */
	background: linear-gradient(to right,  rgba(247,249,252,1) 0%,rgba(255,255,255,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	opacity: 0;
}

@media (hover: hover) {

	.c-news__item a:before {
		-webkit-transition: opacity var(--transition-duration-slow) cubic-bezier(0.165, 0.84, 0.44, 1);
		transition: opacity var(--transition-duration-slow) cubic-bezier(0.165, 0.84, 0.44, 1);
	}

	.c-news__item a:hover:before {
		opacity: 1;
	}
}

.c-news__item a .date {
	width: 13.5rem;
	color: var(--color-primary);
	font-size: 1.2rem;
	font-weight: bold;
	letter-spacing: .1em;
}

.c-news__item a .cate {
	margin-right: 4.5rem;
	font-size: 1.4rem;
	font-weight: bold;
	letter-spacing: .12em;
}

.c-news__item a .cate .block {
	display: block;
	min-width: 14rem;
	padding: .2rem .5rem;
	text-align: center;
	background: #fff;
	border: 1px solid #dddbdc;
	border-radius: 200px;
}

.c-news__item a .ttl {
	flex: 1;
	padding-right: 10rem;
	font-size: 1.6rem;
	letter-spacing: .1em;
}

.c-news__item a .icon {
	display: block;
	width: 6rem;
	height: 6rem;
	border-radius: 50%;
	position: absolute;
	top: 50%;
	right: 0;
	z-index: 1;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	overflow: hidden;
}

.c-news__item a .icon:before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background: #f4fafd;
	border-radius: 50%;
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: -1;
	transform: translateY(-50%) translateX(-50%);
	-webkit-transform: translateY(-50%) translateX(-50%);
}

.c-news__item a .icon__first {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 1;
	transform: translateY(-50%) translateX(-50%);
	-webkit-transform: translateY(-50%) translateX(-50%);
}

.c-news__item a .icon__second {
	display: block;
	position: absolute;
	top: 50%;
	left: 0;
	z-index: 1;
	transform: translateY(-50%) translateX(-50%);
	-webkit-transform: translateY(-50%) translateX(-50%);
	opacity: 0;
}

.c-news__item a .icon__first img,
.c-news__item a .icon__second img {
	display: block;
	width: 1.1rem;
	height: 1rem;
}

@media (hover: hover) {

	.c-news__item a:hover .icon__first {
		left: 100%;
		opacity: 0;
		-webkit-transition: all var(--transition-duration-base) cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
		transition: all var(--transition-duration-base) cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
	}

	.c-news__item a:hover .icon__second {
		left: 50%;
		opacity: 1;
		-webkit-transition: all var(--transition-duration-base) cubic-bezier(0.165, 0.84, 0.44, 1) .2s;
		transition: all var(--transition-duration-base) cubic-bezier(0.165, 0.84, 0.44, 1) .2s;
	}

}

.c-news__btn {
	margin-top: 7.5rem;
	text-align: center;
}

.c-news__btn a.c-btn01 {
	transform: translateX(1.5rem);
	-webkit-transform: translateX(1.5rem);
}

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

	.c-news {
		padding: 0 var(--wrap-padding-sp-large);
		position: relative;
		z-index: 2;
	}

	.c-news__inner {
		padding: 8rem 0 4.5rem;
	}

	.c-news__list {
		margin-top: 7rem;
	}

	.c-news__item a {
		display: flex;
		align-items: center;
		flex-wrap: wrap;
		gap: 2rem 2rem;
		padding: 4rem 14rem 4rem 0;
	}

	.c-news__item a .date {
		width: auto;
		font-size: 2.6rem;
	}

	.c-news__item a .cate {
		margin-right: 0;
		font-size: 2.2rem;
	}

	.c-news__item a .cate .block {
		min-width: auto;
		padding: 0 2rem;
	}

	.c-news__item a .ttl {
		flex: none;
		width: 100%;
		padding-right: 0;
		font-size: 2.8rem;
	}

	.c-news__item a .icon {
		width: 8rem;
		height: 8rem;
	}

	.c-news__item a .icon__first img,
	.c-news__item a .icon__second img {
		width: 2.2rem;
		height: 1.9rem;
	}

	.c-news__btn {
		margin-top: 7rem;
	}

	.c-news__btn a.c-btn01 {
		transform: translateX(2.25rem);
		-webkit-transform: translateX(2.25rem);
	}
}


/**********************************

 c-recruit

***********************************/
.c-recruit {
	padding-bottom: 12rem;
	position: relative;
	z-index: 1;
}

.c-recruit:before {
	content: '';
	display: block;
	width: 192rem;
	height: 68.8rem;
	background: url(assets/images/top/recruit_bg01_pc.png) no-repeat center bottom / contain;
	position: absolute;
	bottom: -9.8rem;
	left: 0;
	z-index: -1;
	filter: blur(100px);
	transition: all var(--transition-duration-base) cubic-bezier(0.165, 0.84, 0.44, 1);
}

@supports (background-image: url(assets/images/top/recruit_bg01_pc.webp)) {
	.c-recruit:before {
		background-image: url(assets/images/top/recruit_bg01_pc.webp);
	}
}

.c-recruit.aos-animate:before {
	filter: blur(0);
}

.c-recruit__inner {
	padding: 5rem 0 0;
}

.c-recruit__top {
	display: flex;
	justify-content: space-between;
	gap: 0 5rem;
}

.c-recruit__right {
	display: flex;
	justify-content: space-between;
	flex: 1;
}

.c-recruit__desc {
	margin-top: -.3em;
	font-size: 1.6rem;
	letter-spacing: var(--text-letter-spacing-base);
}

.c-recruit__balloon {
	display: flex;
	align-items: center;
	width: 36rem;
	height: 16.7rem;
	margin-top: -4rem;
	padding-top: 1.8rem;
	padding-left: 2rem;
	padding-right: 15rem;
	background: url(assets/images/top/recruit_balloon_pc.png) no-repeat center / cover;
}

.c-recruit__balloon-desc {
	font-size: 1.7rem;
	font-weight: 900;
	letter-spacing: var(--text-letter-spacing-base);
	line-height: 1.8;
}

@supports (background-image: url(assets/images/top/recruit_balloon_pc.webp)) {
	.c-recruit__balloon {
		background-image: url(assets/images/top/recruit_balloon_pc.webp);
	}
}

.c-recruit__bottom {
	margin-top: 1.5rem;
}

.c-recruit__bnr {
	position: relative;
	z-index: 1;
}

.c-recruit__bnr:before {
	content: '';
	display: block;
	width: calc(100% + 20rem);
	height: 100%;
	border-radius: 10rem;
	background: #a7d8e4;
	position: absolute;
	bottom: -12rem;
	left: 50%;
	z-index: -1;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
}

.c-recruit__bnr a {

}

.c-recruit__bnr-more {
	padding: 1.4rem 5rem 1.4rem 3rem;
	color: var(--color-primary);
	font-weight: bold;
	background: #f4fafd;
	border-radius: 0 2rem 0 2rem;
	position: absolute;
	top: 0;
	right: 0;
	z-index: 1;
}

.c-recruit__bnr-more .txt01 {
	display: block;
}

.c-recruit__bnr-more .icon {
	display: block;
	width: 2rem;
	height: 2rem;
	position: absolute;
	top: 50%;
	right: 2rem;
	z-index: 1;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
}

.c-recruit__bnr-more .icon__first {
	display: block;
	width: 1.1rem;
	height: 1rem;
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 1;
	transform: translateY(-50%) translateX(-50%);
	-webkit-transform: translateY(-50%) translateX(-50%);
}

.c-recruit__bnr-more .icon__second {
	display: block;
	width: 1.1rem;
	height: 1rem;
	position: absolute;
	top: 50%;
	left: 0;
	z-index: 1;
	transform: translateY(-50%) translateX(-50%);
	-webkit-transform: translateY(-50%) translateX(-50%);
	opacity: 0;
}

.c-recruit__bnr-more .icon__first img,
.c-recruit__bnr-more .icon__second img {
	display: block;
	width: 1.1rem;
	height: 1rem;
}

@media (hover: hover) {

	.c-recruit__bnr a:hover .icon__first {
		left: 100%;
		opacity: 0;
		-webkit-transition: all var(--transition-duration-base) cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
		transition: all var(--transition-duration-base) cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
	}

	.c-recruit__bnr a:hover .icon__second {
		left: 50%;
		opacity: 1;
		-webkit-transition: all var(--transition-duration-base) cubic-bezier(0.165, 0.84, 0.44, 1) .2s;
		transition: all var(--transition-duration-base) cubic-bezier(0.165, 0.84, 0.44, 1) .2s;
	}

}

.c-recruit__bnr-pic {
	border-radius: 5rem;
	overflow: hidden;
}

.c-recruit__bnr-pic img {
	display: block;
	aspect-ratio: 1200 / 420;
	-webkit-transition: all var(--transition-duration-slow) cubic-bezier(0.165, 0.84, 0.44, 1);
	transition: all var(--transition-duration-slow) cubic-bezier(0.165, 0.84, 0.44, 1);
}

@media (hover: hover) {

	.c-recruit__bnr a:hover .c-recruit__bnr-pic img {
		transform: scale(1.1, 1.1);
		-webkit-transform: scale(1.1, 1.1);
	}
}

.c-recruit__bnr-copy {
	padding: .7rem 2.4rem;
	color: #fff;
	font-size: 3.6rem;
	font-weight: bold;
	letter-spacing: .12em;
	background: var(--color-primary);
	border-radius: 3rem;
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 1;
	transform: translateY(50%);
}

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

	.c-recruit__desc {
		transition-delay: .4s !important;
	}

	.c-recruit__balloon {
		transition-delay: .5s !important;
	}
}

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

	.c-recruit {
		padding: 0 var(--wrap-padding-sp-large) 8rem;
	}

	.c-recruit:before {
		width: 192rem;
		height: 57.4rem;
		background: url(assets/images/top/recruit_bg01_sp.png) no-repeat center bottom / contain;
		bottom: -9.8rem;
		left: 50%;
		transform: translateX(-50%);
		-webkit-transform: translateX(-50%);
	}

	@supports (background-image: url(assets/images/top/recruit_bg01_sp.webp)) {
		.c-recruit:before {
			background-image: url(assets/images/top/recruit_bg01_sp.webp);
		}
	}

	.c-recruit__inner {
		padding: 4.5rem 0 0;
	}

	.c-recruit__top {
		display: block;
	}

	.c-recruit__right {
		display: block;
		margin-top: 6rem;
	}

	.c-recruit__desc {
		margin-top: -.3em;
		font-size: 2.8rem;
	}

	.c-recruit__balloon {
		display: flex;
		align-items: center;
		width: 60rem;
		height: 25.6rem;
		margin-top: 1rem;
		padding-top: 2.4rem;
		padding-left: 3rem;
		padding-right: 26rem;
		background: url(assets/images/top/recruit_balloon_sp.png) no-repeat center / cover;
	}

	.c-recruit__balloon-desc {
		font-size: 3rem;
		line-height: 1.6;
	}

	@supports (background-image: url(assets/images/top/recruit_balloon_sp.webp)) {
		.c-recruit__balloon {
			background-image: url(assets/images/top/recruit_balloon_sp.webp);
		}
	}

	.c-recruit__bottom {
		margin-top: 5rem;
	}

	.c-recruit__bnr {
		position: relative;
		z-index: 1;
	}

	.c-recruit__bnr:before {
		width: 68rem;
		height: 100%;
		border-radius: 5rem;
		position: absolute;
		bottom: -9rem;
		left: 50%;
		z-index: -1;
		transform: translateX(-50%);
		-webkit-transform: translateX(-50%);
	}

	.c-recruit__bnr a {

	}

	.c-recruit__bnr-more {
		margin-top: -3rem;
		padding: 1.4rem 7.5rem 1.4rem 3rem;
		border-radius: 5rem 5rem 0 5rem;
		font-size: 3rem;
		position: absolute;
		top: 0;
		right: 0;
		z-index: 1;
	}

	.c-recruit__bnr-more .txt01 {
		display: block;
	}

	.c-recruit__bnr-more .icon {
		width: 4rem;
		height: 4rem;
		right: 2.5rem;
	}

	.c-recruit__bnr-more .icon__first {
		width: 2.2rem;
		height: 1.9rem;
	}

	.c-recruit__bnr-more .icon__second {
		width: 2.2rem;
		height: 1.9rem;
	}

	.c-recruit__bnr-more .icon__first img,
	.c-recruit__bnr-more .icon__second img {
		display: block;
		width: 2.2rem;
		height: 1.9rem;
	}

	.c-recruit__bnr-pic {
		border-radius: 5rem;
	}

	.c-recruit__bnr-pic img {
		aspect-ratio: 600 / 420;
	}

	.c-recruit__bnr-copy {
		padding: .8rem 2.4rem;
		font-size: 3.6rem;
		border-radius: 3rem;
	}
}


/**********************************

 c-service-detail

***********************************/
.c-service-detail {
	position: relative;
	z-index: 1;
}

.c-service-detail:before {
	content: "";
	display: block;
	width: 192rem;
	height: 89rem;
	background: url(assets/images/service/service_detail_bg01_pc.png) no-repeat center top / contain;
	position: absolute;
	top: 0;
	left: 50%;
	z-index: -1;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	filter: blur(100px);
	transition: all var(--transition-duration-base) cubic-bezier(0.165, 0.84, 0.44, 1);
}

@supports (background-image: url(assets/images/service/service_detail_bg01_pc.webp)) {
	.c-service-detail:before {
		background-image: url(assets/images/service/service_detail_bg01_pc.webp);
	}
}

.c-service-detail.aos-animate:before {
	filter: blur(0);
}

.c-service-detail__inner {
	padding: 13rem 0 5.5rem;
}

.c-service-detail__list {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 6rem 0;
	margin-top: 5rem;
}

.c-service-detail__item {
	display: flex;
	flex-direction: column;
	width: 60rem;
}

.c-service-detail__item-ttl {
	margin-bottom: -3.3rem;
	padding: 1.2rem 3rem;
	color: #fff;
	font-size: 2.2rem;
	font-weight: bold;
	text-align: center;
	background: var(--color-primary);
	border-radius: 2rem;
	position: relative;
	z-index: 2;
}

.c-service-detail__item-body {
	flex: 1;
	padding: 5.8rem 2.8rem 3.3rem;
	background: #fff;
	border-left: .2rem solid var(--color-primary);
	border-right: .2rem solid var(--color-primary);
	border-bottom: .2rem solid var(--color-primary);
	border-radius: 0 0 2rem 2rem;
}

.c-service-detail__item-body-inner {
	height: 100%;
	padding: 1.5rem 2rem;
	background: #f3f8fb;
	border-radius: 1.5rem;
}

.c-service-detail__item-body ul {
	font-size: 1.8rem;
	font-weight: bold;
	letter-spacing: var(--text-letter-spacing-base);
	line-height: 1.8;
}

.c-service-detail__item-body ul li {
	margin-top: .4em;
	padding-left: 1.2rem;
	position: relative;
	z-index: 1;
}

.c-service-detail__item-body ul li:first-child {
	margin-top: 0;
}

.c-service-detail__item-body ul li:before {
	content: "";
	display: block;
	width: .6rem;
	height: .6rem;
	background: var(--color-primary);
	border-radius: 50%;
	position: absolute;
	top: .7em;
	left: 0;
	z-index: 1;
}

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

	.c-service-detail__item:nth-child(even) {
		transition-delay: .4s !important;
	}
}

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

	.c-service-detail {
		padding: 0 var(--wrap-padding-sp-large);
	}

	.c-service-detail:before {
		width: 192rem;
		height: 159.1rem;
		background: url(assets/images/service/service_detail_bg01_sp.png) no-repeat center top / contain;
		position: absolute;
		top: 0;
		left: 50%;
		z-index: -1;
		transform: translateX(-50%);
		-webkit-transform: translateX(-50%);
	}

	@supports (background-image: url(assets/images/service/service_detail_bg01_sp.webp)) {
		.c-service-detail:before {
			background-image: url(assets/images/service/service_detail_bg01_sp.webp);
		}
	}

	.c-service-detail__inner {
		padding: 8rem 0 4rem;
	}

	.c-service-detail__list {
		display: block;
		margin-top: 6rem;
	}

	.c-service-detail__item {
		display: block;
		width: auto;
		margin-top: 6rem;
	}

	.c-service-detail__item:first-child {
		margin-top: 0;
	}

	.c-service-detail__item-ttl {
		margin-bottom: -3.8rem;
		padding: .6rem 3rem;
		font-size: 3.2rem;
		border-radius: 2rem;
	}

	.c-service-detail__item-body {
		padding: 6.3rem 2.7rem 3.2rem;
		border-left: .3rem solid var(--color-primary);
		border-right: .3rem solid var(--color-primary);
		border-bottom: .3rem solid var(--color-primary);
		border-radius: 0 0 2rem 2rem;
	}

	.c-service-detail__item-body-inner {
		height: auto;
		padding: 2.5rem 3rem;
		border-radius: 1.5rem;
	}

	.c-service-detail__item-body ul {
		font-size: 3rem;
		line-height: 1.6;
	}

	.c-service-detail__item-body ul li {
		margin-top: .4em;
		padding-left: 2rem;
	}

	.c-service-detail__item-body ul li:before {
		width: 1rem;
		height: 1rem;
		top: .6em;
	}
}


/**********************************

 c-service-charges

***********************************/
.c-service-charges {

}

.c-service-charges__inner {
	padding: 5.5rem 0 0;
}

.c-service-charges__desc {
	margin-top: 5rem;
}

.c-service-charges__list {
	display: flex;
	justify-content: space-between;
	margin-top: 5rem;
}

.c-service-charges__btn {
	width: 60rem;
	font-size: 2.2rem;
	font-weight: bold;
	line-height: 1.5;
	letter-spacing: var(--text-letter-spacing-base);
}

.c-service-charges__btn a {
	display: block;
	padding: 2.1rem 7rem;
	color: var(--color-primary);
	text-align: center;
	background: #f3f8fb;
	border: .2rem solid var(--color-primary);
	border-radius: 20rem;
	position: relative;
	z-index: 1;
}

.c-service-charges__btn a:before {
	content: "";
	display: block;
	width: 1.6rem;
	height: 1.4rem;
	background: url(assets/images/common/icon_blank_blue.svg) no-repeat center / contain;
	position: absolute;
	top: 50%;
	right: 3.3rem;
	z-index: 1;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
}

.c-service-charges__btn a .txt {
	display: inline-block;
	overflow: hidden;
	vertical-align: top;
	position: relative;
	z-index: 1;
}

.c-service-charges__btn a .txt:before {
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	background: var(--color-primary);
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 1;
	transform: scale(0, 1);
	transform-origin: right top;
	transition: transform 500ms cubic-bezier(0.165, 0.84, 0.44, 1);
}

.c-service-charges__btn a .txt:after {
	content: attr(data-replace);
	display: block;
	width: 100%;
	text-align: center;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	transform-origin: 50% 100%;
	transform: translate(0, 200%);
	-webkit-transition: all var(--transition-duration-base) cubic-bezier(0.165, 0.84, 0.44, 1);
	transition: all var(--transition-duration-base) cubic-bezier(0.165, 0.84, 0.44, 1);
}

.c-service-charges__btn a .txt__inner {
	display: block;
	-webkit-transition: all var(--transition-duration-base) cubic-bezier(0.165, 0.84, 0.44, 1);
	transition: all var(--transition-duration-base) cubic-bezier(0.165, 0.84, 0.44, 1);
}

@media (hover: hover) {

	.c-service-charges__btn a:hover .txt:before {
		transform-origin: left top;
		transform: scale(1, 1);
	}

	.c-service-charges__btn a:hover .txt__inner {
		-webkit-transform: translate(0, -200%);
		transform: translate(0, -200%);
	}

	.c-service-charges__btn a:hover .txt:after {
		transform: translate(0, 0);
	}
}

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

	.c-service-charges__btn:nth-child(even) {
		transition-delay: .4s !important;
	}
}

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

	.c-service-charges {
		padding: 0 var(--wrap-padding-sp-large);
	}

	.c-service-charges__inner {
		padding: 4rem 0 0;
	}

	.c-service-charges__desc {
		margin-top: 5rem;
	}

	.c-service-charges__list {
		display: block;
		margin-top: 6rem;
	}

	.c-service-charges__btn {
		width: auto;
		margin-top: 5rem;
		font-size: 3.2rem;
	}

	.c-service-charges__btn:first-child {
		margin-top: 0;
	}

	.c-service-charges__btn a {
		padding: 1.8rem 7rem;
		border: .3rem solid var(--color-primary);
	}

	.c-service-charges__btn a:before {
		width: 3.2rem;
		height: 2.8rem;
		right: 3.7rem;
	}
}


/**********************************

 c-flow-how

***********************************/
.c-flow-how {
	position: relative;
	z-index: 1;
}

.c-flow-how:before {
	content: "";
	display: block;
	width: 192rem;
	height: 89rem;
	background: url(assets/images/flow/flow_how_bg01_pc.png) no-repeat center top / contain;
	position: absolute;
	top: 0;
	left: 50%;
	z-index: -1;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	filter: blur(100px);
	transition: all var(--transition-duration-base) cubic-bezier(0.165, 0.84, 0.44, 1);
}

@supports (background-image: url(assets/images/flow/flow_how_bg01_pc.webp)) {
	.c-flow-how:before {
		background-image: url(assets/images/flow/flow_how_bg01_pc.webp);
	}
}

.c-flow-how.aos-animate:before {
	filter: blur(0);
}

.c-flow-how__inner {
	padding: 13rem 0 0;
}

.c-flow-how__intro {
	margin-top: 4rem;
}

.c-flow-how__intro p {
	margin-top: 1.2em;
}

.c-flow-how__intro p:first-child {
	margin-top: 0;
}

.c-flow-how__content {
	margin-top: 5rem;
}

.c-flow-how__content-sec {
	margin-top: 8rem;
}

.c-flow-how__content-sec:first-child {
	margin-top: 0;
}

.c-flow-how__content-ttl {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0 1.2rem;
	padding: .9rem 3rem;
	color: #fff;
	font-size: 2.2rem;
	font-weight: bold;
	background: var(--color-primary);
	border-radius: 2rem;
}

.c-flow-how__content-ttl .sub {
	display: block;
	padding: 0 .6rem;
	color: var(--color-primary);
	font-size: 1.6rem;
	font-weight: bold;
	letter-spacing: var(--text-letter-spacing-base);
	line-height: 1.5;
	background: #fff;
	border-radius: .5rem;
}

.c-flow-how__content-ttl .main {
	display: block;
	color: #fff;
	font-size: 2.2rem;
	font-weight: bold;
	letter-spacing: var(--text-letter-spacing-base);
}

.c-flow-how__content-txt-area {
	margin-top: 3rem;
}

.c-flow-how__content-txt-area p {
	margin-top: 1.2em;
}

.c-flow-how__content-txt-area p:first-child {
	margin-top: 0;
}

.c-flow-how__content-case {
	display: flex;
	justify-content: space-between;
	margin-top: 4rem;
}

.c-flow-how__content-case-sec {
	width: 60rem;
}

.c-flow-how__content-case-sec-ttl {
	margin-bottom: -3.3rem;
	padding: 1.6rem 2rem;
	color: #fff;
	font-size: 2.2rem;
	font-weight: bold;
	letter-spacing: var(--text-letter-spacing-base);
	line-height: 1.5;
	text-align: center;
	background: var(--color-primary);
	border-radius: 2rem;
	position: relative;
	z-index: 2;
}

.c-flow-how__content-case-sec.medical .c-flow-how__content-case-sec-ttl {
	background: #5bb6cc;
}

.c-flow-how__content-case-sec-body {
	flex: 1;
	padding: 5.8rem 2.8rem 3.3rem;
	background: #fff;
	border-left: .2rem solid var(--color-primary);
	border-right: .2rem solid var(--color-primary);
	border-bottom: .2rem solid var(--color-primary);
	border-radius: 0 0 2rem 2rem;
}

.c-flow-how__content-case-sec.medical .c-flow-how__content-case-sec-body {
	border-left: .2rem solid #5bb6cc;
	border-right: .2rem solid #5bb6cc;
	border-bottom: .2rem solid #5bb6cc;
}

.c-flow-how__content-case-child {
	margin-top: 2.5rem;
	border-radius: 1.5rem;
	background: #f3f8fb;
	overflow: hidden;
}

.c-flow-how__content-case-child:first-child {
	margin-top: 0;
}

.c-flow-how__content-case-child .ttl {
	padding: 1rem 2rem;
	color: #fff;
	font-size: 2rem;
	font-weight: bold;
	letter-spacing: var(--text-letter-spacing-base);
	line-height: 1.5;
	text-align: center;
	background: var(--color-primary);
	border-radius: 1.5rem;
	position: relative;
	z-index: 2;
}

.c-flow-how__content-case-sec.medical .c-flow-how__content-case-child .ttl {
	background: #5bb6cc;
}

.c-flow-how__content-case-child .box01 {
	display: flex;
	justify-content: space-between;
	padding: 2rem 0 3rem;
}

.c-flow-how__content-case-child .box01__age {
	width: 50%;
	padding: 0 2rem;
	border-right: 1px solid #cfcfcf;
}

.c-flow-how__content-case-child .box01__age:last-child {
	border-right: none;
}

.c-flow-how__content-case-child .box01__age p {
	margin-top: .5em;
	font-weight: bold;
	line-height: 1.8;
	text-align: center;
}

.c-flow-how__content-case-child .box01__age p:first-child {
	margin-top: -.2em;
}

.c-flow-how__content-case-child .box01__age p:last-child {
	margin-bottom: -.2em;
}

.c-flow-how__content-case-child .list01 {
	padding: 1.5rem 2rem;
	font-size: 1.8rem;
	font-weight: bold;
	letter-spacing: var(--text-letter-spacing-base);
	line-height: 1.8;
}

.c-flow-how__content-case-child .list01 li {
	margin-top: .4em;
	padding-left: 1.2rem;
	position: relative;
	z-index: 1;
}

.c-flow-how__content-case-child .list01 li:first-child {
	margin-top: 0;
}

.c-flow-how__content-case-child .list01 li:before {
	content: "";
	display: block;
	width: .6rem;
	height: .6rem;
	background: var(--color-primary);
	border-radius: 50%;
	position: absolute;
	top: .7em;
	left: 0;
	z-index: 1;
}

.c-flow-how__content-case-sec.medical .c-flow-how__content-case-child .list01 li:before {
	background: #5bb6cc;
}

.c-flow-how__content-case-child .box02 {
	padding: 1.5rem 1.5rem 2rem;
}

.c-flow-how__content-case-child .box02 p {
	margin-top: .5em;
	font-weight: bold;
	line-height: 1.8;
	text-align: center;
}

.c-flow-how__content-case-child .box02 p:first-child {
	margin-top: 0;
}

.c-flow-how__content-visit {
	margin-top: 5.5rem;
	padding: 2.6rem 3rem;
	background: var(--color-primary);
	border-radius: 2rem;
	position: relative;
	z-index: 1;
}

.c-flow-how__content-visit:before {
	content: "";
	display: block;
	width: 12rem;
	height: 4.1rem;
	background: url(assets/images/flow/visit_arr01.png) no-repeat center / contain;
	position: absolute;
	top: -4rem;
	left: 24rem;
	z-index: 1;
}

.c-flow-how__content-visit:after {
	content: "";
	display: block;
	width: 12rem;
	height: 4.1rem;
	background: url(assets/images/flow/visit_arr01.png) no-repeat center / contain;
	position: absolute;
	top: -4rem;
	right: 24rem;
	z-index: 1;
}

.c-flow-how__content-visit p {
	color: #fff;
	font-size: 3.2rem;
	font-weight: bold;
	text-align: center;
	line-height: 1.5;
	letter-spacing: var(--text-letter-spacing-base);
}

.c-flow-how__content-which {
	margin-top: 5rem;
}

.c-flow-how__content-which-ttl {
	margin-bottom: -3.6rem;
	padding: 1.7rem 2rem;
	color: var(--color-primary);
	font-size: 2.2rem;
	font-weight: bold;
	letter-spacing: var(--text-letter-spacing-base);
	line-height: 1.5;
	text-align: center;
	background: #f3f8fb;
	border: .2rem solid var(--color-primary);
	border-radius: 2rem;
	position: relative;
	z-index: 2;
}

.c-flow-how__content-which-body {
	padding: 5.8rem 2.8rem 3.3rem;
	background: #fff;
	border-left: .2rem solid var(--color-primary);
	border-right: .2rem solid var(--color-primary);
	border-bottom: .2rem solid var(--color-primary);
	border-radius: 0 0 2rem 2rem;
}

.c-flow-how__content-which-desc {
	font-weight: bold;
	text-align: center;
	line-height: 1.8;
}

.c-flow-how__content-which-wrap {
	display: flex;
	justify-content: space-between;
	margin-top: 2.5rem;
}

.c-flow-how__content-which-wrap-sec {
	width: 54rem;
	border-radius: 1.5rem;
	background: #f3f8fb;
	overflow: hidden;
}

.c-flow-how__content-which-wrap-sec .ttl {
	padding: 1rem 2rem;
	color: #fff;
	font-size: 2rem;
	font-weight: bold;
	letter-spacing: var(--text-letter-spacing-base);
	line-height: 1.5;
	text-align: center;
	background: var(--color-primary);
	border-radius: 1.5rem;
	position: relative;
	z-index: 2;
}

.c-flow-how__content-which-wrap-sec:nth-child(2) .ttl {
	background: #5bb6cc;
}

.c-flow-how__content-which-wrap-sec .box {
	padding: 1.5rem 1.5rem 2rem;
}

.c-flow-how__content-which-wrap-sec .box p {
	font-weight: bold;
	line-height: 1.8;
	text-align: center;
}

.c-flow-how__contact {
	margin-top: 5rem;
	padding: 3.7rem 3rem;
	background: #f3f8fb;
	border-radius: 2rem;
}

.c-flow-how__contact-btn {
	text-align: center;
}

.c-flow-how__contact-btn a.c-btn01 {
	transform: translateX(1.5rem);
	-webkit-transform: translateX(1.5rem);
}

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

	.c-flow-how__content-case-sec:nth-child(even) {
		transition-delay: .4s !important;
	}
}

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

	.c-flow-how {
		padding: 0 var(--wrap-padding-sp-large);
	}

	.c-flow-how:before {
		width: 192rem;
		height: 159.1rem;
		background: url(assets/images/flow/flow_how_bg01_sp.png) no-repeat center top / contain;
	}

	@supports (background-image: url(assets/images/flow/flow_how_bg01_sp.webp)) {
		.c-flow-how:before {
			background-image: url(assets/images/flow/flow_how_bg01_sp.webp);
		}
	}

	.c-flow-how__inner {
		padding: 8rem 0 0;
	}

	.c-flow-how__intro {
		margin-top: 5rem;
	}

	.c-flow-how__intro p {
		margin-top: 1.2em;
	}

	.c-flow-how__content {
		margin-top: 5rem;
	}

	.c-flow-how__content-sec {
		margin-top: 6rem;
	}

	.c-flow-how__content-ttl {
		gap: 0 3rem;
		padding: 1.2rem 3rem;
		font-size: 3.2rem;
		text-align: center;
		border-radius: 2rem;
	}

	.c-flow-how__content-ttl:has(.sub) {
		justify-content: left;
	}

	.c-flow-how__content-ttl .sub {
		display: block;
		padding: 0 .8rem;
		font-size: 2.2rem;
		border-radius: .8rem;
	}

	.c-flow-how__content-ttl .main {
		flex: 1;
		font-size: 3.2rem;
		line-height: 1.6;
	}

	.c-flow-how__content-ttl:has(.sub) .main {
		text-align: left;
	}

	.c-flow-how__content-txt-area {
		margin-top: 2rem;
	}

	.c-flow-how__content-txt-area p {
		margin-top: 1.2em;
	}

	.c-flow-how__content-txt-area p:first-child {
		margin-top: 0;
	}

	.c-flow-how__content-case {
		display: block;
		margin-top: 3.5rem;
	}

	.c-flow-how__content-case-sec {
		width: auto;
	}

	.c-flow-how__content-case-sec-ttl {
		margin-bottom: -3.6rem;
		padding: 1.4rem 2rem;
		font-size: 3rem;
		border-radius: 2rem;
	}

	.c-flow-how__content-case-sec-body {
		padding: 7.6rem 2.7rem 3.2rem;
		border-left: .3rem solid var(--color-primary);
		border-right: .3rem solid var(--color-primary);
		border-bottom: .3rem solid var(--color-primary);
		border-radius: 0 0 2rem 2rem;
	}

	.c-flow-how__content-case-sec.medical .c-flow-how__content-case-sec-body {
		border-left: .3rem solid #5bb6cc;
		border-right: .3rem solid #5bb6cc;
		border-bottom: .3rem solid #5bb6cc;
	}

	.c-flow-how__content-case-child {
		margin-top: 4rem;
		border-radius: 2rem;
	}

	.c-flow-how__content-case-child .ttl {
		padding: 1.3rem 2rem;
		font-size: 2.8rem;
		border-radius: 2rem;
	}

	.c-flow-how__content-case-child .box01 {
		display: block;
		padding: 0 3rem;
	}

	.c-flow-how__content-case-child .box01__age {
		width: auto;
		padding: 2rem 0;
		border-right: none;
		border-bottom: 1px solid #ddd;
	}

	.c-flow-how__content-case-child .box01__age:last-child {
		border-bottom: none;
	}

	.c-flow-how__content-case-child .box01__age p {
		margin-top: .5em;
		line-height: 2;
	}

	.c-flow-how__content-case-child .box01__age p:first-child {
		margin-top: -.2em;
	}

	.c-flow-how__content-case-child .box01__age p:last-child {
		margin-bottom: -.2em;
	}

	.c-flow-how__content-case-child .list01 {
		padding: 2.5rem 3rem;
		font-size: 2.8rem;
	}

	.c-flow-how__content-case-child .list01 li {
		margin-top: .4em;
		padding-left: 2rem;
	}

	.c-flow-how__content-case-child .list01 li:before {
		width: 1rem;
		height: 1rem;
		top: .7em;
	}

	.c-flow-how__content-case-child .box02 {
		padding: 1.5rem 1.5rem 2rem;
	}

	.c-flow-how__content-case-child .box02 p {
		margin-top: .5em;
		font-weight: bold;
		line-height: 1.8;
		text-align: center;
	}

	.c-flow-how__content-case-child .box02 p:first-child {
		margin-top: 0;
	}

	.c-flow-how__content-visit {
		margin: 6rem 0;
		padding: 2.6rem 3rem;
	}

	.c-flow-how__content-visit:before {
		width: 18rem;
		height: 4.5rem;
		background: url(assets/images/flow/visit_arr02.png) no-repeat center / contain;
		top: -4.4rem;
		left: 50%;
		transform: translateX(-50%);
		-webkit-transform: translateX(-50%);
	}

	.c-flow-how__content-visit:after {
		width: 18rem;
		height: 4.5rem;
		background: url(assets/images/flow/visit_arr02.png) no-repeat center / contain;
		position: absolute;
		top: auto;
		bottom: -4.4rem;
		right: auto;
		left: 50%;
		transform: translateX(-50%) rotate(180deg);
		-webkit-transform: translateX(-50%) rotate(180deg);
	}

	.c-flow-how__content-visit p {
		font-size: 3.6rem;
	}

	.c-flow-how__content-which {
		margin-top: 5rem;
	}

	.c-flow-how__content-which-ttl {
		margin-bottom: -3.6rem;
		padding: 1.2rem 2rem;
		font-size: 3rem;
		border: .3rem solid var(--color-primary);
		border-radius: 2rem;
	}

	.c-flow-how__content-which-body {
		padding: 6.4rem 2.7rem 3.2rem;
		border-left: .3rem solid var(--color-primary);
		border-right: .3rem solid var(--color-primary);
		border-bottom: .3rem solid var(--color-primary);
		border-radius: 0 0 2rem 2rem;
	}

	.c-flow-how__content-which-desc {
		line-height: 2;
	}

	.c-flow-how__content-which-wrap {
		display: block;
		margin-top: 4rem;
	}

	.c-flow-how__content-which-wrap-sec {
		width: auto;
		margin-top: 4rem;
		border-radius: 1.5rem;
	}

	.c-flow-how__content-which-wrap-sec:first-child {
		margin-top: 0;
	}

	.c-flow-how__content-which-wrap-sec .ttl {
		padding: 1.3rem 2rem;
		font-size: 2.8rem;
	}

	.c-flow-how__content-which-wrap-sec .box {
		padding: 2rem 3rem;
	}

	.c-flow-how__content-which-wrap-sec .box p {
		font-weight: bold;
		line-height: 1.8;
		text-align: center;
	}

	.c-flow-how__contact {
		margin-top: 5rem;
		padding: 4.7rem 3rem;
		border-radius: 4rem;
	}

	.c-flow-how__contact-btn {
		text-align: center;
	}

	.c-flow-how__contact-btn a.c-btn01 {
		transform: translateX(2.25rem);
		-webkit-transform: translateX(2.25rem);
	}
}


/**********************************

 column2-wrap

***********************************/
.column2-wrap {

}

.column2-wrap__inner {
	display: flex;
	justify-content: space-between;
	padding: 12rem 0 0;
}

.column2-wrap__main {
	width: 90rem;
}

.column2-wrap__side {
	width: 28rem;
}


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

	.column2-wrap {
		padding: 0 var(--wrap-padding-sp-large);
	}

	.column2-wrap__inner {
		display: block;
		padding: 7rem 0 0;
	}

	.column2-wrap__main {
		width: auto;
	}

	.column2-wrap__side {
		width: auto;
		margin-top: 8rem;
	}
}

/**********************************

 c-widget

***********************************/
.c-widget {
	margin-top: 5rem;
}

.c-widget:first-child {
	margin-top: 0;
}

.c-widget__ttl {
	margin-top: -.3em;
	font-size: 2rem;
	font-weight: bold;
	text-align: center;
	line-height: 1.6;
	letter-spacing: .07em;
}

.c-widget__body {
	margin-top: 2.5rem;
}

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

	.c-widget {
		margin-bottom: 6rem;
	}

	.c-widget__ttl {
		font-size: 3.2rem;
	}

	.c-widget__body {
		margin-top: 3rem;
	}

}


/**********************************

 c-widget-list

***********************************/
.c-widget-list {
	padding: 1px 3rem;
	font-size: 1.6rem;
	line-height: 1.5;
	letter-spacing: .07em;
	background: #f4fafd;
	border-radius: 1rem;
}

.c-widget-list li {
	border-bottom: .1rem solid #dddddd;
}

.c-widget-list li:last-child {
	border-bottom: none;
}

.c-widget-list li a {
	display: block;
	padding: 1.8rem 2.5rem 1.8rem 0;
	position: relative;
	z-index: 1;
}

.c-widget-list li a:before {
	content: "";
	display: block;
	width: 1.1rem;
	height: 1rem;
	background: url(assets/images/common/icon_arr_blue.svg) no-repeat center / contain;
	position: absolute;
	top: 50%;
	right: 0;
	z-index: 1;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
}


@media (hover: hover) {

	.c-widget-list li a:hover:before {
		animation-name: bounceBtnArr;
		animation-duration: 1s;
		animation-iteration-count: 1;
	}
}

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

	.c-widget-list {
		padding: 1px 3rem;
		font-size: 2.8rem;
		border-radius: 2rem;
	}

	.c-widget-list li a {
		padding: 2.8rem 3rem 2.8rem 0;
	}

	.c-widget-list li a:before {
		width: 2.2rem;
		height: 1.9rem;
	}
}


/**********************************

 c-widget__select

***********************************/
.c-widget__select {
	position: relative;
	z-index: 1;
}

.c-widget__select:before {
	content: "";
	display: block;
	width: 1rem;
	height: 1.1rem;
	background: url(assets/images/common/icon_arr_blue.svg) no-repeat center / contain;
	position: absolute;
	top: 50%;
	right: 3rem;
	z-index: 1;
	transform: translateY(-50%) rotate(90deg);
	-webkit-transform: translateY(-50%) rotate(90deg);
	pointer-events: none;
	transition: transform 600ms cubic-bezier(0.165, 0.84, 0.44, 1);
}

@media (hover: hover) {

	.c-widget__select:hover:before {
		animation-name: bounceMoreOpen;
		animation-duration: 1s;
		animation-iteration-count: 1;
	}
}

.c-widget__select select {
	width: 100%;
	height: auto;
	padding: 1.8rem 5.5rem 1.8rem 3rem;
	color: #333;
	font-size: 1.6rem;
	font-weight: normal;
	line-height: 1.5;
	letter-spacing: .07em;
	background: #f4fafd;
	border: none;
	border-radius: 1rem;
	appearance: none;
	outline: none;
	cursor: pointer;
}

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

	.c-widget__select:before {
		width: 2.2rem;
		height: 1.9rem;
	}

	.c-widget__select select {
		padding: 2.8rem 3rem;
		font-size: 2.8rem;
		border-radius: 2rem;
	}
}


/**********************************

 c-news-archive

***********************************/
.c-news-archive {

}

.c-news-archive__ttl {
	margin-top: var(--leading-trim);
	margin-bottom: 4rem;
	font-size: 3.2rem;
	font-weight: bold;
	letter-spacing: var(--text-letter-spacing-base);
	line-height: 1.5;
	text-align: center;
}

.c-news-archive__item {
	border-bottom: 1px solid #dddddd;
}

.c-news-archive__item:first-of-type {
	border-top: 1px solid #dddddd;
}

.c-news-archive__item a {
	display: flex;
	align-items: center;
	padding: 5.8rem 0;
	position: relative;
	z-index: 1;
}

.c-news-archive__item a:before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#f7f9fc+0,ffffff+100 */
	background: linear-gradient(to right,  rgba(247,249,252,1) 0%,rgba(255,255,255,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	opacity: 0;
}

@media (hover: hover) {

	.c-news-archive__item a:before {
		-webkit-transition: opacity var(--transition-duration-slow) cubic-bezier(0.165, 0.84, 0.44, 1);
		transition: opacity var(--transition-duration-slow) cubic-bezier(0.165, 0.84, 0.44, 1);
	}

	.c-news-archive__item a:hover:before {
		opacity: 1;
	}
}

.c-news-archive__item a .date {
	width: 13.5rem;
	color: var(--color-primary);
	font-size: 1.2rem;
	font-weight: bold;
	letter-spacing: .1em;
}

.c-news-archive__item a .cate {
	margin-right: 4.5rem;
	font-size: 1.4rem;
	font-weight: bold;
	letter-spacing: .12em;
}

.c-news-archive__item a .cate .block {
	display: block;
	min-width: 14rem;
	padding: .2rem .5rem;
	text-align: center;
	background: #fff;
	border: 1px solid #dddbdc;
	border-radius: 200px;
}

.c-news-archive__item a .ttl {
	flex: 1;
	padding-right: 10rem;
	font-size: 1.6rem;
	letter-spacing: .1em;
}

.c-news-archive__item a .icon {
	display: block;
	width: 6rem;
	height: 6rem;
	border-radius: 50%;
	position: absolute;
	top: 50%;
	right: 0;
	z-index: 1;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	overflow: hidden;
}

.c-news-archive__item a .icon:before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background: #f4fafd;
	border-radius: 50%;
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: -1;
	transform: translateY(-50%) translateX(-50%);
	-webkit-transform: translateY(-50%) translateX(-50%);
}

.c-news-archive__item a .icon__first {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 1;
	transform: translateY(-50%) translateX(-50%);
	-webkit-transform: translateY(-50%) translateX(-50%);
}

.c-news-archive__item a .icon__second {
	display: block;
	position: absolute;
	top: 50%;
	left: 0;
	z-index: 1;
	transform: translateY(-50%) translateX(-50%);
	-webkit-transform: translateY(-50%) translateX(-50%);
	opacity: 0;
}

.c-news-archive__item a .icon__first img,
.c-news-archive__item a .icon__second img {
	display: block;
	width: 1.1rem;
	height: 1rem;
}

@media (hover: hover) {

	.c-news-archive__item a:hover .icon__first {
		left: 100%;
		opacity: 0;
		-webkit-transition: all var(--transition-duration-base) cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
		transition: all var(--transition-duration-base) cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
	}

	.c-news-archive__item a:hover .icon__second {
		left: 50%;
		opacity: 1;
		-webkit-transition: all var(--transition-duration-base) cubic-bezier(0.165, 0.84, 0.44, 1) .2s;
		transition: all var(--transition-duration-base) cubic-bezier(0.165, 0.84, 0.44, 1) .2s;
	}

}

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

	.c-news-archive__ttl {
		margin-bottom: 4rem;
		font-size: 3.2rem;
	}

	.c-news-archive__item a {
		display: flex;
		align-items: center;
		flex-wrap: wrap;
		gap: 2rem 2rem;
		padding: 4rem 14rem 4rem 0;
	}

	.c-news-archive__item a .date {
		width: auto;
		font-size: 2.6rem;
	}

	.c-news-archive__item a .cate {
		margin-right: 0;
		font-size: 2.2rem;
	}

	.c-news-archive__item a .cate .block {
		min-width: auto;
		padding: 0 2rem;
	}

	.c-news-archive__item a .ttl {
		flex: none;
		width: 100%;
		padding-right: 0;
		font-size: 2.8rem;
	}

	.c-news-archive__item a .icon {
		width: 8rem;
		height: 8rem;
	}

	.c-news-archive__item a .icon__first img,
	.c-news-archive__item a .icon__second img {
		width: 2.2rem;
		height: 1.9rem;
	}
}


/**********************************

 c-article-post

***********************************/
.c-article-post {

}

.c-article-post__ttl {
	margin-top: var(--leading-trim);
	font-size: 3.2rem;
	font-weight: bold;
	letter-spacing: .12em;
	line-height: 1.6;
}

.c-article-post__content {
	margin-top: 4.5rem;
}

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

}




/**********************************

 c-article-info

***********************************/
.c-article-info {
	display: flex;
	gap: 0 2.5rem;
	margin-top: 3rem;
}

.c-article-info__date {
	margin-top: .2rem;
	color: var(--color-primary);
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1.6;
	letter-spacing: var(--text-letter-spacing-base);
}

.c-article-info__category {
	flex: 1;
	display: flex;
	flex-wrap: wrap;
	gap: 1.5rem 1.5rem;
	font-size: 1.2rem;
	font-weight: bold;
	letter-spacing: .12em;
}

.c-article-info__category li {
}

.c-article-info__category li a {
	display: block;
	padding: .1rem 1rem;
	background: #fff;
	border: .2rem solid #dddddd;
	border-radius: 20rem;
	overflow: hidden;
	position: relative;
	z-index: 1;
}

@media (hover: hover) {

	.c-article-info__category li a {
		transition: color var(--transition-duration-base) cubic-bezier(0.165, 0.84, 0.44, 1);
	}

	.c-article-info__category li a:hover {
		/*color: #fff;*/
	}

	.c-article-info__category li a:before {
		content: "";
		display: block;
		width: calc(100% + .2rem);
		height: calc(100% + .2rem);
		background: #dddddd;
		position: absolute;
		top: 0;
		left: 0;
		z-index: -1;
		transform: scale(0, 1);
		transform-origin: right top;
		transition: transform var(--transition-duration-base) cubic-bezier(0.165, 0.84, 0.44, 1);
	}

	.c-article-info__category li a:hover:before {
		transform-origin: left top;
		transform: scale(1, 1);
	}
}

.c-article-info__category li a.all {
	color: #fff;
	background: #333333;
}

@media (hover: hover) {

	.c-article-info__category li a.all:hover {
		color: #333;
	}

	.c-article-info__category li a.all:before {
		background: #fff;
	}
}


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

	.c-article-info {
		display: flex;
		gap: 0 2rem;
		margin-top: 4rem;
	}

	.c-article-info__date {
		margin-top: .2rem;
		font-size: 2.6rem;
	}

	.c-article-info__category {
		gap: 1.5rem 1.5rem;
		font-size: 2.2rem;
	}

	.c-article-info__category li a {
		padding: 0 2rem;
	}
}


/**********************************

 c-recruit-about

***********************************/
.c-recruit-about {
	position: relative;
	z-index: 1;
}

.c-recruit-about:before {
	content: "";
	display: block;
	width: 192rem;
	height: 89rem;
	background: url(assets/images/recruit/about_bg01_pc.png) no-repeat center top / contain;
	position: absolute;
	top: 0;
	left: 50%;
	z-index: -1;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	filter: blur(100px);
	transition: all var(--transition-duration-base) cubic-bezier(0.165, 0.84, 0.44, 1);
}

@supports (background-image: url(assets/images/recruit/about_bg01_pc.webp)) {
	.c-recruit-about:before {
		background-image: url(assets/images/recruit/about_bg01_pc.webp);
	}
}

.c-recruit-about.aos-animate:before {
	filter: blur(0);
}

.c-recruit-about__inner {
	padding: 12.4rem 0 5.5rem;
}

.c-recruit-about__wrap {
	display: flex;
	justify-content: space-between;
	margin-top: 4rem;
}

.c-recruit-about__content {
	width: 76rem;
}

.c-recruit-about__desc {
	letter-spacing: .12em;
}

.c-recruit-about__content dl {
	margin-top: 1.2em;
}

.c-recruit-about__content dl:first-child {
	margin-top: 0;
}

.c-recruit-about__content dl dt {
	color: var(--color-primary);
	font-size: 2rem;
	font-weight: bold;
	letter-spacing: .12em;
}

.c-recruit-about__content dl dd {
	margin-top: .3em;
	letter-spacing: .12em;
}

.c-recruit-about__pic {
	width: 42rem;
	margin-top: -13.5rem;
}

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

	.c-recruit-about {
		padding: 0 var(--wrap-padding-sp-large);
	}

	.c-recruit-about:before {
		width: 192rem;
		height: 159.1rem;
		background: url(assets/images/recruit/about_bg01_sp.png) no-repeat center top / contain;
	}

	@supports (background-image: url(assets/images/recruit/about_bg01_sp.webp)) {
		.c-recruit-about:before {
			background-image: url(assets/images/recruit/about_bg01_sp.webp);
		}
	}

	.c-recruit-about__inner {
		padding: 8rem 0 4rem;
	}

	.c-recruit-about__wrap {
		display: block;
		margin-top: 5rem;
	}

	.c-recruit-about__content {
		width: auto;
	}

	.c-recruit-about__desc {
		letter-spacing: var(--text-letter-spacing-base);
	}

	.c-recruit-about__content dl {
		margin-top: 1em;
	}

	.c-recruit-about__content dl:first-child {
		margin-top: 0;
	}

	.c-recruit-about__content dl dt {
		font-size: 3rem;
		text-align: center;
	}

	.c-recruit-about__content dl dd {
		margin-top: .1em;
	}

	.c-recruit-about__pic {
		width: 42rem;
		margin: 5rem auto 0;
	}
}


/**********************************

 c-recruit-benefits

***********************************/
.c-recruit-benefits {

}

.c-recruit-benefits__inner {
	padding: 5.5rem 0 5.5rem;
}

.c-recruit-benefits__desc {
	margin-top: 4rem;
	letter-spacing: .12em;
}

.c-recruit-benefits__list {
	display: flex;
	justify-content: space-between;
	margin-top: 8rem;
	padding-bottom: 6rem;
	position: relative;
	z-index: 1;
}

.c-recruit-benefits__list:before {
	content: "";
	display: block;
	width: 138rem;
	height: 14rem;
	background: #a7d8e4;
	border-radius: 5rem;
	position: absolute;
	bottom: 0;
	left: 50%;
	z-index: 1;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
}

.c-recruit-benefits__item {
	width: 27rem;
	padding: 5rem 2rem 3rem;
	background: #fff;
	border: .2rem solid #dddddd;
	border-radius: 3rem;
	position: relative;
	z-index: 1;
}

.c-recruit-benefits__item-icon {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 7rem;
	height: 7rem;
	background: var(--color-primary);
	border-radius: 50%;
	position: absolute;
	top: 0;
	left: 50%;
	z-index: 1;
	transform: translateY(-50%) translateX(-50%);
	-webkit-transform: translateY(-50%) translateX(-50%);
}

.c-recruit-benefits__item-icon img {
	display: block;
	width: 3.8rem;
}

.c-recruit-benefits__item-ttl {
	color: var(--color-primary);
	font-size: 2rem;
	font-weight: bold;
	letter-spacing: .15em;
	text-align: center;
	line-height: 1.5;
}

.c-recruit-benefits__item-desc {
	margin-top: 1.2rem;
	font-size: 1.6rem;
	line-height: 1.8;
	letter-spacing: .12em;
}

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

	.c-recruit-benefits__item:nth-child(2) {
		transition-delay: .4s !important;
	}

	.c-recruit-benefits__item:nth-child(3) {
		transition-delay: .5s !important;
	}

	.c-recruit-benefits__item:nth-child(4) {
		transition-delay: .6s !important;
	}
}

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

	.c-recruit-benefits {
		padding: 0 var(--wrap-padding-sp-large);
	}

	.c-recruit-benefits__inner {
		padding: 4rem 0 4rem;
	}

	.c-recruit-benefits__desc {
		margin-top: 5rem;
		letter-spacing: var(--text-letter-spacing-base);
	}

	.c-recruit-benefits__list {
		flex-wrap: wrap;
		gap: 7rem 0;
		margin-top: 8rem;
		padding-bottom: 4rem;
	}

	.c-recruit-benefits__list:before {
		width: 68rem;
		height: calc(100% - 13rem);
		border-radius: 4rem;
	}

	.c-recruit-benefits__item {
		width: 28rem;
		padding: 6.5rem 2rem 3rem;
		border-radius: 3rem;
	}

	.c-recruit-benefits__item:nth-child(even) {
		transition-delay: .4s !important;
	}

	.c-recruit-benefits__item-icon {
		width: 10.5rem;
		height: 10.5rem;
	}

	.c-recruit-benefits__item-icon img {
		width: 5.1rem;
	}

	.c-recruit-benefits__item-ttl {
		font-size: 3rem;
	}

	.c-recruit-benefits__item-desc {
		margin-top: 1.2rem;
		font-size: 2.4rem;
	}
}


/**********************************

 c-recruit-offer

***********************************/
.c-recruit-offer {

}

.c-recruit-offer__inner {
	padding: 5.5rem 0 0;
}

.c-recruit-offer__desc {
	margin-top: 4rem;
	font-size: 1.6rem;
	letter-spacing: .12em;
}

.c-recruit-offer__tab-area {
	margin-top: 7rem;
}

.c-recruit-offer__tab-head {

}

.c-recruit-offer__tab-head ul {
	display: flex;
	align-items: flex-end;
	height: 9rem;
}

.c-recruit-offer__tab-head ul li {
	flex: 1;
}

.c-recruit-offer__tab-head ul[data-tab-count="10"] li {
	width: 10%;
}

.c-recruit-offer__tab-head ul li a {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 8rem;
	padding: 0 1rem;
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1.5;
	text-align: center;
	background: #ffffff;
	border-top: 1px solid #dddddd;
	border-right: 1px solid #dddddd;
	-webkit-transition: all var(--transition-duration-base) cubic-bezier(0.165, 0.84, 0.44, 1);
	transition: all var(--transition-duration-base) cubic-bezier(0.165, 0.84, 0.44, 1);
}

.c-recruit-offer__tab-head ul li:first-child a {
	border-radius: 1rem 0 0 0;
	border-left: 1px solid #dddddd;
}

.c-recruit-offer__tab-head ul li:last-child a {
	border-radius: 0 1rem 0 0;
}

.c-recruit-offer__tab-head ul li a.is-active {
	height: 9rem;
	color: #fff;
	font-size: 2rem;
	background: #176cb7;
	border: none;
	border-radius: 1rem 1rem 0 0;
	pointer-events: none;
}

.c-recruit-offer__tab-head ul li a .box {
	overflow: hidden;
	position: relative;
	z-index: 1;
}

.c-recruit-offer__tab-head ul li a .box__inner {
	display: block;
	-webkit-transition: all var(--transition-duration-base) cubic-bezier(0.165, 0.84, 0.44, 1);
	transition: all var(--transition-duration-base) cubic-bezier(0.165, 0.84, 0.44, 1);
}

.c-recruit-offer__tab-head ul li .box:before {
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	background: var(--color-font-base);
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 1;
	transform: scale(0, 1);
	transform-origin: right top;
	transition: transform 500ms cubic-bezier(0.165, 0.84, 0.44, 1);
}

.c-recruit-offer__tab-head ul li .box:after {
	content: attr(data-replace);
	display: block;
	width: 100%;
	text-align: center;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	transform-origin: 50% 100%;
	transform: translate(0, 200%);
	-webkit-transition: all var(--transition-duration-base) cubic-bezier(0.165, 0.84, 0.44, 1);
	transition: all var(--transition-duration-base) cubic-bezier(0.165, 0.84, 0.44, 1);
}

@media (hover: hover) {

	.c-recruit-offer__tab-head ul li a:hover .box:before {
		transform-origin: left top;
		transform: scale(1, 1);
	}

	.c-recruit-offer__tab-head ul li a:hover .box .box__inner {
		-webkit-transform: translate(0, -200%);
		transform: translate(0, -200%);
	}

	.c-recruit-offer__tab-head ul li a:hover .box:after {
		transform: translate(0, 0);
	}
}

.c-recruit-offer__tab-body {

}

.c-recruit-offer__tab-body-sec {
	display: none;
}

.c-recruit-offer__tab-body-sec:first-child {
	display: block;
}

.c-recruit-offer__tab-body-sec-ttl {
	padding: 1.8rem 3rem;
	color: #fff;
	font-size: 2.2rem;
	font-weight: bold;
	letter-spacing: .12em;
	text-align: center;
	background: var(--color-primary);
	border-radius: 0 0 1rem 1rem;
}

.c-recruit-offer__tab-body-sec-detail {
	margin-top: 5rem;
}

.c-recruit-offer__tab-body-sec-detail dl {
	display: flex;
	padding: 4rem 0;
	font-size: 1.6rem;
	line-height: 1.8;
	letter-spacing: .12em;
	border-bottom: 1px solid #dddddd;
}

.c-recruit-offer__tab-body-sec-detail dl:first-child {
	border-top: 1px solid #dddddd;
}

.c-recruit-offer__tab-body-sec-detail dl dt {
	display: flex;
	align-items: center;
	width: 25rem;
	padding-right: 3rem;
	font-weight: bold;
	position: relative;
	z-index: 1;
}

.c-recruit-offer__tab-body-sec-detail dl dt:before {
	content: "";
	display: block;
	width: 1px;
	height: calc(100% - .6em);
	background: #dddddd;
	position: absolute;
	top: 50%;
	right: 0;
	z-index: 1;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
}

.c-recruit-offer__tab-body-sec-detail dl dd {
	flex: 1;
	padding-left: 4rem;
}

.c-recruit-offer__tab-body-sec-btn {
	margin-top: 6rem;
	font-size: 2.2rem;
	font-weight: bold;
	letter-spacing: .12em;
	line-height: 1.5;
}

.c-recruit-offer__tab-body-sec-btn a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 28.8rem;
	height: 8rem;
	margin: 0 auto 0;
	color: #fff;
	background: var(--color-primary);
	border: .3rem solid var(--color-primary);
	border-radius: 2rem;
	position: relative;
	z-index: 1;
}

.c-recruit-offer__tab-body-sec-btn a .txt01 {
	display: block;
}

.c-recruit-offer__tab-body-sec-btn a .icon {
	display: block;
	width: 2rem;
	height: 2rem;
	position: absolute;
	top: 50%;
	right: 2rem;
	z-index: 1;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
}

.c-recruit-offer__tab-body-sec-btn a .icon__first {
	display: block;
	width: 1.1rem;
	height: 1rem;
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 1;
	transform: translateY(-50%) translateX(-50%);
	-webkit-transform: translateY(-50%) translateX(-50%);
}

.c-recruit-offer__tab-body-sec-btn a .icon__second {
	display: block;
	width: 1.1rem;
	height: 1rem;
	position: absolute;
	top: 50%;
	left: -50%;
	z-index: 1;
	transform: translateY(-50%) translateX(-50%);
	-webkit-transform: translateY(-50%) translateX(-50%);
	opacity: 0;
}

.c-recruit-offer__tab-body-sec-btn a .icon__first img,
.c-recruit-offer__tab-body-sec-btn a .icon__second img {
	display: block;
	width: 1.1rem;
	height: 1rem;
}

@media (hover: hover) {

	.c-recruit-offer__tab-body-sec-btn a {
		-webkit-transition: all var(--transition-duration-base) cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
		transition: all var(--transition-duration-base) cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
	}

	.c-recruit-offer__tab-body-sec-btn a:hover {
		color: var(--color-primary);
		background: #fff;
	}

	.c-recruit-offer__tab-body-sec-btn a:hover .icon__first {
		left: 150%;
		opacity: 0;
		-webkit-transition: all var(--transition-duration-base) cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
		transition: all var(--transition-duration-base) cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
	}

	.c-recruit-offer__tab-body-sec-btn a:hover .icon__second {
		left: 50%;
		opacity: 1;
		-webkit-transition: all var(--transition-duration-base) cubic-bezier(0.165, 0.84, 0.44, 1) .2s;
		transition: all var(--transition-duration-base) cubic-bezier(0.165, 0.84, 0.44, 1) .2s;
	}

}

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

	.c-recruit-offer {
		padding: 0 var(--wrap-padding-sp-large);
	}

	.c-recruit-offer__inner {
		padding: 4rem 0 0;
	}

	.c-recruit-offer__desc {
		margin-top: 5rem;
		font-size: 2.8rem;
		letter-spacing: .09em;
	}

	.c-recruit-offer__tab-area {
		margin-top: 5rem;
	}

	.c-recruit-offer__tab-head {

	}

	.c-recruit-offer__tab-head ul {
		display: flex;
		align-items: normal;
		flex-wrap: wrap;
		height: auto;
		border: 1px solid #dddddd;
		border-radius: 1.5rem;
		overflow: hidden;
	}

	.c-recruit-offer__tab-head ul li {
		width: 33.33333333%;
		flex: auto;
	}

	.c-recruit-offer__tab-head ul[data-tab-count="1"] li {
		width: 100%;
	}

	.c-recruit-offer__tab-head ul[data-tab-count="2"] li {
		width: 50%;
	}

	.c-recruit-offer__tab-head ul[data-tab-count="3"] li {
		width: 33.33333333%;
	}

	.c-recruit-offer__tab-head ul[data-tab-count="4"] li {
		width: 33.33333333%;
	}

	.c-recruit-offer__tab-head ul[data-tab-count="4"] li:last-child {
		width: 100%;
	}

	.c-recruit-offer__tab-head ul[data-tab-count="5"] li:nth-child(4),
	.c-recruit-offer__tab-head ul[data-tab-count="5"] li:nth-child(5) {
		width: 50%;
	}

	.c-recruit-offer__tab-head ul[data-tab-count="10"] li {
		width: 10%;
	}

	.c-recruit-offer__tab-head ul li a {
		height: 100%;
		padding: 1.4rem 1rem;
		font-size: 2.6rem;
		font-weight: bold;
		line-height: 1.6;
		/*word-break: keep-all;*/
		/*text-overflow: ellipsis;*/
		/*overflow: hidden;*/
		/*white-space: nowrap;*/
		text-align: center;
		background: #ffffff;
		border: none !important;
		border-right: 1px solid #dddddd !important;
	}

	.c-recruit-offer__tab-head ul li:nth-child(3) a,
	.c-recruit-offer__tab-head ul li:last-child a {
		border-right: none !important;
	}

	.c-recruit-offer__tab-head ul li a.is-active {
		height: 100%;
		font-size: 2.6rem;
		border-radius: 0;
		border-top: none;
		border-bottom: none;
		border-right: none;
	}

	.c-recruit-offer__tab-head ul li:first-child a,
	.c-recruit-offer__tab-head ul li:first-child a.is-active {
		border-left: none;
		border-radius: 0;
	}

	.c-recruit-offer__tab-head ul[data-tab-count="4"] li:first-child a,
	.c-recruit-offer__tab-head ul[data-tab-count="4"] li:first-child a.is-active {
		border-radius: 0;
	}

	.c-recruit-offer__tab-head ul li:first-child a.is-active {
		border-left: none;
	}

	.c-recruit-offer__tab-head ul li:last-child a,
	.c-recruit-offer__tab-head ul li:last-child a.is-active {
		border-radius: 0;
	}

	.c-recruit-offer__tab-head ul[data-tab-count="1"] li a,
	.c-recruit-offer__tab-head ul[data-tab-count="1"] li:first-child a,
	.c-recruit-offer__tab-head ul[data-tab-count="1"] li:last-child a {
		border-radius: 0;
	}

	.c-recruit-offer__tab-head ul[data-tab-count="4"] li:last-child a,
	.c-recruit-offer__tab-head ul[data-tab-count="5"] li:nth-child(4) a,
	.c-recruit-offer__tab-head ul[data-tab-count="5"] li:nth-child(5) a,
	.c-recruit-offer__tab-head ul[data-tab-count="6"] li:nth-child(4) a,
	.c-recruit-offer__tab-head ul[data-tab-count="6"] li:nth-child(5) a,
	.c-recruit-offer__tab-head ul[data-tab-count="6"] li:nth-child(6) a,
	.c-recruit-offer__tab-head ul[data-tab-count="7"] li:last-child a {
		border-top: 1px solid #dddddd !important;
		border-radius: 0
	}

	.c-recruit-offer__tab-head ul[data-tab-count="4"] li:last-child a.is-active {
	}

	.c-recruit-offer__tab-head ul li a .box {
		overflow: hidden;
		position: relative;
		z-index: 1;
	}

	.c-recruit-offer__tab-head ul li a .box__inner {
		display: block;
		-webkit-transition: all var(--transition-duration-base) cubic-bezier(0.165, 0.84, 0.44, 1);
		transition: all var(--transition-duration-base) cubic-bezier(0.165, 0.84, 0.44, 1);
	}

	.c-recruit-offer__tab-head ul li .box:before {
		content: "";
		display: block;
		width: 100%;
		height: 1px;
		background: var(--color-font-base);
		position: absolute;
		bottom: 0;
		left: 0;
		z-index: 1;
		transform: scale(0, 1);
		transform-origin: right top;
		transition: transform 500ms cubic-bezier(0.165, 0.84, 0.44, 1);
	}

	.c-recruit-offer__tab-head ul li .box:after {
		content: attr(data-replace);
		display: block;
		width: 100%;
		text-align: center;
		position: absolute;
		top: 0;
		left: 0;
		z-index: 1;
		transform-origin: 50% 100%;
		transform: translate(0, 200%);
		-webkit-transition: all var(--transition-duration-base) cubic-bezier(0.165, 0.84, 0.44, 1);
		transition: all var(--transition-duration-base) cubic-bezier(0.165, 0.84, 0.44, 1);
	}

	@media (hover: hover) {

		.c-recruit-offer__tab-head ul li a:hover .box:before {
			transform-origin: left top;
			transform: scale(1, 1);
		}

		.c-recruit-offer__tab-head ul li a:hover .box .box__inner {
			-webkit-transform: translate(0, -200%);
			transform: translate(0, -200%);
		}

		.c-recruit-offer__tab-head ul li a:hover .box:after {
			transform: translate(0, 0);
		}
	}

	.c-recruit-offer__tab-body {
		margin-top: 4rem;
	}

	.c-recruit-offer__tab-body-sec {
		display: none;
	}

	.c-recruit-offer__tab-body-sec:first-child {
		display: block;
	}

	.c-recruit-offer__tab-body-sec-ttl {
		padding: 1.2rem 3rem;
		font-size: 2.6rem;
		border-radius: 1.5rem;
	}

	.c-recruit-offer__tab-body-sec-detail {
		margin-top: 3rem;
	}

	.c-recruit-offer__tab-body-sec-detail dl {
		display: block;
		padding: 2.5rem 0;
		font-size: 2.6rem;
		letter-spacing: var(--text-letter-spacing-base);
	}

	.c-recruit-offer__tab-body-sec-detail dl dt {
		display: block;
		width: auto;
		padding-right: 0;
		text-align: center;
	}

	.c-recruit-offer__tab-body-sec-detail dl dt:before {
		display: none;
	}

	.c-recruit-offer__tab-body-sec-detail dl dd {
		margin-top: 1rem;
		padding-left: 0;
	}

	.c-recruit-offer__tab-body-sec-btn {
		margin-top: 5rem;
		font-size: 3.2rem;
	}

	.c-recruit-offer__tab-body-sec-btn a {
		width: 29.7rem;
		height: 10.8rem;
		border-radius: 2rem;
		position: relative;
		z-index: 1;
	}

	.c-recruit-offer__tab-body-sec-btn a .txt01 {
		display: block;
	}

	.c-recruit-offer__tab-body-sec-btn a .icon {
		width: 3rem;
		height: 3rem;
		right: 2.5rem;
	}

	.c-recruit-offer__tab-body-sec-btn a .icon__first {
		width: 2.2rem;
		height: 1.9rem;
	}

	.c-recruit-offer__tab-body-sec-btn a .icon__second {
		width: 2.2rem;
		height: 1.9rem;
	}

	.c-recruit-offer__tab-body-sec-btn a .icon__first img,
	.c-recruit-offer__tab-body-sec-btn a .icon__second img {
		width: 2.2rem;
		height: 1.9rem;
	}
}


/**********************************

 c-recruit-form

***********************************/
.c-recruit-form {
	position: relative;
	z-index: 1;
}

.c-recruit-form:before {
	content: "";
	display: block;
	width: 192rem;
	height: 89rem;
	background: url(assets/images/recruit/entry/form_bg01_pc.png) no-repeat center top / contain;
	position: absolute;
	top: 0;
	left: 50%;
	z-index: -1;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	filter: blur(100px);
	transition: all var(--transition-duration-base) cubic-bezier(0.165, 0.84, 0.44, 1);
}

@supports (background-image: url(assets/images/recruit/entry/form_bg01_pc.webp)) {
	.c-recruit-form:before {
		background-image: url(assets/images/recruit/entry/form_bg01_pc.webp);
	}
}

.c-recruit-form.aos-animate:before {
	filter: blur(0);
}

.c-recruit-form__inner {
	padding: 13rem 0 0;
}

.c-recruit-form__desc {
	margin-top: 4rem;
	letter-spacing: .12em;
}

.c-recruit-form__desc:first-child {
	margin-top: 0;
}

.c-recruit-form__content {
	margin-top: 5.5rem;
}

.c-recruit-form__btn {
	margin-top: 7.5rem;
	text-align: center;
}

.c-recruit-form__btn a.c-btn01 {
	transform: translateX(1.5rem);
	-webkit-transform: translateX(1.5rem);
}

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

	.c-recruit-form {
		padding: 0 4.5rem;
	}

	.c-recruit-form:before {
		width: 192rem;
		height: 159.1rem;
		background: url(assets/images/recruit/entry/form_bg01_sp.png) no-repeat center top / contain;
	}

	@supports (background-image: url(assets/images/recruit/entry/form_bg01_sp.webp)) {
		.c-recruit-form:before {
			background-image: url(assets/images/recruit/entry/form_bg01_sp.webp);
		}
	}

	.c-recruit-form__inner {
		padding: 8rem 0 0;
	}

	.c-recruit-form__desc {
		margin-top: 5rem;
		letter-spacing: var(--text-letter-spacing-base);
	}

	.c-recruit-form__desc:first-child {
		margin-top: 0;
	}

	.c-recruit-form__content {
		margin-top: 5rem;
	}

	.c-recruit-form__btn {
		margin-top: 7rem;
		text-align: center;
	}

	.c-recruit-form__btn a.c-btn01 {
		transform: translateX(2.25rem);
		-webkit-transform: translateX(2.25rem);
	}

}


/**********************************

 c-contact-form

***********************************/
.c-contact-form {
	position: relative;
	z-index: 1;
}

.c-contact-form__inner {
	padding: 13rem 0 0;
}

.c-contact-form__desc {
	margin-top: 4rem;
	letter-spacing: .12em;
}

.c-contact-form__desc:first-child {
	margin-top: 0;
}

.c-contact-form__content {
	margin-top: 5.5rem;
}

.c-contact-form__btn {
	margin-top: 7.5rem;
	text-align: center;
}

.c-contact-form__btn a.c-btn01 {
	transform: translateX(1.5rem);
	-webkit-transform: translateX(1.5rem);
}

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

	.c-contact-form {
		padding: 0 4.5rem;
	}

	.c-contact-form__inner {
		padding: 8rem 0 0;
	}

	.c-contact-form__desc {
		margin-top: 5rem;
		letter-spacing: var(--text-letter-spacing-base);
	}

	.c-contact-form__desc:first-child {
		margin-top: 0;
	}

	.c-contact-form__content {
		margin-top: 5rem;
	}

	.c-contact-form__btn {
		margin-top: 7rem;
	}

	.c-contact-form__btn a.c-btn01 {
		transform: translateX(2.25rem);
		-webkit-transform: translateX(2.25rem);
	}
}


/**********************************

 c-privacy-policy

***********************************/
.c-privacy-policy {
	position: relative;
	z-index: 1;
}

.c-privacy-policy:before {
	content: "";
	display: block;
	width: 192rem;
	height: 89rem;
	background: url(assets/images/privacy-policy/privacy_policy_bg01_pc.png) no-repeat center top / contain;
	position: absolute;
	top: 0;
	left: 50%;
	z-index: -1;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	filter: blur(100px);
	transition: all var(--transition-duration-base) cubic-bezier(0.165, 0.84, 0.44, 1);
}

@supports (background-image: url(assets/images/privacy-policy/privacy_policy_bg01_pc.webp)) {
	.c-privacy-policy:before {
		background-image: url(assets/images/privacy-policy/privacy_policy_bg01_pc.webp);
	}
}

.c-privacy-policy.aos-animate:before {
	filter: blur(0);
}

.c-privacy-policy__inner {
	padding: 13rem 0 0;
}

.c-privacy-policy__content {

}

.c-privacy-policy__sec {
	margin-top: 12rem;
}

.c-privacy-policy__sec:first-child {
	margin-top: 0;
}

.c-privacy-policy__sec-content {
	margin-top: 4rem;
}

.c-privacy-policy__sec-content p {
	margin-top: 1.2em;
	letter-spacing: .12em;
}

.c-privacy-policy__sec-content p:first-child {
	margin-top: 0;
}

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

	.c-privacy-policy {
		padding: 0 var(--wrap-padding-sp-large);
	}

	.c-privacy-policy:before {
		width: 192rem;
		height: 159.1rem;
		background: url(assets/images/privacy-policy/privacy_policy_bg01_sp.png) no-repeat center top / contain;
	}

	@supports (background-image: url(assets/images/privacy-policy/privacy_policy_bg01_sp.webp)) {
		.c-privacy-policy:before {
			background-image: url(assets/images/privacy-policy/privacy_policy_bg01_sp.webp);
		}
	}

	.c-privacy-policy__inner {
		padding: 8rem 0 0;
	}

	.c-privacy-policy__content {

	}

	.c-privacy-policy__sec {
		margin-top: 8rem;
	}

	.c-privacy-policy__sec:first-child {
		margin-top: 0;
	}

	.c-privacy-policy__sec-content {
		margin-top: 5rem;
	}

	.c-privacy-policy__sec-content p {
		margin-top: 1.2em;
		letter-spacing: .12em;
	}

	.c-privacy-policy__sec-content p:first-child {
		margin-top: 0;
	}
}


/**********************************

 c-company-greeting

***********************************/
.c-company-greeting {
	position: relative;
	z-index: 1;
}

.c-company-greeting:before {
	content: "";
	display: block;
	width: 192rem;
	height: 89rem;
	background: url(assets/images/company/company_greeting_bg01_pc.png) no-repeat center top / contain;
	position: absolute;
	top: 0;
	left: 50%;
	z-index: -1;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	filter: blur(100px);
	transition: all var(--transition-duration-base) cubic-bezier(0.165, 0.84, 0.44, 1);
}

@supports (background-image: url(assets/images/company/company_greeting_bg01_pc.webp)) {
	.c-company-greeting:before {
		background-image: url(assets/images/company/company_greeting_bg01_pc.webp);
	}
}

.c-company-greeting.aos-animate:before {
	filter: blur(0);
}

.c-company-greeting__inner {
	padding: 12.5rem 0 0;
}

.c-company-greeting__wrap {
	display: flex;
	justify-content: space-between;
	margin-top: 4rem;
}

.c-company-greeting__pic {
	width: 42rem;
	margin-top: -14rem;
}

.c-company-greeting__content {
	width: 80rem;
}

.c-company-greeting__content p {
	margin-top: 1.2em;
	letter-spacing: .12em;
}

.c-company-greeting__content p:first-child {
	margin-top: 0;
}

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

	.c-company-greeting {
		padding: 0 var(--wrap-padding-sp-large);
	}

	.c-company-greeting:before {
		width: 192rem;
		height: 159.1rem;
		background: url(assets/images/company/company_greeting_bg01_sp.png) no-repeat center top / contain;
	}

	@supports (background-image: url(assets/images/company/company_greeting_bg01_sp.webp)) {
		.c-company-greeting:before {
			background-image: url(assets/images/company/company_greeting_bg01_sp.webp);
		}
	}

	.c-company-greeting__inner {
		padding: 8rem 0 0;
	}

	.c-company-greeting__wrap {
		display: block;
		margin-top: 5rem;
	}

	.c-company-greeting__pic {
		width: 42rem;
		margin: 5rem auto 0;
	}

	.c-company-greeting__content {
		width: auto;
	}
}


/**********************************

 c-company-overview

***********************************/
.c-company-overview {
	margin-top: 12rem;
	position: relative;
	z-index: 1;
}

.c-company-overview__inner {

}

.c-company-overview__info {
	margin-top: 4.5rem;
}

.c-company-overview__info dl {
	display: flex;
	padding: 6rem 0;
	font-size: 1.6rem;
	letter-spacing: var(--text-letter-spacing-base);
	line-height: 1.8;
	border-bottom: 1px solid #dddddd;
}

.c-company-overview__info dl:first-child {
	border-top: 1px solid #dddddd;
}

.c-company-overview__info dl dt {
	display: flex;
	align-items: center;
	width: 32rem;
	padding-right: 3rem;
	font-weight: bold;
}

.c-company-overview__info dl dd {
	flex: 1;
}

.c-company-overview__list {
	display: flex;
	justify-content: space-between;
	margin-top: 8rem;
}

.c-company-overview__btn {
	width: 60rem;
	font-size: 2.2rem;
	font-weight: bold;
	line-height: 1.5;
	letter-spacing: var(--text-letter-spacing-base);
}

.c-company-overview__btn a {
	display: block;
	padding: 2.1rem 7rem;
	color: var(--color-primary);
	text-align: center;
	background: #f3f8fb;
	border: .2rem solid var(--color-primary);
	border-radius: 20rem;
	position: relative;
	z-index: 1;
}

.c-company-overview__btn a:before {
	content: "";
	display: block;
	width: 1.6rem;
	height: 1.4rem;
	background: url(assets/images/common/icon_blank_blue.svg) no-repeat center / contain;
	position: absolute;
	top: 50%;
	right: 3.3rem;
	z-index: 1;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
}

.c-company-overview__btn a .txt {
	display: inline-block;
	overflow: hidden;
	vertical-align: top;
	position: relative;
	z-index: 1;
}

.c-company-overview__btn a .txt:before {
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	background: var(--color-primary);
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 1;
	transform: scale(0, 1);
	transform-origin: right top;
	transition: transform 500ms cubic-bezier(0.165, 0.84, 0.44, 1);
}

.c-company-overview__btn a .txt:after {
	content: attr(data-replace);
	display: block;
	width: 100%;
	text-align: center;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	transform-origin: 50% 100%;
	transform: translate(0, 200%);
	-webkit-transition: all var(--transition-duration-base) cubic-bezier(0.165, 0.84, 0.44, 1);
	transition: all var(--transition-duration-base) cubic-bezier(0.165, 0.84, 0.44, 1);
}

.c-company-overview__btn a .txt__inner {
	display: block;
	-webkit-transition: all var(--transition-duration-base) cubic-bezier(0.165, 0.84, 0.44, 1);
	transition: all var(--transition-duration-base) cubic-bezier(0.165, 0.84, 0.44, 1);
}

@media (hover: hover) {

	.c-company-overview__btn a:hover .txt:before {
		transform-origin: left top;
		transform: scale(1, 1);
	}

	.c-company-overview__btn a:hover .txt__inner {
		-webkit-transform: translate(0, -200%);
		transform: translate(0, -200%);
	}

	.c-company-overview__btn a:hover .txt:after {
		transform: translate(0, 0);
	}
}

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

	.c-company-overview__btn:nth-child(even) {
		transition-delay: .4s !important;
	}
}

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

	.c-company-overview {
		margin-top: 8rem;
		padding: 0 var(--wrap-padding-sp-large);
	}

	.c-company-overview__inner {

	}

	.c-company-overview__info {
		margin-top: 6rem;
	}

	.c-company-overview__info dl {
		display: block;
		padding: 4rem 0;
		font-size: 2.8rem;
	}

	.c-company-overview__info dl dt {
		display: block;
		width: auto;
		padding-right: 0;
	}

	.c-company-overview__info dl dd {
		margin-top: 2rem;
	}

	.c-company-overview__list {
		display: block;
		margin-top: 6rem;
	}

	.c-company-overview__btn {
		width: auto;
		margin-top: 5rem;
		font-size: 3.2rem;
	}

	.c-company-overview__btn:first-child {
		margin-top: 0;
	}

	.c-company-overview__btn a {
		padding: 1.8rem 7rem;
		border: .3rem solid var(--color-primary);
	}

	.c-company-overview__btn a:before {
		width: 3.2rem;
		height: 2.8rem;
		right: 3.7rem;
	}
}


/**********************************

 c-404

***********************************/
.c-404 {

}

.c-404__inner {
	padding: 13rem 0 0;
}

.c-404__desc {

}

.c-404__btn {
	margin-top: 7.5rem;
	text-align: center;
}

.c-404__btn a.c-btn01 {
	transform: translateX(1.5rem);
	-webkit-transform: translateX(1.5rem);
}

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

	.c-404 {
		padding: 0 var(--wrap-padding-sp-large);
	}

	.c-404__inner {
		padding: 8rem 0 0;
	}

	.c-404__btn {
		margin-top: 7rem;
	}

	.c-404__btn a.c-btn01 {
		transform: translateX(2.25rem);
		-webkit-transform: translateX(2.25rem);
	}
}


/**********************************

 xxx

***********************************/

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

}


