@charset "utf-8";




/*リセットCSS（sanitize.css）の読み込み
---------------------------------------------------------------------------*/
@import url("https://unpkg.com/sanitize.css");

/*slick.cssの読み込み
---------------------------------------------------------------------------*/
@import url("https://cdn.jsdelivr.net/npm/slick-carousel@1.8.1/slick/slick.css");

/*Font Awesomeの読み込み
---------------------------------------------------------------------------*/
@import url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css");

/*Google Fontsの読み込み
---------------------------------------------------------------------------*/
@import url('https://fonts.googleapis.com/css2?family=BIZ+UDPGothic&display=swap');

/*テンプレート専用cssファイルの読み込み
---------------------------------------------------------------------------*/
@import url("animation.css");
@import url("inview.css");





/*全体の設定
---------------------------------------------------------------------------*/
html,body {
	margin: 0;padding: 0;
	height: 100%;
	font-size: 13px;	/*基準となるフォントサイズ。下の方にある「画面幅900px以上」で基準を大きなサイズに再設定しています。*/
}

body {
	font-family: 'BIZ UDPGothic', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;	/*フォント種類*/
	-webkit-text-size-adjust: none;
	background: #fff;	/*背景色*/
	color: #555;		/*全体の文字色*/
	line-height: 2;		/*行間*/
	overflow-x: hidden;
}

/*リセット*/
figure {margin: 0;}
dd {margin: 0;}
nav {margin: 0;padding: 0;}

/*table全般の設定*/
table {border-collapse:collapse;}

/*画像全般の設定*/
img {border: none;max-width: 100%;height: auto;vertical-align: middle;}

/*videoタグ*/
video {max-width: 100%;}

/*iframeタグ*/
iframe {width: 100%;}

/*ul,olタグ*/
ul, ol {margin-bottom: 30px;}


/*リンクテキスト全般の設定
---------------------------------------------------------------------------*/
a {
	color: #57524b;	/*文字色*/
	transition: 0.3s;
}

a:hover {
	opacity: 0.8;	/*マウスオン時に80%の透明度にする*/
}


/*sectionタグと、詳細ページの共通設定
---------------------------------------------------------------------------*/
section,
main > article {
	margin: 0 auto;
	max-width: 1300px;	/*最大幅。これ以上広がらない。*/
	padding: 2% 5%;		/*ボックス内の余白*/
}


/*containerブロック
---------------------------------------------------------------------------*/
#container {
	height: 100%;
	display: flex;					/*flexボックスを使う指定*/
	flex-direction: column;			/*子要素を縦並びにする*/
	justify-content: space-between;	/*並びかたの種類の指定*/
}


/*header（ロゴなどが入った最上段のブロック）
---------------------------------------------------------------------------*/
/*ヘッダーブロック*/
header {
	display: flex;				/*flexボックスを使う指定*/
	align-items: center;		/*垂直揃えの指定。上下中央に配置されるように。*/
	justify-content: flex-end;	/*並びかたの種類の指定*/
	background: #111;			/*背景色*/
	color: #fff;				/*文字色*/
	position: relative; z-index: 1;
}

/*ヘッダーのリンクテキストの文字色*/
header a {
	color: #fff;
}

/*ロゴ画像*/
header #logo img {
	display: block;
}

header #logo {
	margin: 0;
	background: transparent;   /* 背景を透明に */
	width: 220px;              /* ロゴサイズ */
	padding: 0;                /* 余白なし */
	position: absolute;
	left: 3%;
	top: 95px;                 /* 今いい感じの位置ならそのまま */
	box-shadow: none;          /* 影を消す */
}


/*menubarブロック初期設定
---------------------------------------------------------------------------*/
#menubar ul {list-style: none;margin: 0;padding: 0;}

/*メニューを非表示にしておく*/
#menubar {display: none;}

/*開閉用のスタイル*/
#menubar.db {display: block;}
#menubar.dn {display: none;}

/*メニュー１個あたりの設定*/
#menubar a {
	display: block;text-decoration: none;
	text-align: center;		/*テキストを中央に*/
	letter-spacing: 0.1em;	/*文字間隔を少しだけ広くする指定*/
}


/*小さな端末時にアイコン類だけ横並びにする
---------------------------------------------------------------------------*/
.s #menubar.db li.inline,
.s #menubar.db li.inline a {
	display: inline-block;
}


/*小さな端末用の開閉ブロック設定
---------------------------------------------------------------------------*/
/*メニューブロック設定*/
.s #menubar.db {
	position: fixed;overflow: auto;z-index: 100;
	left: 0px;top: 0px;
	width: 100%;
	height: 100%;
	padding: 70px 0;	/*上下、左右へのブロック内の余白*/
	background: rgba(0,0,0,0.9);		/*背景色。0,0,0は黒の事で0.9は色が90%出た状態の事。*/
	color: #fff;						/*文字色*/
	animation: animation1 0.2s both;	/*animation.cssの、animation1を実行する。0.2sは0.2秒の事。*/
	text-align: center;
}

/*メニュー１個あたりの設定*/
.s #menubar.db a {
	color: #fff;	/*文字色*/
	padding: 20px;	/*メニュー内の余白*/
}


/*ドロップダウンメニュー
---------------------------------------------------------------------------*/
/*ドロップダウンを非表示にしておく*/
#menubar .ddmenu_parent ul {
	display: none;
}

/*ドロップダウンメニューを持つ親に矢印アイコンをつける設定*/
a.ddmenu::before {
	font-family: "Font Awesome 5 Free";	/*Font Awesomeを使う指定*/
	content: "\f103";		/*使いたいアイコン名をここで指定。Font Awesomeに記載されています。詳しくは当テンプレートのマニュアルを読んで下さい。*/
	font-weight: bold;		/*この手の設定がないとアイコンが出ない場合があります*/
	margin-right: 0.5em;	/*アイコンとテキストとの間に空けるスペース*/
}

/*ドロップダウンを持つ親のマウスオン時にリンク用のカーソルでなくデフォルトの矢印を出す*/
a.ddmenu {
	cursor: default;
}

/*ドロップダウンメニュー１個あたりの設定*/
.ddmenu_parent ul a {
	background: rgba(0,0,0,0.8);	/*背景色。0,0,0は黒の事で0.8は色が80%出た状態の事。*/
}


/*３本バー（ハンバーガー）アイコン設定
---------------------------------------------------------------------------*/
/*開閉用のスタイル*/
#menubar_hdr.db {display: flex;}
#menubar_hdr.dn {display: none;}

