@charset "UTF-8";
/*------------------------------
PC用レイアウト（768px以上スクリーン）
------------------------------*/

/*----------
共通設定(PC)
-----------*/

/* 初期スタイル調整 */
* {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

/* body全体の初期スタイル調整 */
body {
	font-size: 62.5%;
	line-height: 1.5;
	font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Arial, "メイリオ", Meiryo, sans-serif;
	color: #000;
	background-color: #fff;
	-webkit-text-size-adjust: 100%;
}

/*リンク文字の設定*/
a {
	text-decoration: underline;
}

a:link,
a:visited {
	color: #39f;
}

a:hover,
a:active {
	color: #f60;
}

p {
	margin: 0 !important;
	padding: 0 !important;
	font-feature-settings: "palt";
}

section {
	clear: both;
	/* 配置設定をクリアにしておくため（初期で設定している左右配置をクリアにする） */
	overflow: auto;
	/* 要素の内容が要素自体の領域を超えた場合「aute」 */
}

/* -------------------------------------
見出しタグ設定（PC)
--------------------------------------*/
h2 {
	margin: 0.5em 0 0.5em;
	font-size: 1.8em;
	font-weight: bold;
	text-align: center;
}

h3 {
	margin: 0 0 0.5em;
	padding: 0.3em 0.6em;
	font-size: 1.3em;
	font-weight: bold;
}

.GYM_mds_small {
	font-size: .8em;
}


/*カラムが狭くなってもテーブルタグがはみ出ないようにする*/
table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	table-layout: fixed;
	word-break: break-all;
	word-wrap: break-word;
}

/* <section> 間の隙間（margin）をなくすため */
h2,
p {
	margin-top: 0;
	margin-bottom: 0;
}


/* 自動カーニング */
.selector {
	font-feature-settings: "palt";
}


/*--------------------------------------------------------
全体レイアウト/背景設定（PC）
--------------------------------------------------------*/

/*全体エリア(全体背景の設定はここ)*/
.main {
	background-color: #f2f2f2;
}



/*記事(ボディ)エリアの行間*/
.atcl_inr p {
	line-height: 1.6em;
	margin-bottom: 1em;
}

/*記事(ボディ)エリアのフォントサイズ*/
.article {
	font-size: 1.7em;
}

/*カラム全体の幅を変更する*/
.header_inr,
.top_image_in {
	width: 1050px;
	margin: 0 auto
}

.atcl_inr {
	width: 950px;
	margin: 0 auto;
}

/*PC画面とスマホ画面の切り替え*/

.gamen_pc {
	display: block;
}

.gamen_rps {
	display: none;
}

/*--------------------------------------------------------
上部固定ヘッダー設定
--------------------------------------------------------*/

/* 上部固定ヘッダー全体 */
.header {
  background-color: #162d52;
  border-bottom: 1px solid #162d52; /* 色も指定しておく */
  /* overflow: auto;  ← 不要なので消す */
}

/* ヘッダー内部をカラム幅にする（flexレイアウト） */
.header_inr {
  max-width: 950px;
  margin: 0 auto;
  /* overflow: hidden; ← これも不要なので消す */
  
  display: flex;
  align-items: center;          /* ロゴと文字を縦中央揃え */
  justify-content: space-between; /* 左：ロゴ ／ 右：住所 */
}

/* ヘッダーロゴエリア */
.header_logo {
  /* float: left; ← 削除 */
  width: 15%;
  margin: 0.5em 0.8em 0.5em 0;
}

/* ヘッダー内の画像はエリア幅に合わせる */
.header_logo img {
  width: 100%;
  height: auto;
  display: block;
}

/* 住所テキストエリア */
.header_text {
  font-size: 1.4em;
  color: #fff;
  margin: 0;             
  text-align: left;       /* 右寄せ */
  line-height: 1.4;
}

/*--------------------------
ファーストビュー設定
-------------------------*/

.fv {
	position: relative;
	width: 100%;
	height: 80vh;
	/* ここは好みで 70vh とかでもOK */
	max-height: none;
	/* ← これを消す */
	overflow: hidden;
	max-height: 550px;
}

.fv_video {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}


/* FVの薄い白フィルター */
.fv::before {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(255, 255, 255, 0.3);
	z-index: 2;
}


/* ======== 1050pxの中央枠 ======== */
.top_image_in {
	width: 1050px;
	margin: 0 auto;
	position: relative;
	/* ← 基準にする */
	z-index: 3;
}

