/*!
 * scope-cms.css — CMS本文（post_content）専用スタイル
 *
 * ■ このファイルは「契約」です。改変・削除の前に必ず確認してください。
 *
 * WordPress の管理画面で編集される本文（post_content）に直接書かれた
 * class 属性は、このファイルの定義に依存しています。
 * ここを変更すると、記事本文の見た目が一斉に変わります。
 *
 * ■ サイトリニューアル時の扱い
 *   - style.css をはじめとする他のCSSは自由に作り替えて構いません
 *   - このファイルだけは「維持」または「同等の再実装」が必須です
 *   - どうしても変更する場合は、DB内の post_content 側も合わせて
 *     書き換える必要があります（対象 約1,350投稿）
 *
 * ■ 命名規則
 *   s- 接頭辞は Scope（特定の文脈に閉じたスタイル）を意味します。
 *   本文が使ってよいのは s- で始まるクラスだけです。
 *   テーマ内部の u- / m- / l- を本文から参照しないでください。
 *
 * ■ 適用範囲
 *   .entry-content.s-cms-content の内側
 */

.s-grid {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.s-grid-left {
	justify-content: flex-start;
}
@media screen and (min-width: 751px) {
	.s-grid-pc-col9 {
		flex-basis: calc(75% - var(--space-12));
	}
}
@media screen and (max-width: 751px) {
	.s-grid-sp-col12,
	.s-grid-btn-sp-col12 {
		flex-basis: 100%;
	}
}
@charset "UTF-8";




@media screen and (min-width: 751px) {
	.s-grid-pc-col2 {
		flex-basis: calc(16.66667% - var(--space-12));
	}
	.s-grid-pc-col3 {
		flex-basis: calc(25% - var(--space-12));
	}
	.s-grid-pc-col4 {
		flex-basis: calc(33.33333% - var(--space-12));
	}
	.s-grid-pc-col6 {
		flex-basis: calc(50% - var(--space-12));
	}
	.s-grid-pc-col8 {
		flex-basis: calc(66.66667% - var(--space-12));
	}
	.s-grid-pc-col10 {
		flex-basis: calc(83.33333% - var(--space-12));
	}
	.s-grid-pc-col12 {
		flex-basis: 100%;
	}
	.s-grid-btn-pc-col4 {
		flex-basis: calc(33.33333% - 21px);
	}
	.s-grid-btn-pc-col6 {
		flex-basis: calc(50% - 21px);
	}
	.s-grid-pc-center {
		justify-content: center;
	}
}
@media screen and (max-width: 751px) {
	.s-grid-sp-col4 {
		flex-basis: calc(33.33333% - var(--space-12));
	}
	.s-grid-sp-col5 {
		flex-basis: calc(41.66667% - var(--space-12));
	}
	.s-grid-sp-col9 {
		flex-basis: calc(75% - var(--space-12));
	}
	.s-grid-sp-col11 {
		flex-basis: calc(91.66667% - var(--space-12));
	}
	.s-grid-btn-sp-col4 {
		flex-basis: calc(33.33333% - var(--space-12));
	}
	.s-grid-sp-center {
		justify-content: center;
	}
}
.s-grid-center {
	justify-content: center;
}
.s-grid-vertical-middle {
	align-items: center;
}
.s-horizontal {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: flex-start;
}
.s-horizontal + .s-horizontal,
.s-horizontal-primary li + li {
	margin-top: var(--space-10);
}
.s-horizontal-primary > *:first-child {
	flex-basis: 15%;
}
.s-horizontal-primary > *:last-child {
	flex-basis: 85%;
}
@media screen and (min-width: 751px) {
	.s-horizontal-primary > *:first-child {
		flex-basis: 10%;
	}
	.s-horizontal-primary > *:last-child {
		flex-basis: 90%;
	}
}
.s-ul,
.s-ol {
	list-style: none;
}
.s-ol-fit {
	margin-left: calc(var(--space-24) * -1);
}
.s-ul-decimal > li,
.s-ol-decimal > li {
	margin-left: var(--space-24);
	list-style-type: decimal;
}
.s-ul-square > li,
.s-ol-square > li {
	margin-left: var(--space-24);
	list-style-type: square;
}
.s-ul-asta > li{
	position: relative;
	padding-left: var(--space-24);
}
.s-ul-asta > li::before{
	position: absolute;
	top: 0;
	left: 0;
	content: "※";
}
.s-ul > li + li,
.s-ol > li + li {
	margin-top: 6.4vw;
}
.s-dl > dt {
	margin-bottom: var(--space-16);
}
.s-dl > dd + dd {
	margin-top: var(--space-8);
}
@media screen and (min-width: 751px) {
	.s-ul > li + li,
	.s-ol > li + li {
		margin-top: var(--space-16);
	}
}
.s-link,
.entry-content a.s-link-none {
	text-decoration: none;
}
.s-link:hover,
.entry-content a.s-link-none:hover {
	text-decoration: underline;
	opacity: .6;
}
.s-link:hover i,
.s-link:hover i::before,
.s-link:hover i::after,
.entry-content a.s-link-none:hover i,
.entry-content a.s-link-none:hover i::before,
.entry-content a.s-link-none:hover i::after {
	text-decoration: none;
}
.s-link-underline {
	text-decoration: underline;
}
.s-link-underline:hover {
	text-decoration: none;
	opacity: .6;
}
.s-border {
	position: relative;
	border-color: var(--color-red);
	border-style: solid;
}
.s-border-top {
	border-top-width: var(--space-3);
}
.s-border-bottom {
	border-bottom-width: var(--space-3);
}
.s-border-fixed::after {
	position: absolute;
	bottom: 0;
	left: 50%;
	display: block;
	width: 48vw;
	content: "";
	border-bottom: calc(3px / 1.5) solid var(--color-red);
	transform: translate(-50%, 0);
}
@media screen and (min-width: 751px) {
	.s-border-fixed::after {
		width: 200px;
		border-bottom: calc(3px / 1.5) solid var(--color-red);
	}
}
.s-table {
	width: 100%;
	line-height: var(--leading-relaxed);
}
.s-table-main {
	border-spacing: 0;
	border-collapse: separate;
}
.s-table-main tr th {
	width: 20vw;
	padding: var(--space-16) 0 var(--space-16) var(--space-16);
	font-weight: bold;
	text-align: left;
	vertical-align: middle;
	background-color: #e7e7e7;
}
.s-table-main tr td {
	padding: var(--space-16);
	text-align: left;
	vertical-align: middle;
}
@media screen and (max-width: 751px) {
	.s-table-main tr th,
	.s-table-main tr td {
		display: inline-block;
		width: 100%;
	}
	.s-table-main tr th {
		border: var(--border-thin) dotted var(--color-gray-300);
		border-width: 1px 0 1px 0;
	}
}
@media screen and (min-width: 751px) {
	.s-table {
		line-height: 2;
	}
	.s-table-main tr th {
		width: 20%;
		padding: 36px 0 36px 36px;
		border-top: var(--border-thin) dotted var(--color-gray-300);
	}
	.s-table-main tr td {
		padding: 36px;
		border-top: var(--border-thin) dotted var(--color-gray-300);
	}
	.s-table-main tr:nth-child(2n) th {
		background-color: var(--color-gray-50);
	}
}
.s-display-block {
	display: block;
}
.s-text-font-bold {
	font-weight: bold;
}
.s-font-bold {
	font-weight: bold !important;
}
.s-toggle-btn {
	cursor: pointer;
}
.s-toggle-container {
	display: none;
}
@media screen and (max-width: 751px) {
	.s-display-none-sp {
		display: none !important;
	}
	.s-text-sp-center {
		text-align: center;
	}
}
@media screen and (min-width: 751px) {
	.s-text-pc-center {
		text-align: center;
	}
	.s-ol-fit {
		margin-left: -1.5rem;
	}
	.s-ol-decimal > li {
		margin-left: 1.5rem;
	}
	.s-ul-square > li {
		margin-left: 1.5rem;
	}
	.s-ol-square > li {
		margin-left: 1.5rem;
	}
	.s-ul-asta > li {
		padding-left: 1.5rem;
	}
	.s-dl > dt {
		margin-bottom: 1rem;
	}
	.s-dl > dd + dd {
		margin-top: 0.5rem;
	}
	.s-horizontal + .s-horizontal {
		margin-top: 10px;
	}
	.s-horizontal-primary li + li {
		margin-top: 10px;
	}
	.s-border-top {
		border-top-width: 3px;
	}
	.s-border-bottom {
		border-bottom-width: 3px;
	}
}
/*
 * 🚨 テンプレート側の箱（`m-box`）と本文側の箱（`s-box`）が隣り合う場所がある。
 *    トップページの「NEWS」（テンプレート）→「BUSINESS」（本文）がその例。
 *    `.m-box + .m-box` も `.s-box + .s-box` も一致しないため、
 *    **境目の1つだけ余白が消える**。両方の組み合わせを書いておく。
 *
 * ★あわせて `.s-box` の基本の指定も置く。`.m-box` にはあるが `s-` 側は
 *   PC用の中にしか無く、スマホでは効いていなかった。
 */
.s-box {
	width: 100%;
	margin-top: var(--space-32);
}

.s-box + .s-box,
.m-box + .s-box,
.s-box + .m-box {
	margin-top: 16vw;
}
.s-box-header,
.s-box-header-second {
	padding: 0 0 var(--space-12);
	text-align: center;
}
.s-box-body {
	line-height: var(--leading-normal);
}
.s-box-body + .s-box-body {
	margin-top: var(--space-16);
}
@media screen and (min-width: 751px) {
	.s-box {
		margin-top: var(--space-32);
	}
	.s-box + .s-box,
	.m-box + .s-box,
	.s-box + .m-box {
		margin-top: 120px;
	}
	.s-box-header {
		padding: 0 0 14px;
	}
	.s-box-header-second {
		padding: 0 0 7px;
	}
	.s-box-body {
		padding: 0;
	}
	.s-box-body + .s-box-body {
		padding: 0;
		margin-top: var(--space-32);
	}
}
.s-box-inner {
	padding: var(--space-16) 0 0;
}
.s-box-inner-half {
	padding: var(--space-8) 0 0;
}
.s-box-inner-double {
	padding: var(--space-16) 0 var(--space-16);
}
.s-box-inner-wide {
	padding: 8.53333vw 0 8.53333vw;
}
.s-box-inner-all_side {
	padding: var(--space-16);
}
.s-box-inner-welfare {
	padding: var(--space-8) 0 var(--space-8);
	border-bottom: solid var(--border-thin) var(--color-gray-100);
}
@media screen and (min-width: 751px) {
	.s-box-inner {
		padding: var(--space-32) 0 0;
	}
	.s-box-inner-half {
		padding: var(--space-16) 0 0;
	}
	.s-box-inner-double {
		padding: var(--space-32) 0 var(--space-32);
	}
	.s-box-inner-wide {
		padding: 64px 0 64px;
	}
	.s-box-inner-all_side {
		padding: var(--space-32);
	}
	.s-box-inner-welfare {
		padding: var(--space-16) 0 var(--space-16);
	}
}
.s-box-sdogs {
	width: 100%;
	margin-top: var(--space-32);
}
.s-box-header-sdogs {
	padding: 0 0 var(--space-12);
	text-align: left;
}
.s-box-inner-sdogs,
.s-box-inner-sdogs-text {
	padding: var(--space-16) 0 0;
}
.s-box-inner-sdogs-last {
	padding: var(--space-16) 0 12.8vw;
}
.s-box-inner-sdogs-text p {
	margin-bottom: var(--space-16);
}
@media screen and (min-width: 751px) {
	.s-box-sdogs {
		margin-top: 60px;
	}
	.s-box-header-sdogs {
		padding: 0 0 14px;
	}
	.s-box-inner-sdogs,
	.s-box-inner-sdogs-last {
		padding: var(--space-32) 0 0;
	}
	.s-box-inner-sdogs-text {
		padding: 0;
	}
	.s-box-inner-sdogs-text p {
		margin-bottom: var(--space-32);
	}
}
.s-card-white {
	background-color: var(--color-bg);
}
.s-card-gray-light {
	background-color: #f7f8f9;
}
.s-band-white {
	background-color: var(--color-white-a60);
}
.s-title-main {
	font-size: var(--font-26);
	font-weight: bold;
	line-height: 1em;
}
.s-title-main span {
	padding-top: var(--space-8);
	font-size: var(--font-16);
	font-weight: normal;
	line-height: .85em;
}
.s-title-secondary {
	font-size: var(--font-20);
	font-weight: bold;
}
.s-title-tertiary {
	font-size: var(--font-16);
	font-weight: bold;
}
.s-title-emphasis {
	font-size: var(--font-32);
	font-weight: bold;
	line-height: 1em;
	color: var(--color-red);
	text-shadow: .26667vw .26667vw .08vw var(--color-text);
}
@media screen and (min-width: 751px) {
	.s-title-main {
		font-size: var(--font-32);
	}
	.s-title-emphasis {
		text-shadow: .0625rem .0625rem .0625rem var(--color-text);
	}
	.s-title-main span {
		padding-top: 8px;
		font-size: 1rem;
	}
	.s-title-secondary {
		font-size: 1.25rem;
	}
	.s-title-tertiary {
		font-size: 1rem;
	}
}
.m-box-back .s-box-inner {
	padding-top: var(--space-8);
}
@media screen and (min-width: 751px) {
	.m-box-back .s-box-inner {
		padding-top: var(--space-32);
	}
}
/* 🚨 基本定義（スマホ幅）が抜けていた（2026-09-17 / task227）。
 *   PC幅（751px以上）の定義だけがあり、**スマホ幅でボタン上の余白が0**になっていた。
 *   そのため送信完了ページなどで、本文とボタンが詰まって見えていた。
 *   公開環境の `.m-btn-container` は基本定義とPC幅の2つを持つ（style.css）。同じ値に合わせる。
 *   ★`-fit` と `-fit-welfare` には基本定義があり、素の `.s-btn-container` だけが漏れていた。
 */
.s-btn-container {
	padding-top: 8px;
	margin-bottom: calc(8px * -1);
}

.s-btn-container-fit {
	padding-top: 0 !important;
	margin-bottom: calc(8px * -1);
}
.s-btn-container-fit-welfare {
	padding-top: 0 !important;
	margin-bottom: calc(4px * -1);
}
@media screen and (min-width: 751px) {
	.s-btn-container {
		padding-top: 42px;
		margin-bottom: calc(42px * -1);
	}
	.s-btn-container-fit {
		margin-bottom: calc(42px * -1);
	}
	.s-btn-container-fit-welfare {
		margin-bottom: calc(30px * -1);
	}
}
.s-btn-red {
	background-color: var(--color-red);
}
.s-btn-radius-m {
	border-radius: var(--space-5);
}
.s-btn-text-s,
.s-btn-text-graduates {
	font-size: var(--font-12);
	letter-spacing: .53333vw;
}
.s-btn-text-m {
	font-size: var(--font-16);
	letter-spacing: .53333vw;
}
.s-btn-text-l {
	font-size: var(--font-18);
	letter-spacing: .53333vw;
}
.s-btn-text-welfare {
	font-size: 2.13333vw;
	letter-spacing: .53333vw;
}
@media screen and (min-width: 751px) {
	.s-btn-text-s {
		font-size: var(--font-12);
	}
	.s-btn-text-m {
		font-size: var(--font-16);
	}
	.s-btn-text-l,
	.s-btn-text-welfare,
	.s-btn-text-graduates {
		font-size: var(--font-26);
	}
	.s-btn-text-s,
	.s-btn-text-m,
	.s-btn-text-l,
	.s-btn-text-welfare,
	.s-btn-text-graduates {
		letter-spacing: .2em;
	}
}
.s-btn-main {
	display: block;
	margin-bottom: 8px;
	font-weight: bold;
}
.s-btn-main:hover .s-btn-main-text {
	display: none;
}
.s-btn-main-text {
	padding: 1.33333vw 1.33333vw .8vw;
	font-size: var(--font-18);
	color: var(--color-text);
	letter-spacing: .53333vw;
}
.s-btn-primary {
	display: block;
	padding: var(--space-12) 0 var(--space-10);
	margin-bottom: 8px;
	color: var(--color-bg);
	text-align: center;
}
.s-btn-secondary {
	position: relative;
	display: block;
	padding: var(--space-12) var(--space-12) var(--space-10);
	margin-bottom: 8px;
	color: var(--color-bg);
	text-align: center;
}
.s-btn-tertiary {
	display: block;
	padding: var(--space-12) var(--space-24) var(--space-10) var(--space-12);
	margin-bottom: 8px;
	color: var(--color-bg);
	text-align: center;
}
.s-btn-submit {
	display: block;
	width: 37.33333vw;
	padding: var(--space-12) 0 var(--space-10);
	line-height: var(--leading-normal);
	color: var(--color-bg);
	text-align: center;
}
.s-btn-primary:hover,
.s-btn-secondary:hover,
.s-btn-tertiary:hover,
.m-btn-banner:hover,
.s-btn-submit:hover {
	opacity: .6;
}
@media screen and (min-width: 751px) {
	.s-btn-main {
		margin-top: 0;
		margin-bottom: 42px;
	}
	.s-btn-main-text {
		padding: 5px 5px 3px 10px;
		font-size: var(--font-20);
		letter-spacing: .2em;
	}
	.s-btn-primary {
		padding: var(--space-16) 0 14px;
		margin-bottom: 42px;
	}
	.s-btn-secondary {
		padding: var(--space-16) var(--space-16) var(--space-12);
		margin-bottom: 42px;
	}
	.s-btn-tertiary {
		padding: var(--space-16) var(--space-16) 14px;
		margin-bottom: 42px;
	}
	.s-btn-submit {
		width: 240px;
		padding: var(--space-16) 0 14px;
	}
}
.s-btn-icon {
	position: relative;
}
.s-btn-icon i {
	position: absolute;
	top: 40%;
	right: var(--space-6);
	display: inline-block;
	color: var(--color-bg);
}
@media screen and (min-width: 751px) {
	.s-btn-icon i {
		right: var(--space-12);
	}
}
.s-icon {
	position: relative;
}
.s-icon::before,
.s-icon::after {
	display: inline-block;
	font-style: normal;
	text-decoration: none;
}
.s-icon-triangle-right::after,
.m-icon-arrow-right::after,
.s-icon-toggle::after {
	height: 1em;
	vertical-align: -0.125em;
	content: "";
	background-color: currentColor;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
}
.s-icon-triangle-right::after {
	width: 0.375em;
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 192 512'%3E%3Cpath d='M0 384.662V127.338c0-17.818 21.543-26.741 34.142-14.142l128.662 128.662c7.81 7.81 7.81 20.474 0 28.284L34.142 398.804C21.543 411.404 0 402.48 0 384.662z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 192 512'%3E%3Cpath d='M0 384.662V127.338c0-17.818 21.543-26.741 34.142-14.142l128.662 128.662c7.81 7.81 7.81 20.474 0 28.284L34.142 398.804C21.543 411.404 0 402.48 0 384.662z'/%3E%3C/svg%3E");
}
.s-icon-toggle::after {
	position: absolute;
	top: 50%;
	right: 0;
	z-index: 10;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
}
.s-icon-toggle[data-toggle-state="open"]::after {
	width: 0.875em;
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M416 208H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h384c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M416 208H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h384c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z'/%3E%3C/svg%3E");
}
.s-icon-toggle[data-toggle-state="close"]::after {
	width: 0.875em;
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M416 208H272V64c0-17.67-14.33-32-32-32h-32c-17.67 0-32 14.33-32 32v144H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h144v144c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32V304h144c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M416 208H272V64c0-17.67-14.33-32-32-32h-32c-17.67 0-32 14.33-32 32v144H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h144v144c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32V304h144c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z'/%3E%3C/svg%3E");
}
.s-icon-triangle-right,
.m-icon-arrow-right {
	padding-right: var(--space-6);
}
.s-icon-sdgs {
	margin-bottom: 8px;
}
@media screen and (min-width: 751px) {
	.s-icon-sdgs {
		margin-top: 0;
		margin-bottom: var(--space-20);
	}
	.s-btn-radius-m {
		border-radius: 5px;
	}
}
.s-article-title {
	margin-bottom: var(--space-8);
	font-size: 4.53333vw;
	font-weight: bold;
}
@media screen and (min-width: 751px) {
	.s-article-title {
		margin-bottom: var(--space-16);
		font-size: var(--font-18);
	}
}
.s-crew-graduates-item {
	margin-top: 16px !important;
	margin-bottom: 0 !important;
	font-weight: bold;
}
.s-crew-graduates-sub-title-comp,
.m-crew-graduates-sub-title-engineer,
.m-crew-graduates-sub-title-design {
	padding-top: 7px;
	padding-left: 20px;
	margin: 10px 0;
	font-size: 14px !important;
	color: #fff;
	background-repeat: no-repeat;
	background-size: auto 27px;
}
.s-crew-graduates-sub-title-comp {
	background-image: url("../../img/cmn/s_parts_03.png");
}
@media screen and (min-width: 751px) {
	.s-crew-graduates-sub-title-comp,
	.m-crew-graduates-sub-title-engineer,
	.m-crew-graduates-sub-title-design {
		padding-top: 10px;
		padding-left: 30px;
		margin: 10px 0;
		font-size: 16px !important;
		background-size: 375px 34px;
	}
	.s-crew-graduates-sub-title-comp {
		background-image: url("../../img/cmn/s_parts_01.png");
	}
}
.s-privacy-detail-body-en {
	margin-bottom: 8.53333vw;
}
.s-privacy-address-en {
	margin-top: 8.53333vw;
	margin-bottom:8.53333vw;
}
@media screen and (min-width: 751px) {
	.s-privacy-detail-body-en {
		margin-bottom: 32px;
	}
	.s-privacy-address-en {
		margin-top: 32px;
		margin-bottom: 32px;
	}
}
.s-crew-graduates-sub-title {
	font-size: 4.8vw !important;
	font-weight: bold;
	margin-top: 60px !important;
}
.s-crew-story-public-date {
	margin-bottom: 10px;
}
.s-crew-story-sub-title-r02 {
	font-size: 4.8vw !important;
	font-weight: bold;
	margin-top: 60px !important;
}
.s-crew-story-no-figcaption {
	margin-bottom: 0;
}
@media screen and (min-width: 751px) {
	.s-crew-graduates-sub-title {
		font-size: 1.625rem !important;
		margin-top: 80px !important;
	}
	.s-crew-story-sub-title-r02 {
		font-size: 1.625rem !important;
		margin-top: 50px !important;
	}
	.s-crew-story-no-figcaption {
		margin-bottom: 0;
	}
}
.s-caption-item {
	width: 100%;
	vertical-align: top;
}
.s-caption-text {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
}
.s-logo-bunner {
	width: 90px;
	height: 30px;
}
.s-g_map {
	width: 100%;
	height: 90.4vw;
}
@media screen and (min-width: 751px) {
	.s-g_map {
		height: 400px;
	}
}
.s-form + .s-form {
	margin-top: var(--space-16);
}
.s-form-title {
	padding: var(--space-8) 0;
	font-size: var(--font-16);
}
.s-form-title *,
.s-form-body * {
	width: 100%;
}
.s-form input[type="text"],
.s-form input[type="email"],
.s-form input[type="tel"],
.s-form select {
	padding: var(--space-8);
	font-size: var(--font-16);
}
.s-form option {
	font-size: var(--font-16);
}
.s-form textarea {
	padding: var(--space-8);
	resize: vertical;
}
.s-form input[type="submit"] {
	cursor: pointer;
	border-style: none;
}
.s-form textarea:read-only {
	font-weight: bold;
	background-color: var(--color-bg);
	border: none;
}
@media screen and (min-width: 751px) {
	.s-form {
		display: flex;
		flex-wrap: nowrap;
	}
	.s-form + .s-form {
		margin-top: var(--space-32);
	}
	.s-form-title {
		flex-basis: 30%;
		padding: var(--space-8);
		font-size: var(--font-16);
	}
	.s-form-body {
		flex-basis: 70%;
	}
	.s-form input[type="text"],
	.s-form input[type="email"],
	.s-form input[type="tel"],
	.s-form select {
		padding: var(--space-8);
		font-size: var(--font-16);
	}
	.s-form option {
		font-size: var(--font-16);
	}
	.s-form textarea {
		padding: var(--space-8);
	}
}
.s-form-consent-text {
	height: 80vw;
	margin-top: var(--space-16);
	overflow: auto;
	border: var(--space-6) solid #eee;
}
.s-form-consent-check {
	padding: var(--space-20) 0;
	margin-top: var(--space-20);
	text-align: center;
	background-color: #f6f7f8;
}@media screen and (min-width: 751px) {
	.s-form-consent-text {
		height: 500px;
		margin-top: var(--space-32);
		border: 6px solid #eee;
	}
	.s-form-consent-check {
		padding: var(--space-20) 0;
		margin-top: var(--space-20);
	}
}
.s-form .wpcf7c-conf {
	font-weight: bold !important;
	background-color: var(--color-bg) !important;
	border: none !important;
	appearance: none !important;
}
.s-form .wpcf7c-conf::placeholder {
	color: transparent;
}
.s-privacy {
	padding: var(--space-16);
}
.s-privacy-title {
	margin-bottom: var(--space-24);
}
.s-privacy-list {
	margin-left: 1.5rem;
}
.s-privacy-item {
	margin-bottom: var(--space-24);
}
.s-privacy-item:last-child {
	margin-bottom: 0;
}
.s-privacy-detail-title {
	margin-bottom: var(--space-16);
}
.s-privacy-detail-nonum-title {
	margin-left: -1.5rem;
}
.s-privacy-detail-title-secondary {
	margin-bottom: var(--space-8);
}
.s-privacy-detail-body {
	margin-bottom: var(--space-32);
	margin-left: -1.5rem;
}
.s-privacy-detail p {
	margin-bottom: var(--space-8);
}
.s-privacy-signature {
	margin-top: var(--space-32);
	text-align: right;
}
.s-privacy-address {
	margin-top: var(--space-32);
}
.s-privacy-address-body > * {
	margin-bottom: var(--space-8);
}
.s-privacy-address-body > *:last-child {
	margin-bottom: 0;
}
.s-privacy-ol {
	margin-top: var(--space-16);
	list-style: none;
	counter-reset: num 0;
}
.s-privacy-ol li {
	position: relative;
	padding-left: 2rem;
	margin-top: var(--space-16);
}
.s-privacy-ol li::before {
	position: absolute;
	top: 0;
	left: 0;
	content: "(" counter(num) ")";
	counter-increment: num 1;
}
@media screen and (min-width: 751px) {
	.s-privacy {
		padding: 30px 40px;
	}
	.s-privacy-title,
	.s-privacy-item {
		margin-bottom: var(--space-32);
	}
	.s-privacy-detail-title {
		margin-bottom: var(--space-16);
	}
	.s-privacy-detail-title-secondary,
	.s-privacy-detail p,
	.s-privacy-address-body > * {
		margin-bottom: var(--space-8);
	}
	.s-privacy-detail-body {
		margin-bottom: var(--space-32);
	}
	.s-privacy-signature,
	.s-privacy-address {
		margin-top: var(--space-32);
	}
	.s-privacy-ol,
	.s-privacy-ol li {
		margin-top: var(--space-16);
	}
}
.s-form textarea:-moz-read-only {
	font-weight: bold;
	background-color: #fff;
	border: none;
}
.s-ul-disc{
	list-style-type: disc;
}
.s-ul-disc > li{
	margin-left: 6.4vw;
}
@media screen and (min-width: 751px) {
	.s-ul-disc > li{
		margin-left: 1.5rem;
	}
	.s-text-pc-left {
		text-align: left;
	}
	.s-text-pc-right {
		text-align: right;
	}
}
@media screen and (max-width: 751px) {
	.s-text-sp-right {
		text-align: right;
	}
}
.s-grid-col2 {
	-ms-flex-preferred-size: calc(16.66667% - 12px);
	flex-basis: calc(16.66667% - 12px);
}
.s-grid-col3 {
	-ms-flex-preferred-size: calc(25% - 12px);
	flex-basis: calc(25% - 12px);
}
.s-grid-col9 {
	-ms-flex-preferred-size: calc(75% - 12px);
	flex-basis: calc(75% - 12px);
}
.s-grid-col10 {
	-ms-flex-preferred-size: calc(83.33333% - 12px);
	flex-basis: calc(83.33333% - 12px);
}
@media screen and (min-width: 751px) {
	.s-grid-pc-col5 {
		-ms-flex-preferred-size: calc(41.66667% - 12px);
		flex-basis: calc(41.66667% - 12px);
	}
	.s-grid-pc-col7 {
		-ms-flex-preferred-size: calc(58.33333% - 12px);
		flex-basis: calc(58.33333% - 12px);
	}
}
@media screen and (max-width: 751px) {
	.s-grid-sp-left {
		-webkit-box-pack: start;
		-ms-flex-pack: start;
		justify-content: flex-start;
	}
	.s-grid-sp-col10 {
		-ms-flex-preferred-size: calc(83.33333% - 3.2vw);
		flex-basis: calc(83.33333% - 3.2vw);
	}
}
.s-border-mult-access-line {
	border-bottom: 1px dotted #ccc;
}
.s-caption {
	position: relative;
}
.s-img-news-movimg {
	position: relative;
}
.s-img-news-movimg video {
	width: 100%;
	height: 100%;
}
.s-img-news-seasonsgreetings {
	display: block;
	margin-left: auto;
	margin-right: auto;
}
@media screen and (min-width: 751px) {
	.s-img-news-seasonsgreetings {
		width: 50%;
		height: 50%;
	}
}
.s-img-news-seasonsgreetings_80 {
	display: block;
	margin-left: auto;
	margin-right: auto;
}
@media screen and (min-width: 751px) {
	.s-img-news-seasonsgreetings_80 {
		width: 80%;
		height: 80%;
	}
}
.s-crew-sub-title-first {
	margin-top: 0 !important;
	margin-bottom: 16px !important;
}
.s-crew-sub-title-second {
	margin-top: 48px !important;
	margin-bottom: 16px !important;
}
.s-crew-story-sub-title {
	font-size: 4.8vw !important;
	font-weight: bold;
	margin-top: 60px !important;
}
@media screen and (min-width: 751px) {
	.s-crew-story-sub-title {
		font-size: 1.625rem !important;
		margin-top: 80px !important;
	}
}
.s-crew-story-blockquote {
	padding-left: 11px;
	position: relative;
}
@media screen and (min-width: 751px) {
	.s-crew-story-blockquote {
		padding-left: 25px;
	}
}
.s-crew-story-blockquote::before {
	position: absolute;
	top: 5px;
	bottom: 7px;
	left: 0;
	border-left: 1px solid;
	content: "";
}
@media screen and (min-width: 751px) {
	.s-crew-story-blockquote::before {
		top: 7px;
		bottom: 9px;
	}
}
.s-crew-story-figure {
	margin-bottom: 60px;
}
@media screen and (min-width: 751px) {
	.s-crew-story-figure {
		margin-bottom: 80px;
	}
}
.s-crew-story-figcaption {
	font-size: 3.2vw;
	display: block;
	text-align: center;
}
@media screen and (min-width: 751px) {
	.s-crew-story-figcaption {
		font-size: .875rem;
	}
}
.s-crew-story-no-figcaption img.s-crew-story {
	margin-bottom: 0 !important;
}
@media screen and (min-width: 751px) {
	.s-crew-story-img-height {
		height: 509px;
		display: block;
		margin-right: auto !important;
		margin-left: auto !important;
	}
}
.s-privacy-address-title {
	padding-bottom: 2.13333vw;
	margin-bottom: 4.26667vw;
	border-bottom: 1px solid #808080;
}
@media screen and (min-width: 751px) {
	.s-privacy-address-title {
		padding-bottom: 8px;
		margin-top: 32px;
		margin-bottom: 16px;
	}
}