/*３本バーを囲むブロック*/
#menubar_hdr {
	position: fixed;z-index: 101;
	cursor: pointer;
	right: 3%;			/*左からの配置場所指定*/
	top: 0px;			/*上からの配置場所指定*/
	padding: 16px 14px;	/*上下、左右への余白*/
	width: 52px;		/*幅（３本バーが出ている場合の幅になります）*/
	height: 52px;		/*高さ*/
	display: flex;					/*flexボックスを使う指定*/
	flex-direction: column;			/*子要素（３本バー）を縦並びにする*/
	justify-content: space-between;	/*並びかたの種類の指定*/
	order: 0;						/*表示させる順番。「#menubar_hdr」「#logo」「#header-icon」それぞれに指定しており、数字の「小さな順」に左から並びます。*/
	background: rgba(0,0,0,0.5);	/*背景色*/
}

/*バー１本あたりの設定*/
#menubar_hdr span {
	display: blockme;
	transition: 0.3s;	/*アニメーションにかける時間。0.3秒。*/
	border-top: 2px solid #fff;	/*線の幅、線種、色*/
}

/*×印が出ている状態の設定。※１本目および２本目のバーの共通設定。*/
#menubar_hdr.ham span:nth-of-type(1),
#menubar_hdr.ham span:nth-of-type(3) {
	transform-origin: center center;	/*変形の起点。センターに。*/
	width: 26px;						/*バーの幅*/
}

/*×印が出ている状態の設定。※１本目のバー。*/
#menubar_hdr.ham span:nth-of-type(1){
	transform: rotate(45deg) translate(6px, 7px);	/*回転45°と、X軸Y軸への移動距離の指定*/
}

/*×印が出ている状態の設定。※３本目のバー。*/
#menubar_hdr.ham span:nth-of-type(3){
	transform: rotate(-45deg) translate(6px, -7px);	/*回転-45°と、X軸Y軸への移動距離の指定*/
}

/*×印が出ている状態の設定。※２本目のバー。*/
#menubar_hdr.ham span:nth-of-type(2){
	display: none;	/*２本目は使わないので非表示にする*/
}


/*mainブロック設定
---------------------------------------------------------------------------*/
/*mainブロックの設定*/
main {	
	flex: 1;
}

/*トップページ以外のページのmain上部に余白をとる*/
body:not(.home) main {
	padding-top: 80px;
}

/*mainブロック内のh2タグ*/
main h2 {
	margin-bottom: 30px;	/*下に空けるスペース*/
	position: relative;		/*アニメーションに必要な設定*/
	letter-spacing: 0.1em;	/*文字間隔を少しだけ広くとる設定*/
	border-bottom: 3px solid #f5f5f5;	/*デフォルトのラインの色。下の「bottom」と「height」の３ヶ所の数字部分を合わせる*/
}

/*下線スタイル*/
main h2 .uline {
	display: inline-block;position: relative;
	padding: 10px 20px;	/*h2タグ内の余白。上下、左右への順番。*/
	bottom: -3px;		/*上の「border-bottom」と下の「height」の３ヶ所の数字部分を合わせる。※この行だけマイナスをつけるように。*/
}
main h2 .uline::before {
	content: "";position: absolute;bottom: 0px;left: 0px;width: 100%;
	height: 3px;	/*ラインの高さ。上の「border-bottom」と「bottom」の３ヶ所の数字部分を合わせる*/
	background: #a29276;		/*アニメーション時のラインの色*/
	transition: 1s 0.5s;		/*1sはアニメーションの実行時間は1秒。0.5秒遅れてスタートする指定。*/
	transform: scaleX(0);		/*幅。最初は0にして見えなくしておく。*/
	transform-origin: left top;	/*線の出現起点が左からになるように。中央からの出現がよければこの１行削除。*/
}
main h2.linestyle .uline::before {
	transform: scaleX(1);
}

/*mainブロック内のh3タグ*/
main h3 {
	margin-bottom: 20px;	/*下に空けるスペース*/
}

/*mainブロックのh3タグの冒頭の装飾設定*/
main h3::before {
	display: inline-block;
	content: "■";			/*この記号を表示させる*/
	transform: scale(0.5);	/*実寸の50%に縮小する指定*/
	padding-right: 10px;	/*記号とテキストとの間にとる余白*/
	margin-left: -0.4em;	/*少しだけ左側に移動する*/
}

/*mainブロックのpタグ*/
main p {
	margin: 0 20px 30px;	/*上、左右、下へ空けるスペース*/
}


/*フッター設定
---------------------------------------------------------------------------*/
footer small {font-size: 100%;}

footer {
	font-size: 0.7rem;		/*文字サイズ*/
	text-align: center;		/*内容をセンタリング*/
	padding: 20px;			/*ボックス内の余白*/
	background: #111;		/*背景色*/
	color: #fff;			/*文字色*/
}

/*リンクテキスト*/
footer a {text-decoration: none;color: #fff;}

/*著作部分*/
footer .pr {display: block;}


/*フッターメニュー
---------------------------------------------------------------------------*/
/*メニューブロック全体*/
#footermenu {
	margin: 0;padding: 0;
	margin-bottom: 15px;	/*下に空けるスペース*/
}

/*メニュー１個あたり*/
#footermenu li {
	display: inline-block;	/*横並びにする*/
	padding: 0 10px;		/*上下、左右への余白*/
	font-size: 1.2em;
}


/*スライドショー（slickを使用）
---------------------------------------------------------------------------*/
.mainimg {
	position: relative;
}

/*丸いページナビボタン全体を囲むブロック*/
ul.slick-dots {
	margin:0;padding: 0;
	line-height: 1;
	width: 100%;
	text-align: center;
	position: absolute;
	bottom: 10px;	/*下からの配置場所指定*/
}

/*丸いページナビボタン１個あたりの設定*/
ul.slick-dots li {
	display: inline-block;
	margin: 0 10px;
	cursor: pointer;
}

/*buttonタグ*/
ul.slick-dots li button {
	border: none;padding: 0;
	display: block;
	text-indent: -9999px;	/*デフォルトで文字が出るので画面の外に追い出す指定*/
	width: 12px;			/*ボタンの幅*/
	height: 12px;			/*ボタンの高さ*/
	border-radius: 50%;		/*丸くする指定*/
	cursor: pointer;		/*クリックで画像へジャンプするので、わかりやすいようhover時にpointerになるように。*/
	background: #fff;		/*背景色。白。*/	
}

/*buttonのアクティブ時（現在表示されている画像を示すボタン）*/
ul.slick-dots li.slick-active button {
	background: #a29276;	/*色*/
}