/* ======== テキスト画像を右下へ ======== */
.fv_content {
	position: absolute;
	left: 55%;
	bottom: 1%;
	/* これは下寄せしたい場合。中央寄せは後で説明 */
	transform: translateX(-50%) translateX(40%);
	z-index: 3;
	text-align: center;
}

/* テキスト画像のサイズ調整 */
.fv_content img {
	width: min(100%, 530px);
	/* 最大560px、枠内なら100% */
	height: auto;
	display: block;
}


/*--------------------------
CV設定
-------------------------*/
.cv_area {
	background: url(../images/haikei_SW_CV_area.png) center bottom no-repeat #fff;
	text-align: center;
	padding-bottom: 1.5em;
	background-size: cover;
}

.cv_area_inr,
.cv_area_inr02 {
	max-width: 860px;
	margin: 0 auto;
	border-radius: 12px;
	padding: 0em 1.5em 1em;
}

.cv_area_inr02 {
	margin-top: 0.5em;

}

.cv_mds {
	color: #333;
	font-weight: bold;
	font-size: 1.4em;
}

.cv_area_inr img {
	width: 100%;
}

.cv_area p {
	font-size: 1.3em;
}



/* --------------------------
フローチャートエリア設定
----------------------------*/

.sec_sw_flowchart {
	background-color: #fff;
	width: 100%;
	margin: 0 auto;
}

.sec_sw_flowchart img {
	width: 100%;
}

.sw_flowchar_inr {
	background: url(../images/haikei_silverwolf_flowchart.png) center top no-repeat #fff;
	height: auto;
	padding: 1em 0em 0em;
	background-size: cover;
	
}

.program_btn {
	display: inline-block;
	text-align: center;
	font-weight: bold;
	text-decoration: none;
	color: #333;
}

/* ボタン */
.program_btn {
	display: block;
	text-align: center;
	font-weight: bold;
	color: #333 !important;
	text-decoration: none;
	cursor: pointer;
}

.program_btn_inr {
	border: 2px solid #333;
	padding: 0.4em 1.5em;
	display: inline-block;
	transition: .3s;
}

/* ホバー：反転 */
.program_btn:hover .program_btn_inr {
	background-color: #333;
	color: #fff;
}

html {
	scroll-behavior: smooth;
}


/* --------------------------
ジム紹介エリア設定
----------------------------*/

.sec_SW_GYM {
	background: url(../images/haikei_silverwolf_trainers.png) center top no-repeat #fff;
	height: auto;
	background-size: cover;
	position: relative;
	overflow: hidden;
}

.text_decoration {
	position: relative;
	text-align: center;
}


.SW_GYMtrainers_cntnr {
	background-color: #fff;
	display: flex;
	max-width: 800px;
	border: 2px solid #10223e;
	margin: 0 auto;
	margin-top: 2em;
}

.GYM_reverse {
	flex-direction: row-reverse;
}

.GYMtrainers_text {
	padding: 0.8em 1.2em;
}

.SW_GYMtrainers_name {
	font-size: 1.3em;
	font-weight: bold;
	color: #10223e;
}

.GYMtrainers_text img {
	max-width: 500px;
}


.GYMtrainers_img img {
	height: 250px;
	margin-bottom: -30px;
	margin-right: -10px;
}

.GYM_reverse .GYMtrainers_img img {
	margin-left: -20px;
	margin-right: 0;

}

/* ===== トレーナー紹介（小） ===== */
.SW_GYMtrainers_area {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	/* 横4列 */
	gap: 8px;
	/* お好みで調整 */
	margin-top: 2em;
	justify-content: center;
}




.SW_GYMtrainers_small_cntnr {
	display: flex;
	flex-direction: column;
	max-width: 280px;
	align-items: center;
	margin: 0 auto;
}

.SW_GYMtrainers_small_cntnr img {
	width: 100%;
}

/* 初期状態は非表示 */
.trainer-text {
	display: none;
	font-size: 0.9em;
	line-height: 1.6;

}

/* ボタンを少し触りやすく */
.trainer-toggle-btn {
	cursor: pointer;
	text-align: center;
	margin: 10px 0;
}

/* 丸い下矢印設定ここから */
.circle_arrow {
	width: 36px;
	height: 36px;
	background-color: #10223e;
	/* 背景（指定色） */
	border-radius: 50%;
	cursor: pointer;

	display: flex;
	align-items: center;
	justify-content: center;

	position: relative;
}

/* ▼ 白い下矢印（CSSだけで描く） */
.circle_arrow::before {
	content: "";
	width: 12px;
	height: 12px;
	border-left: 3px solid #fff;
	border-bottom: 3px solid #fff;
	transform: rotate(-45deg);
	display: block;
}

/* 丸い下矢印設定ここまで */



.SW_GYM_h3 {
	position: relative;
	text-align: center;
	font-weight: bold;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	/* テキストと線の間 */
	font-size: 1.4em;
	/* 必要なら調整 */
	padding-top: 2em;
}

/* 左右の線 */
.SW_GYM_h3::before,
.SW_GYM_h3::after {
	content: "";
	flex: 1;
	/* 横線を左右均等に伸ばす */
	height: 2px;
	/* 線の太さ */
	background-color: #CE4256;
	/* 任意の色 */
}


.SW_GYM_cntnr {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	/* 横4つ */
	gap: 20px 4px;
	justify-content: space-around;
	padding-top: 0.5em;
	margin: 0 auto;
}

.GYM_fighter {
	display: flex;
	align-items: center;
	gap: 5px;
}

.ighter_name {
	font-size: 1.3em;
	font-weight: bold;
	border-bottom: 3px double #10223e;
}

.GYM_fighter img {
	width: 90px;
}

.fighter_sns {
	display: flex;
	gap: 30px;
	padding-top: 16px;
}

.fighter_sns img {
	width: 24px;
}


/* -------
文字背景設定
--------*/

.text_decoration p {
	position: absolute;
	top: 0.2em;
	/* ← 好きに調整 */
	left: 0;
	font-size: 3.5em;
	font-weight: 700;
	color: #a7a7a7;
	opacity: 0.3;
	/* 透明度 */
	z-index: 0;
	pointer-events: none;
	/* クリック邪魔しない */
}

/* 本文の文字は前面に */
.SW_GYM_text h2,
.SW_GYM_text p {
	position: relative;
	z-index: 2;
}

/* --------------------------
シェイプアップエリア設定
----------------------------*/
.sec_SW_ShapeUp {
	background-color: #ffd301;
	padding-bottom: 2em;
}

.SW_ShapeUp_mms {
	text-align: center;

}

.SW_ShapeUp_cntnr {
	display: flex;
	justify-content: center;
	padding-top: 1.5em;
	padding-bottom: 80px;
	gap: 50px;
}

.SW_ShapeUp_cntnr img {
	max-width: 300px;
}



/* --- 画像＋テキストのセット --- */
.SW_ShapeUp_cntnr_inr {
	position: relative;
	max-width: 300px;
	margin: 0 20px;
}

/* --- レーダーチャートエリア設定 --- */

.radar_chart_cntnr {
	background-color: #fff;
	max-width: 960px;
	border: 3px solid #ffd301;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 30px;
	margin: 0 auto;
	padding: 1.5em 1em;
	margin-top: 2em;
}

.radar_chart_cntnr img {
	max-width: 350px;
}

/* --------------------------
セクション装飾設定
----------------------------*/
.sec-wrap1 {
	background: #ffd301;
	box-sizing: border-box;
}

section#sec1 {
	padding: 15px 0px 100px;
	clip-path: polygon(0 0, 100% 0, 100% calc(100% - 8vw), 0 100%);
	background-color: #fff;
}

section#sec2 {
	background: #ffd301;
}

/* --------------------------
おすすめエリア設定
----------------------------*/
.sec_SW_osusume {
	background: url(../images/haikei_silverwolf_GYM.png) center no-repeat #fff;
	height: auto;
	background-size: cover;
	padding: 2em 0em;
}

/* 中身を2カラムに */
.SW_osusume_inr {
	margin: 0 auto;
	padding: 1.5em 0em;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 30px 40px;
}

/* 各項目のボックス */
.osusume_cntnr {
	background-color: #fff;
	position: relative;
	margin: 0;
	border: 3px solid #ffd301;
	padding: .6em 1em;
	text-align: center;
	font-weight: bold;
}

/* 外側：黄色の三角（枠） */
.osusume_cntnr::after {
	content: "";
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: -20px;
	border-width: 20px 22px 0 22px;
	border-style: solid;
	border-color: #ffd301 transparent transparent transparent;
}