/*「お知らせ」ブロック
---------------------------------------------------------------------------*/
/*お知らせブロック*/
#new {
	margin: 0;
	display: flex;		/*flexボックスを使う指定*/
	flex-wrap: wrap;	/*折り返す指定*/
	padding: 0 20px;	/*上下、左右へのボックス内の余白*/
}

/*日付(dt)、記事(dd)共通設定*/
#new dt,
#new dd {
	padding: 5px 0;		/*上下、左右へのボックス内の余白*/
}

/*日付(dt)設定*/
#new dt {
	width: 8em;	/*幅。8文字(em)分。※下の「900px以上」の端末用の設定に再設定があります。*/
}

/*日付の横のマーク（共通設定）*/
#new dt span {
	display: none;	/*小さな端末では非表示にしておく。*/
}

/*記事(dd)設定*/
#new dd {
	width: calc(100% - 8em);	/*「8em」は上の「#new dt」のwidthの値です。※下の「900px以上」の端末用の設定に再設定があります。*/
}


/*listブロック
---------------------------------------------------------------------------*/
.list {
	margin-bottom: 30px;	/*ボックス同士の上下間に空けるスペース*/
	padding: 20px;			/*ボックス内の余白*/
	background: #fff;		/*背景色*/
	color: #999;			/*文字色*/
	box-shadow: 5px 5px 20px rgba(0,0,0,0.1);	/*ボックスの影。右へ、下へ、ぼかし幅、0,0,0は黒の事で0.1は色が10%出た状態。*/
	position: relative;
}

/*ボックス内のh4タグ*/
.list h4 {
	margin: 0;
	color: #666;	/*文字色*/
}
.list h4 a {
	color: #666;	/*リンクテキストの文字色*/
}

/*ボックス内のpタグ*/
.list p {
	margin: 0;
	font-size: 0.8em;	/*文字サイズを80%に*/
}

/*list内のNEWマーク*/
.list .new {
	font-size: 0.6em;		/*文字サイズ*/
	background: #ff0000;	/*背景色*/
	color: #fff;			/*文字色*/
	width: 50px;			/*幅*/
	line-height: 50px;		/*高さ*/
	border-radius: 50%;		/*角丸のサイズ。円形になります。*/
	text-align: center;		/*テキストをセンタリング*/
	position: absolute;
	left: -10px;			/*listブロックに対して左からの配置場所の指定*/
	top: -10px;				/*listブロックに対して上からの配置場所の指定*/
	transform: rotate(-30deg);	/*回転。まっすぐ表示させたいならこの１行を削除。*/
}

/*list内でのbtn*/
.list .btn {
	margin-top: 1em;	/*ボタンの上に１文字分のスペースを空ける*/
}
.list .btn a {
	display: block;
}


/*FAQ
---------------------------------------------------------------------------*/
/*FAQボックス全体*/
.faq {
	padding: 0 5px;	/*上下、左右へのボックス内の余白*/
}