/* --------------------------
理由エリア設定
----------------------------*/
.sec_sw_reason {
	background: url(../images/haikei_SW_reason.png) center top no-repeat #000;
	height: auto;
	padding: 2em 0em;
}

.SW_reason_title {
	text-align: center;
	padding: 1em 0em;
}

.SW_reason_title img {
	max-width: 440px;
}

.SW_reason_cntnr,
.SW_reason_cntnr02 {
	background-color: #ffd301;
	display: flex;
	margin: 0 auto;
	align-items: stretch;
	padding: 0;
	margin-top: 0.8em;
	margin-bottom: 1.4em;
}

.SW_reason_cntnr02 {
	flex-direction: row-reverse;
}

.reason_text {
	flex: 1 1 50%;
	padding: 0.3em 1em;

}

.reason_mds {
	display: flex;
	align-items: center;
}

.reason_mds h3 {
	margin-top: 0.6em;
	font-size: 1.2em;
}

.reason_mds img {
	width: 50px;
}

.reason_img {
	flex: 0 1 50%;
	margin: 0 auto;
}

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


/* --------------------------
トレーニング設定
----------------------------*/
.sec_SW_training {
	background: url(../images/haikei_SW_training.png) center top no-repeat #fff;
	height: auto;
	padding: 3em 0em;
	background-size: cover;
}

.SW_training_inr {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 40px 40px;
	/* 行間・列間の余白 */
	max-width: 900px;
	margin: 40px auto 0;
}

.SW_training_inr h3 {
	font-size: 1.2em;
}

/* -------
文字背景設定
--------*/
.text_decoration02 {
	position: relative;
	text-align: center;
}

.text_decoration02 p {
	position: absolute;
	top: -1em;
	/* ← 好きに調整 */
	left: 50%;
	transform: translateX(-50%);
	/* 完全中央揃え */
	font-size: 3.5em;
	font-weight: 700;
	color: #333;
	opacity: 0.2;
	/* 透明度 */
	z-index: 0;
	pointer-events: none;
	/* クリック邪魔しない */
}

/* ------- */
.SW_training_cntnr {
	background-color: #fff;
	text-align: center;
	padding: 1em 1em 1.5em;
	border-radius: 3px;
	box-shadow: 0 3px 12px rgba(0, 0, 0, 0.1);
	/* 理想型の雰囲気に合わせる */
}

.SW_training_cntnr img {
	max-width: 360px;
}

.suparuta_img {
	background-color: #fadb49;
	text-align: center;
	height: 100px;
	position: relative;
	overflow: visible;
}

.suparuta_img img {
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	height: auto;
}

/* --------------------------
お客様の声エリア設定
----------------------------*/

.sec_SW_voice {
	background-color: #fff;
	padding: 2em 0em;
}

.SW_voice_cntnr {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
}

.SW_voice_cntnr img {
	max-width: 450px;
}



/* --------
共通スライダー設定（既存）
----------*/
.slider_container {
	width: 100%;
	overflow: hidden;
	margin-bottom: 0.5em;
	padding-top: 2em;
}

.slider_track {
	display: flex;
	width: max-content;
	animation: scrollSlider 30s linear infinite;
	/* 速度はお好みで */
}

/* ロゴ用（既存のままでOKならいじらなくていい） */
.slider_container:not(.voice-slider) {
	height: 80px;
}

.slider_container:not(.voice-slider) .slider_track img {
	width: 300px;
	height: 100px;
	object-fit: contain;
	margin-top: 0.5em;
	margin-right: 2px;
}

/* ▼ お客様の声スライダー用（画像 400×280 想定） */
.slider_container.voice-slider {
	height: 240px;
	/* 画像の高さ＋余白に合わせて */
}

.slider_container.voice-slider .slider_track img {
	width: 300px;
	height: 200px;
	object-fit: cover;
	/* 必要なら contain に変更 */
	margin-right: 16px;
	/* 画像同士の間隔。0でもOK */
}

/* ▼ 無限スクロール用アニメーション */
@keyframes scrollSlider {
	0% {
		transform: translateX(0);
	}

	100% {
		transform: translateX(-50%);
		/* 2セット分並べているので -50% で
       ちょうど1セット分スクロール → 無限ループっぽく見える */
	}
}