/*質問*/
.faq dt {
	border-radius: 3px;		/*枠を角丸にする指定*/
	margin-bottom: 20px;	/*下に空けるスペース*/
	background: linear-gradient(#fff, #f7f7f7);	/*背景グラデーション*/
	text-indent: -2em;				/*テキストのインデント。質問が複数行になった際に、テキストの冒頭を揃える為に設定しています。*/
	padding: 5px 1em 5px 3em;		/*ボックス内の余白。ここを変更する場合、上のtext-indentも調整します。*/
	border: 1px solid #e4e2d7;		/*枠線の幅、線種、色*/
}

/*アイコン（Font Awesome）*/
.faq dt::before {
	font-family: "Font Awesome 5 Free";	/*Font Awesomeを使う指定*/
	content: "\f059";		/*使いたいアイコン名をここで指定。Font Awesomeに記載されています。詳しくは当テンプレートのマニュアルを読んで下さい。*/
	color: #635741;			/*アイコンの色*/
	padding-right: 1em;		/*アイコンとテキストの間の余白*/
}

/*回答*/
.faq dd {
	padding: 5px 1em 30px 3em;		/*ボックス内の余白**/
}

/*opencloseを適用した要素のカーソル*/
.openclose {
	cursor: pointer;	/*カーソルの形状。リンクと同じスタイルにしてクリックできると認識してもらう。*/
}

.faq dt span {text-indent: 0;}


/*btnの設定
---------------------------------------------------------------------------*/
p.btn {margin: 0;}

/*ボタンを囲むブロック*/
.btn {
	text-align: center;	/*内容をセンタリング*/
}

/*ボタン*/
.btn a,
.btn input {
	display: inline-block;text-decoration: none;border: none;
	font-size: 1em;
	box-shadow: 2px 2px 5px rgba(0,0,0,0.2);	/*ボックスの影。右へ、下へ、ぼかし幅の順。0,0,0は黒の事で0.2は色が20%出た状態。*/
	background: linear-gradient(150deg, #a29276, #635741);/*背景グラデーション。#logoと合わせています。*/
	letter-spacing: 0.1em;	/*文字間隔を少し広くする指定*/
	color: #fff;			/*文字色*/
	transition: 0.3s;		/*hoverまでにかける時間。0.3秒。*/
	padding: 1em 2em;		/*余白*/
	margin: 0 auto 30px;	/*ボタンの外側に空けるスペース。上、左右、下への順番。*/
}

/*ボタンのマウスオン時*/
.btn a:hover,
.btn input:hover {
	cursor: pointer;		/*inputタグを使う場合に「手」のマークになるように。リンクと同じ表示になるようにという事です。*/
	opacity: 0.8;			/*冒頭のリンクテキストのhoverと合わせました*/
	transform: scale(1.02);	/*実寸の102%に拡大*/
}

/*listブロック内のボタン*/
.list .btn a {
	margin: 0;
}


/*テーブル
---------------------------------------------------------------------------*/
/*テーブル１行目に入った見出し部分（※caption）*/
.ta1 caption {
	font-weight: bold;		/*太字に*/
	padding: 10px 5px;		/*上下、左右へのボックス内の余白。基本的に数行下の「.ta1 th, .ta1 td」のpaddingと揃えておけばOKです。*/
	background: #eee;		/*背景色*/
	margin-bottom: 15px;	/*下に空けるスペース*/
}

/*ta1テーブルブロック設定*/
.ta1 {
	border-top: 1px solid #ccc;	/*テーブルの一番上の線。幅、線種、色*/
	width: 100%;
	margin: 0 auto 30px;		/*最後の「30px」がテーブルの下に空けるスペースです*/
}

/*tr（１行分）タグ設定*/
.ta1 tr {
	border-bottom: 1px solid #ccc;	/*テーブルの下線。幅、線種、色*/
}

/*th（左側）、td（右側）の共通設定*/
.ta1 th, .ta1 td {
	padding: 10px 5px;		/*上下、左右へのボックス内の余白*。基本的に数行上の「.ta1 caption」のpaddingと揃えておけばOKです。*/
	word-break: break-all;	/*英語などのテキストを改行で自動的に折り返す設定。これがないと、テーブルを突き抜けて表示される場合があります。*/
}

/*th（左側）のみの設定*/
.ta1 th {
	width: 30%;			/*幅*/
	text-align: left;	/*左よせにする*/
}


/*背景色パターン
---------------------------------------------------------------------------*/
.bg1 {
	background: #fff;
}


/*PAGE TOP（↑）設定
---------------------------------------------------------------------------*/
.pagetop-show {display: block;}

/*ボタンの設定*/
.pagetop a {
	display: block;text-decoration: none;text-align: center;z-index: 99;
	position: fixed;	/*スクロールに追従しない(固定で表示)為の設定*/
	right: 20px;		/*右からの配置場所指定*/
	bottom: 20px;		/*下からの配置場所指定*/
	color: #fff;		/*文字色*/
	font-size: 1.5em;	/*文字サイズ*/
	background: rgba(0,0,0,0.2);	/*背景色。0,0,0は黒の事で0.2は色が20%出た状態。*/
	width: 60px;		/*幅*/
	line-height: 60px;	/*高さ*/
	border-radius: 50%;	/*円形にする*/
}


/*その他
---------------------------------------------------------------------------*/
.clearfix::after {content: "";display: block;clear: both;}
.color-theme, .color-theme a {color: #a29276 !important;}
.color-check, .color-check a {color: #f00 !important;}
.c {text-align: center !important;}
.ws {width: 95%;display: block;}
.wl {width: 95%;display: block;}
.mb30 {margin-bottom: 30px !important;}
.mt30 {margin-top: 30px !important;}
.look {display: inline-block;padding: 0px 10px;background: #666; color: #fff; border-radius: 3px;margin: 5px 0; word-break: break-all;}
.look .color-check {color: #ffcc00 !important;}
.small {font-size: 0.6em;}

/* ===========================
   お問い合わせフォーム
=========================== */

.ta1 {
    width: 100%;
    border-collapse: collapse;
    margin: 30px auto;
    background: #fff;
}

.ta1 th,
.ta1 td {
    border: 1px solid #ddd;
    padding: 18px;
    vertical-align: middle;
}

.ta1 th {
    width: 220px;
    background: #f7f7f7;
    font-weight: bold;
    text-align: left;
}

/* 共通入力 */
.ta1 input[type="text"],
.ta1 input[type="email"],
.ta1 textarea{
    border:1px solid #ccc;
    border-radius:5px;
    padding:10px 12px;
    font-size:16px;
    transition:.3s;
    box-sizing:border-box;
}

/* フォーカス */
.ta1 input:focus,
.ta1 textarea:focus{
    border-color:#2b7de9;
    outline:none;
    box-shadow:0 0 5px rgba(43,125,233,.2);
}

/* 幅指定 */
.w30{
    width:30%;
	display:block;
}

.w40{
    width:40%;
	display:block;
}

.w50{
    width:50%;
	display:block;
}

.w60{
    width:60%;
	display:block;
}

.w80{
    width:80%;
	display:block;
}

.w100{
    width:100%;
	display:block;
}

/* テキストエリア */
textarea{
    width:100%;
    min-height:220px;
    resize:vertical;
}

/* 必須マーク */
.ta1 span{
    color:#d60000;
    font-size:.9em;
}

/* ボタン */
.btn{
    margin-top:35px;
    text-align:center;
}

.btn input{
    border:none;
    padding:15px 45px;
    font-size:16px;
    border-radius:5px;
    cursor:pointer;
    transition:.3s;
}

.btn input[type="submit"]{
    background:#1f4f8f;
    color:#fff;
}

.btn input[type="submit"]:hover{
    background:#16396a;
}

.btn input[type="reset"]{
    background:#888;
    color:#fff;
    margin-left:10px;
}

.btn input[type="reset"]:hover{
    background:#666;
}

/* スマホ */
@media (max-width:768px){

.ta1,
.ta1 tbody,
.ta1 tr,
.ta1 th,
.ta1 td{
    display:block;
}

.ta1 th{
    width:auto;
    border-bottom:none;
}

.ta1 td{
    border-top:none;
}

.w30,
.w40,
.w50,
.w60,
.w80,
.w100{
    width:100%;
}

}




/*---------------------------------------------------------------------------
ここから下は画面幅600px以上の追加指定
---------------------------------------------------------------------------*/
@media screen and (min-width:600px) {


/*listブロック
---------------------------------------------------------------------------*/
.list {
	display: flex;					/*flexボックスを使う指定*/
	justify-content: space-between;	/*並びかたの種類の指定*/
}

/*ボックス内のfigure画像*/
.list figure {
	width: 30%;
	margin-right: 5%;
}

/*ボックス内のtextブロック*/
.list .text {
	flex: 1;
	margin-right: 5%;
}


/*　※注意！　下の閉じカッコ　}　はこのブロックに必要なので、削除しないで下さい。　*/

}





/*---------------------------------------------------------------------------
ここから下は画面幅900px以上の追加指定
---------------------------------------------------------------------------*/
@media screen and (min-width:900px) {


/*全体の設定
---------------------------------------------------------------------------*/
html, body {
	font-size: 15px;	/*基準となるフォントサイズの上書き*/
}


/*header（ロゴなどが入った最上段のブロック）
---------------------------------------------------------------------------*/
/*ヘッダーブロック*/
header {
	position: fixed;	/*スクロールしても一緒に移動しない為の設定。画面上に固定表示されます。*/
	width: 100%;
}


/*menubarブロック設定
---------------------------------------------------------------------------*/
/*メニューブロックの設定*/
#menubar {
	font-size: 0.85em;	/*文字サイズを少し小さくする*/
}
#menubar ul {
	display: flex;	/*flexボックスを使う指定*/
}

/*メニュー１個あたりの設定*/
#menubar a {
	padding: 10px 15px;	/*上下、左右への余白*/
}


/*ドロップダウンメニュー
---------------------------------------------------------------------------*/
#menubar .ddmenu_parent ul {
	position: absolute;
}


/*３本バー（ハンバーガー）アイコン設定
---------------------------------------------------------------------------*/
/*ハンバーガーメニューを非表示にする*/
#menubar_hdr {display: none;}


/*「お知らせ」ブロック
---------------------------------------------------------------------------*/
/*日付(dt)設定*/
#new dt {
	width: 14em;	/*幅。14文字(em)分。*/
	display: flex;	/*flexボックスを使う指定*/
	justify-content: space-between;	/*日付とアイコンをそれぞれ端に寄せる*/
}

/*日付の横のマーク（共通設定）*/
#new dt span {
	display: inline-block;	/*表示させる*/
	width: 6em;				/*幅。6文字(em)分。*/
	background: #999;		/*背景色*/
	color: #fff;			/*文字色*/
	font-size: 0.8em;		/*文字サイズを80%に。*/
	text-align: center;		/*文字をセンタリング*/
	margin-right: 1em;		/*アイコンの右側に空けるスペース*/
	align-self: flex-start;	/*高さを間延びさせない指定*/
	line-height: 1.8;		/*行間を少し狭く*/
	position: relative;top: 0.4em;	/*上下の配置バランスの微調整*/
}

/*bg1設定。サンプルテンプレートでは「サービス」と書いてあるマーク*/
#new dt span.icon-bg1 {
	background: #635741;	/*背景色*/
}

/*記事(dd)設定*/
#new dd {
	width: calc(100% - 14em);	/*「14em」は上の「#new dt」のwidthの値です。*/
}


/*listブロック
---------------------------------------------------------------------------*/
/*listブロック全体を囲むブロック*/
.list-container {
	display: flex;		/*flexボックスを使う指定*/
	flex-wrap: wrap;	/*折り返す指定*/
	justify-content: space-between;	/*並びかたの種類の指定*/
}

/*１個あたりのボックス設定*/
.list {
	flex-direction: column;			/*子要素を縦並びにする*/
	width: 32%;		/*幅。３列になります。*/
}

/*ボックス内のfigure画像*/
.list figure {
	width: 100%;
	margin-right: 0;
}

/*ボックス内のtextブロック*/
.list .text {
	margin-right: 0;
}

/*ボックス内のh4タグ*/
.list h4 {
	margin: 10px 0;	/*上下、左右への余白*/
}


/*テーブル
---------------------------------------------------------------------------*/
/*テーブル１行目に入った見出し部分（※caption）*/
.ta1 caption {
	padding: 5px 15px;		/*上下、左右へのボックス内の余白*/
}

/*th（左側）、td（右側）の共通設定*/
.ta1 th, .ta1 td {
	padding: 20px 15px;		/*上下、左右へのボックス内の余白*/
}

/*th（左側）のみの設定*/
.ta1 th {
	width: 20%;		/*幅*/
}


/*その他
---------------------------------------------------------------------------*/
.ws {width: 48%;display: inline;}


/*　※注意！　下の閉じカッコ　}　はこのブロックに必要なので、削除しないで下さい。　*/

}
/* =====================================================
   お問い合わせフォーム（カスタム）
===================================================== */

.w30,
.w40,
.w50,
.w60,
.w80,
.w100{
    display:block;
    box-sizing:border-box;
}

.w30{width:30%;}
.w40{width:40%;}
.w50{width:50%;}
.w60{width:60%;}
.w80{width:80%;}
.w100{width:100%;}

.ta1{
    border:1px solid #e5e5e5;
    border-collapse:collapse;
    border-radius:8px;
    overflow:hidden;
    background:#fff;
}

.ta1 tr:nth-child(even){
    background:#fafafa;
}

.ta1 th{
    width:220px;
    background:#f3f5f7;
    color:#333;
    font-weight:bold;
    padding:18px;
    vertical-align:middle;
}

.ta1 td{
    padding:18px;
}

.ta1 input,
.ta1 textarea{
    border:1px solid #ccc;
    border-radius:6px;
    padding:12px;
    font-size:15px;
    transition:.3s;
}

.ta1 input:focus,
.ta1 textarea:focus{
    border-color:#2d6cdf;
    box-shadow:0 0 8px rgba(45,108,223,.2);
    outline:none;
}

.ta1 textarea{
    min-height:220px;
    resize:vertical;
}

.btn{
    margin-top:40px;
}

.btn input{
    min-width:220px;
    padding:15px 30px;
    border-radius:40px;
    font-size:16px;
    font-weight:bold;
}

.btn input[type="submit"]{
    background:#1d4f91;
}

.btn input[type="reset"]{
    background:#888;
}

.btn input:hover{
    transform:translateY(-2px);
}

@media(max-width:768px){

.ta1,
.ta1 tbody,
.ta1 tr,
.ta1 th,
.ta1 td{
    display:block;
}

.ta1 th{
    width:100%;
}

.w30,
.w40,
.w50,
.w60,
.w80,
.w100{
    width:100%;
}

}
/* =====================================================
お問い合わせフォーム（オリジナル）
===================================================== */

.contact-form{
max-width:900px;
margin:40px auto;
}

.form-row{
margin-bottom:24px;
}

.form-row label{
display:block;
font-weight:bold;
margin-bottom:8px;
color:#333;
}

.form-row label span{
color:#d60000;
}

.contact-form input,
.contact-form textarea{
width:100%;
box-sizing:border-box;
padding:12px 14px;
border:1px solid #ccc;
border-radius:6px;
font-size:16px;
transition:.3s;
}

.contact-form input:focus,
.contact-form textarea:focus{
border-color:#2d6cdf;
box-shadow:0 0 8px rgba(45,108,223,.2);
outline:none;
}

.contact-form textarea{
min-height:220px;
resize:vertical;
}

.contact-form .short{
width:200px;
}

.form-check{
margin:30px 0;
font-size:14px;
}

.form-check input{
width:auto;
margin-right:8px;
}

.btn button{
display:inline-block;
border:none;
background:#1d4f91;
color:#fff;
padding:14px 36px;
border-radius:40px;
font-size:16px;
font-weight:bold;
cursor:pointer;
transition:.3s;
}

.btn button:hover{
opacity:.9;
transform:translateY(-2px);
}

@media (max-width:768px){

.contact-form .short{
width:100%;
}

.btn button{
width:100%;
}

}
/* ===== お問い合わせフォーム最終調整 ===== */

/* 項目ごとの幅 */
.contact-form input[name="company"]{
    width:85% !important;
}

.contact-form input[name="name"],
.contact-form input[name="kana"],
.contact-form input[name="tel"]{
    width:45% !important;
}

.contact-form input[name="email"]{
    width:65% !important;
}