/* --------------------------
料金エリア設定
----------------------------*/

.sec_SW_Price {
	background-color: #f9f6e8;
	overflow: hidden;
}

.SW_Price_inr {
	padding-top: 3em;
	text-align: center;
	margin: 0 auto;
}

.SW_Price_inr h2 {
	padding-bottom: 1em;
}


.SW_price_mds {
	display: inline-block;
	position: relative;
	background: #ffd301;
	color: #000;
	font-weight: bold;
	font-size: 1.4em;
	padding: 0.4em 1.6em;
	margin: 0 auto;
	margin-bottom: 0.5em;
	text-align: center;
	transform: skewX(-20deg);
}


/* テキストを元に戻す（平行四辺形にならないように） */
.SW_price_mds p {
	display: inline-block;
	transform: skewX(20deg);
}


/* -----------
料金表設定
------------*/
.SW_Price_inr {
	padding-top: 3em;
	text-align: center;
	margin: 0 auto;
}

.price_box {
	width: 100%;
	max-width: 620px;
	margin: 0 auto 2em;
	border: 2px solid #000;
	border-radius: 4px;
	overflow: hidden;
	background: #fff;
}

.price_row {
	display: flex;
	align-items: stretch;
}

.price_left {
	flex: 1;
	background-color: #08244b;
	color: #fff;
	text-align: center;
	align-items: center;
	font-weight: 700;
	font-size: 1.2em;
	padding: 0.6em;

}

.box_left {
	border-bottom: 1px solid #fff;

}


.price_right {
	flex: 1;
	background: #fff;
	color: #000;
	text-align: center;
	font-size: 1.3rem;
	font-weight: bold;
	padding: 0.6em;
	border-bottom: 1px solid #08244b;
}

.SW_price_servise_mds {
	background-color: #fff;
	display: inline-block;
	font-size: 1.3em;
	padding: 0.6em 1em;
}


.SW_price_program_cntnr {
	display: flex;
	gap: 20px;
	padding: 0.6em 0em 2em;
	justify-content: center;
	flex-wrap: wrap;
}

.SW_price_program_cntnr img {
	max-width: 400px;
}


.SW_price_service_cntnr {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
	max-width: 900px;
	margin: 0 auto;
	padding: 1.5em .6em;
}

.SW_price_service_cntnr img {
	width: 100%;
	height: auto;
	display: block;
}

/* --------------------------
流れエリア設定
----------------------------*/
/* ---- セクション全体 ---- */
.sec_SW_nagare {
	background: url(../images/haikei_silverwolf_GYM.png) center no-repeat #fff;
	background-size: cover;
	padding: 2em 0;
	text-align: center;
}

/* ---- 上部見出し（黄色枠） ---- */
.sec_SW_nagare h2 {
	background-color: #fff;
	display: inline-block;
	padding: 0.3em 0.6em;
	border: 3px solid #ffd301;
	margin-bottom: 1.5em;
}

/* ---- 白いボックス（画像＋テキスト） ---- */
.Sw_nogare_cntnr {
	background-color: #fff;
	display: flex;
	flex-direction: row-reverse;
	justify-content: flex-end;
	align-items: center;
	gap: 20px;
	max-width: 800px;
	margin: 0 auto 1.5em;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
}

/* ---- テキスト側 ---- */
.gagare_text {
	padding: 1em 0;
	text-align: left;
	padding-right: 1em;
}

/* ---- Step01＋見出し（横並び） ---- */
.nagare_mds {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	margin-bottom: 0.2em;
}

.nagare_mds h3 {
	margin: 0;
}

/* ---- Step01ラベル ---- */
.SW_nagare_mds_nnvr {
	display: inline-block;
	background: #ffd301;
	color: #000;
	font-weight: bold;
	padding: 0.4em 1em;
	margin: 0 0.8em 0em 0;
	text-align: center;
	transform: skewX(-15deg);
}

.SW_nagare_mds_nnvr p {
	display: inline-block;
	transform: skewX(15deg);
}

/* ---- 画像側 ---- */
.nagare_img img {
	width: 260px;
	height: 100%;
	display: block;
}

/* --------------------------
Q&Aエリア設定
----------------------------*/

.SEC_SW_qa {
	background-color: #fff;
}

.SW_qa_inr {
	padding: 3em 0em 2em;
}