.contact-form input[name="zip"]{
    width:180px !important;
}

.contact-form input[name="address"]{
    width:100% !important;
}

/* お問い合わせ内容 */
.contact-form textarea{
    width:100% !important;
    min-height:160px !important;
    max-width:100%;
}

/* 送信ボタン */
.contact-form .btn button{
    background:#1d4f91 !important;
    color:#fff !important;
    border:none !important;
    border-radius:40px !important;
    padding:14px 40px !important;
    font-size:16px !important;
    font-weight:bold !important;
    box-shadow:0 4px 10px rgba(0,0,0,.15);
}

.contact-form .btn button:hover{
    background:#16396a !important;
}

/* ボタン中央寄せ */
.contact-form .btn{
    text-align:center;
}

/* スマホでは全部100%幅 */
@media (max-width:768px){

.contact-form input[name="company"],
.contact-form input[name="name"],
.contact-form input[name="kana"],
.contact-form input[name="tel"],
.contact-form input[name="email"],
.contact-form input[name="zip"],
.contact-form input[name="address"]{
    width:100% !important;
}

}

/* =====================================================
モダンお問い合わせフォーム
===================================================== */

.contact-modern{
    width:100%;
    max-width:820px;
    margin:50px auto;
    padding:40px;
    background:#fff;
    border-radius:16px;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
    box-sizing:border-box;
}

.contact-modern .field{
margin-bottom:26px;
}

.contact-modern > .form-group > label{
    display:block;
    font-size:15px;
    font-weight:700;
    margin-bottom:8px;
    color:#222;
}

.contact-modern label span{
display:inline-block;
margin-left:8px;
padding:2px 8px;
font-size:11px;
font-weight:700;
color:#fff;
background:#d73b3e;
border-radius:999px;
vertical-align:middle;
}

.contact-modern input,
.contact-modern textarea{
width:100%;
box-sizing:border-box;
padding:14px 16px;
font-size:16px;
border:1px solid #d8dde3;
border-radius:10px;
background:#fff;
transition:border-color .2s, box-shadow .2s;
}

.contact-modern input:focus,
.contact-modern textarea:focus{
border-color:#1d4f91;
box-shadow:0 0 0 4px rgba(29,79,145,.12);
outline:none;
}

.contact-modern textarea{
min-height:180px;
resize:vertical;
}

.contact-modern .half{
max-width:380px;
}

.contact-modern .agree{
display:flex;
align-items:flex-start;
gap:10px;
font-size:14px;
color:#444;
margin:10px 0 34px;
}

.contact-modern .agree input{
width:auto;
margin-top:3px;
}

.contact-modern .submit-wrap{
text-align:center;
}

.contact-modern button{
min-width:240px;
padding:16px 32px;
border:none;
border-radius:999px;
background:#1d4f91;
color:#fff;
font-size:16px;
font-weight:700;
cursor:pointer;
transition:transform .15s ease, box-shadow .15s ease, background .2s;
box-shadow:0 8px 20px rgba(29,79,145,.22);
}

.contact-modern button:hover{
background:#16396a;
transform:translateY(-1px);
box-shadow:0 10px 24px rgba(22,57,106,.28);
}

@media (max-width:768px){

.contact-modern{
padding:24px 18px;
border-radius:12px;
margin:24px auto;
}

.contact-modern .half{
max-width:none;
}

.contact-modern button{
width:100%;
min-width:0;
}

}

/* ===== 強制上書き ===== */

.contact-modern .field.half{
    width:45% !important;
    max-width:45% !important;
}

.contact-modern .field.half input{
    width:100% !important;
}

.contact-modern input[name="company"]{
    width:85% !important;
}

.contact-modern input[name="email"]{
    width:65% !important;
}

.contact-modern input[name="zip"]{
    width:180px !important;
}

.contact-modern input[name="address"]{
    width:100% !important;
}

.contact-modern textarea{
    width:100% !important;
    min-height:170px !important;
}

/* ボタンを強制的に青に */
.contact-modern button{
    background:#1d4f91 !important;
    color:#fff !important;
    border:none !important;
}

.contact-modern button:hover{
    background:#16396a !important;
}

/* スマホ */
@media (max-width:768px){

.contact-modern .field.half{
    width:100% !important;
    max-width:100% !important;
}

.contact-modern input[name="company"],
.contact-modern input[name="email"],
.contact-modern input[name="zip"],
.contact-modern input[name="address"]{
    width:100% !important;
}

}

/* ==================================
   フッター会社情報
================================== */

.footer-info{
    max-width:900px;
    margin:0 auto 20px;
    line-height:1.8;
    text-align:center;
}

.footer-company{
    font-size:1.1em;
    font-weight:bold;
    margin-bottom:10px;
    color:#fff;
}

footer p{
    margin:4px 0;
    color:#ddd;
}

footer small{
    display:block;
    margin-top:15px;
    color:#aaa;
}

/* ==================================
   フッター（見た目をしっかり改善）
================================== */

footer{
    background:#0f172a;      /* 少し青みのある濃紺 */
    color:#e5e7eb;
    padding:34px 24px 16px;
    margin-top:60px;
}

.footer-wrap{
    max-width:1100px;
    margin:0 auto;
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:40px;
}

.footer-left{
    text-align:left;
    line-height:1.7;
}

.footer-company{
    font-size:1.5rem;        /* 社名を大きく */
    font-weight:700;
    color:#ffffff;
    margin-bottom:14px;
    letter-spacing:0.03em;
}

.footer-left p{
    margin:4px 0;
    font-size:1rem;
    color:#cbd5e1;
}

.footer-right{
    flex-shrink:0;
    padding-top:8px;
}

.footer-contact-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:200px;
    height:52px;
    padding:0 28px;
    background:#2563eb;
    color:#fff !important;
    text-decoration:none;
    border-radius:999px;
    font-weight:700;
    font-size:1rem;
    box-shadow:0 10px 24px rgba(37,99,235,.28);
    transition:transform .15s ease, box-shadow .15s ease, background .2s ease;
}

.footer-contact-btn:hover{
    background:#1d4ed8;
    transform:translateY(-1px);
    box-shadow:0 14px 28px rgba(37,99,235,.34);
}

footer small{
    display:block;
    max-width:1100px;
    margin:22px auto 0;
    padding-top:14px;
    border-top:1px solid rgba(255,255,255,.12);
    text-align:center;
    color:#94a3b8;
    font-size:0.85rem;
}

/* スマホ */
@media (max-width:768px){

.footer-wrap{
    flex-direction:column;
    align-items:flex-start;
    gap:22px;
}

.footer-right{
    width:100%;
    padding-top:0;
}

.footer-contact-btn{
    width:100%;
}

footer{
    padding:28px 18px 14px;
}

.footer-company{
    font-size:1.3rem;
}

}

.footer-company{
    font-size: 1.4rem !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
}

/* メニュー項目の左右余白を少し広げる */
#menubar ul li a{
    padding-left: 18px;
    padding-right: 18px;
}

/* PC版メニューの余白調整 */
@media screen and (min-width:900px){

  /* メニュー全体を少し左へ */
  #menubar{
    padding-right: 30px;
  }

  /* 各メニュー項目の左右余白を少し広げる */
  #menubar ul li a{
    padding: 0 18px;
  }

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

  #logo img{
    width: 120px;
    height: auto;
  }

}

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

  /* ロゴの箱を画像サイズぴったりに */
  #logo{
    width:auto !important;
    padding:10px 0 10px 20px !important;
    margin:0 !important;
  }

  /* ロゴ画像 */
  #logo img{
    width:170px !important;
    height:auto !important;
    display:block;
  }

  /* メニュー右余白 */
  #menubar{
    padding-right:28px;
  }

}

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

  /* ロゴ領域を縮める */
  #logo{
    width:190px !important;
    margin:0 !important;
    padding:8px 0 8px 12px !important;
  }

  /* ロゴを少し左へ */
  #logo img{
    width:170px !important;
    height:auto !important;
    display:block;
    margin-left:-0px !important;
  }

}

/* ヘッダーの文字サイズをテンプレート基準に戻す */
#menubar,
#menubar a{
    font-size: inherit !important;
}

.photo-placeholder{
    width:260px;
    height:146px;
    border:1px dashed #bbb;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    color:#777;
    background:#fafafa;
    font-size:14px;
    margin:0 auto;
    box-sizing:border-box;
}

/* 製品カードの文字を濃くする */
.list .text p{
    color:#333 !important;
    line-height:1.9;
}

.list .text h4{
    color:#111 !important;
    font-weight:bold;
}

/* 製品一覧の下に余白を追加 */
.list-container{
    margin-bottom:80px;
}

/* 製品カードの画像エリアを中央揃え */
.list figure{
    text-align:center;
    margin:0 0 20px 0;
}

/* 準備中ボックス */
.photo-placeholder{
    width:100%;
    height:146px;
    border:1px dashed #bbb;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    color:#777;
    background:#fafafa;
    font-size:14px;
    box-sizing:border-box;
}

/* スマホ時のロゴを小さくする */
@media screen and (max-width:600px){

  #logo{
    width:90px !important;
    margin:8px 0 0 8px !important;
  }

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

}

.form-message{
    max-width:700px;
    margin:30px auto;
    padding:40px;
    background:#fff;
    border:1px solid #ddd;
    box-shadow:0 2px 8px rgba(0,0,0,0.05);
    line-height:2;
}

.center-btn{
    text-align:center;
    margin-top:30px;
}

/* 確認画面・完了画面用ボタン */
.action-buttons{
    text-align:center;
    margin-top:35px;
}

.action-buttons .btn-action{
    display:inline-block;
    min-width:180px;
    margin:10px;
    padding:14px 28px;
    border-radius:999px;
    background:#0b1535;
    color:#fff !important;
    text-decoration:none;
    font-weight:bold;
    letter-spacing:0.05em;
    box-shadow:0 4px 12px rgba(0,0,0,0.15);
    transition:all .25s ease;
}

.action-buttons .btn-action:hover{
    background:#1b2b63;
    transform:translateY(-2px);
    box-shadow:0 8px 18px rgba(0,0,0,0.2);
}

/* 戻るボタンだけ薄色 */
.action-buttons .btn-back{
    background:#6b7280;
}

.action-buttons .btn-back:hover{
    background:#4b5563;
}

.ta1 td{
    vertical-align: top;
    line-height: 1.8;
}

/* ラジオボタンを3列×2行にする */
.radio-group{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:12px 20px;
    margin-top:10px;
}

.radio-group label{
    display:flex;
    align-items:center;
    gap:6px;
    cursor:pointer;
    font-size:14px;
    white-space:normal;
    min-width:0;
    box-sizing:border-box;
}

.radio-group input[type="radio"]{
    width:18px;
    height:18px;
    flex-shrink:0;
}

/* スマホでは2列に */
@media screen and (max-width:600px){

    .contact-modern .radio-group{
        display:grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
        gap:10px 4px !important;
        width:100% !important;
        max-width:100% !important;
        box-sizing:border-box !important;
    }

    .contact-modern .radio-group label{
        display:flex !important;
        align-items:center !important;
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
        box-sizing:border-box !important;
        margin:0 !important;
        padding:0 !important;
        gap:5px !important;
        font-size:13px !important;
        white-space:nowrap !important;
    }

    .contact-modern .radio-group input[type="radio"]{
        width:18px !important;
        height:18px !important;
        flex:0 0 18px !important;
        margin:0 !important;
    }

}

.hero-video video{
  width:100%;
  display:block;
}

.hero-video{
  width:100%;
  overflow:hidden;
}

.hero-video video{
  width:100%;
  height:auto;
  display:block;
}

/* トップ動画 */
.hero-video{
    width:100%;
    height:520px;
    overflow:hidden;
    position:relative;
}

.hero-video video{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

@media screen and (max-width:768px){
    .hero-video{
        height:240px;
    }
}

/* 動画を囲むコンテナ */
.top-video-container {
    position: relative;
    width: 100%;
    height: 100vh; /* 画面いっぱいにしたい場合。固定値（例: 500px）でもOKです */
    overflow: hidden;
}

/* 動画自体のスタイル */
.top-video-container video {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    object-fit: cover; /* 比率を保ったまま、コンテナいっぱいに収める */
}

/* ===== ロゴ位置を黒帯の下へ移動（強制上書き） ===== */
header{
    position: relative !important;
}

#logo{
    position: absolute !important;
    top: 70px !important;   /* 数字を大きくするとさらに下へ */
    left: 20px !important;
    margin: 0 !important;
    z-index: 1000 !important;
}

#logo img{
    width: 220px !important;
    height: auto !important;
    display: block !important;
}

.photo-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:24px;
  margin:20px 0 40px;
}

.photo-grid img{
  width:100%;
  aspect-ratio:1/1;
  object-fit:contain; /* 画像を切らない */
  background:#fff;
  padding:12px;
  border-radius:10px;
  box-shadow:0 8px 20px rgba(0,0,0,.08);
  display:block;
}