/*------------
よくある質問(アコーディオンver.)
-------------*/
.faq {
	max-width: 800px;
	margin: 0 auto;
	padding: 1.5em 0em 2em;
}

.faq dl,
.faq dt,
.faq dd {
	margin: 0;
	padding: 0;
}

.faq dl+dl {
	margin-top: 1rem;
}

.faq dt,
.faq dd {
	padding: 10px;
}

.faq dl {
	position: relative;
	overflow: hidden;
}

.faq dl>input {
	display: none;
}

.faq dt {
	position: relative;
	z-index: 1;
	padding-right: 40px;
	padding-left: 2.5em;
	cursor: pointer;
	background: #152d52;
	transition: .4;
	color: #fff;
	font-weight: bold;
}

.faq dd {
	position: absolute;
	visibility: hidden;
	transform: translateY(-100%);
	transition: .4s;
	background: #f0f8ff;
	border-top: none;
	padding-left: 2.5em;

}

.faq dl>input:checked+label+dd {
	position: relative;
	visibility: visible;
	transform: translateY(0);
}

.faq dt::before {
	content: '';
	position: absolute;
	width: 20px;
	height: 3px;
	top: 50%;
	right: 10px;
	background: #fff;
	transform: translateY(-50%);
}

.faq dt::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 10px;
	width: 20px;
	height: 3px;
	background: #fff;
	transition: .4s;
	transform: translateY(-50%) rotate(90deg);
}

.faq dl>input:checked+label>dt::after {
	transform: translateY(-50%) rotate(180deg);
}

.faq dt span,
.faq dd span {
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	top: 50%;
	left: .5em;
	width: 1.5em;
	height: 1.5em;
	transform: translateY(-50%);
}

.faq dd span {
	top: 10px;
	transform: translateY(0);
	color: #e60000;
}

/* --------------------------
アクセスエリア設定
----------------------------*/

/* セクション全体（濃紺背景） */
.sec_SW_address {
	background: #08244b;
	padding: 3em 0;
}

/* 白いカード部分 */
.SW_address_inr {
	max-width: 1000px;
	margin: 0 auto;
	background: #fff;
	padding: 2em 2.5em;
	margin-top: 1.5em;
}

.SW_address_cntnr {
	display: flex;
	gap: 2em;
	align-items: flex-start;
}

/* 左：Googleマップ */
.SW_address_map {
	flex: 0 0 48%;
}

.SW_address_map iframe {
	width: 100%;
	height: 260px;
	/* 好みで調整 */
	border: 0;
	display: block;
}

/* 右：住所テキスト */
.SW_address_text {
	flex: 1;
	font-size: 0.95rem;
	line-height: 1.8;
}

/* もし「アクセス」の見出しがあるならこんな感じ */
.sec_SW_address h2 {
	color: #000;
	text-align: center;
	margin-bottom: 1em;
	font-size: 1.6rem;
	font-weight: 700;
}



/* コンテナ */
.SW_address_text {
	flex: 1;
	color: #333;
	/* ←背景が濃紺の場合 */
	font-size: 0.95rem;
	line-height: 1.8;
}

/* 各行のレイアウト */
.address_row {
	display: flex;
	gap: .5em;
	padding: 1em 0;
	border-bottom: 1px solid #333;
	/* ←区切り線 */
}

/* 左側の項目 */
.address_label {
	flex: 0 0 70px;
	/* 幅を固定するときれいになる */
	font-weight: 600;
}

/* 右側の内容 */
.address_content {
	flex: 1;
	line-height: 1.7;
}

/*---------
フッター部分
-------*/

.footer {
	background: #162D52;
	padding: 2em 0 3.5em;
	text-align: center;
	font-size: 1.4em;
	color: #fff;
}

.footer a {
	color: #fff;
}

/*スマホ用下部固定メニュー*/
.fix_menu_smartphone {
	display: none;
}


/*スマホ用下部固定メニュー*/

.fix_menu_smartphone {
	display: block;
	width: 100%;
	position: fixed;
	bottom: 0px;
	left: 77%;
	z-index: 10000;
	max-width: 1140px;
}

.fix_menu_smartphone_inr img {
	width: 20%;
}

.fix_menu_smartphone_inr {
	max-width: 1140px;
	margin: 0 auto;
	padding: 0em 2.5em 1.5em;
	margin-top: 0em;
}

/* 共通どこでもいいので追加 */
.is-hidden {
	display: none !important;
}