/* 製品一覧グリッド */
.photo-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:24px;
  margin:20px 0 40px;
}

.photo-grid img{
  width:100%;
  height:240px;
  object-fit:contain;
  background:#fff;
  padding:12px;
  border-radius:10px;
  box-shadow:0 8px 20px rgba(0,0,0,.08);
  display:block;
}

/* 左画像＋右説明 */
.product-row{
  display:flex;
  align-items:center;
  gap:32px;
  margin:25px 0 45px;
  padding:20px;
}

.product-img{
  flex:0 0 220px;
}

.product-img img{
  width:100%;
  height:220px;
  object-fit:contain;
  background:#fff;
  padding:10px;
  border-radius:8px;
  box-shadow:0 6px 18px rgba(0,0,0,.08);
  display:block;
}

.product-text{
  flex:1;
}

.product-text p{
  margin:0 0 10px;
  line-height:1.9;
}

.product-text ul{
  margin:10px 0 0 20px;
}

/* スマホ */
@media screen and (max-width:768px){

  .product-row{
    flex-direction:column;
    align-items:flex-start;
  }

  .product-img{
    width:100%;
    max-width:260px;
  }

  .product-img img{
    height:auto;
  }
}

.recruit-none{
    text-align:center;
    padding:50px 20px;
    margin-top:120px;
}

.recruit-none p{
    margin:0;
    font-size:20px;
    font-weight:bold;
    color:#555;
}

.recruit-none .recruit-note{
    margin-top:14px;
    font-size:15px;
    font-weight:normal;
    color:#777;
}

/* スマホ表示：お問い合わせフォーム調整 */
@media screen and (max-width: 768px) {

  .contact-modern {
    width: 100%;
    max-width: 100%;
    margin: 30px 0;
    padding: 20px 16px;
    background: transparent;
    box-shadow: none;
    border-radius: 0;
    box-sizing: border-box;
  }

  .contact-modern .field {
    width: 100%;
    box-sizing: border-box;
  }

  .contact-modern input,
  .contact-modern textarea,
  .contact-modern select {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }

}

/* ディフューザー原理画像 */
.diffuser-principle-img {
    text-align: center;
    margin: 40px auto;
}

.diffuser-principle-img img {
    width: 647px;
    max-width: 100%;
    height: auto;
}

/* ディフューザー省エネ効果 */
.diffuser-energy {
    display: flex;
    gap: 30px;
    margin: 40px 0;
}

.diffuser-energy-box {
    flex: 1;
    text-align: left;
}

.diffuser-energy-box h4 {
    margin-bottom: 20px;
    font-size: 18px;
}

.diffuser-energy-box img {
    display: block;
    width: 100%;
    max-width: 285px;
    height: auto;
    margin: 0 auto 20px;
}

.diffuser-energy-box p {
    margin-bottom: 15px;
}

.diffuser-energy-box a {
    text-decoration: underline;
}

/* スマホ */
@media screen and (max-width: 700px) {
    .diffuser-energy {
        display: block;
    }

    .diffuser-energy-box {
        margin-bottom: 50px;
    }

    .diffuser-energy-box img {
        max-width: 100%;
    }
}

/* 消費電力削減ページ */
.electric-intro {
    display: flex;
    gap: 40px;
    align-items: flex-start;
    margin: 40px 0;
}

.electric-intro-img {
    flex: 0 0 360px;
    text-align: center;
}

.electric-intro-img img {
    width: 360px;
    max-width: 100%;
    height: auto;
}

.electric-intro-text {
    flex: 1;
}

.electric-calculation {
    display: flex;
    gap: 40px;
    margin: 40px 0;
}

.electric-calculation-box {
    flex: 1;
}

.electric-calculation-box h4 {
    margin-bottom: 20px;
}

.electric-result {
    font-weight: bold;
    margin-top: 25px;
}

.electric-graph {
    text-align: center;
    margin: 40px auto;
}

.electric-graph img {
    width: 760px;
    max-width: 100%;
    height: auto;
}

.electric-graph p {
    margin-top: 15px;
}

/* スマホ */
@media screen and (max-width: 700px) {

    .electric-intro {
        display: block;
    }

    .electric-intro-img {
        margin: 0 auto 30px;
    }

    .electric-calculation {
        display: block;
    }

    .electric-calculation-box {
        margin-bottom: 40px;
    }

}

/* ろ布寿命延命ページ */
.rohu-feature {
    display: flex;
    gap: 40px;
    align-items: flex-start;
    margin: 40px 0;
}

.rohu-feature-img {
    flex: 0 0 360px;
    text-align: center;
}

.rohu-feature-img img {
    width: 360px;
    max-width: 100%;
    height: auto;
}

.rohu-feature-text {
    flex: 1;
}

.rohu-feature-text p {
    margin-bottom: 20px;
}

.rohu-principle-img {
    text-align: center;
    margin: 40px auto;
}

.rohu-principle-img img {
    width: 647px;
    max-width: 100%;
    height: auto;
}

/* スマホ */
@media screen and (max-width: 700px) {

    .rohu-feature {
        display: block;
    }

    .rohu-feature-img {
        margin: 0 auto 30px;
    }

}

/* メンテナンスコスト削減ページ */

.hosyu-lead {
    margin: 30px 0 40px;
}

.hosyu-overview {
    display: flex;
    gap: 40px;
    align-items: flex-start;
    margin: 40px 0;
}

.hosyu-overview-img {
    flex: 0 0 390px;
    text-align: center;
}

.hosyu-overview-img img {
    width: 390px;
    max-width: 100%;
    height: auto;
}

.hosyu-overview-text {
    flex: 1;
}

.hosyu-overview-text h3 {
    margin-top: 0;
    margin-bottom: 10px;
}

.hosyu-overview-text p {
    margin-bottom: 25px;
}

.cost-list {
    margin: 20px 0 40px;
    padding-left: 25px;
}

.cost-list li {
    margin-bottom: 12px;
}

.cost-list .cost-total {
    font-weight: bold;
    margin-top: 20px;
}

.hosyu-result {
    margin: 40px 0;
    padding: 30px;
    background: #f7f7f7;
}

.hosyu-result h3 {
    margin-top: 0;
}

.hosyu-result-red {
    font-weight: bold;
}

/* スマホ */
@media screen and (max-width: 700px) {

    .hosyu-overview {
        display: block;
    }

    .hosyu-overview-img {
        margin: 0 auto 30px;
    }

    .hosyu-result {
        padding: 25px 20px;
    }

}