@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/6.5.1/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: 15px;	/*基準となるフォントサイズ。下の方にある「画面幅900px以上」で基準を大きなサイズに再設定しています。*/
}

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

/*リセット*/
figure {margin: 0;}
dd {margin: 0;}
nav {
max-width:1024px;
width:100%;
margin: 0 auto;
padding: 0;
}

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

.table_01 {
	width: 80%;
	margin-top: 20px;
	margin-right: auto;
	margin-bottom: 30px;
	margin-left: auto;
}
.table_01 th,
.table_01 td {
	border-bottom-width: 1px;
	border-bottom-style: dotted;
	border-bottom-color: #CCC;
	padding: 10px;
}
.table_01 th {
	font-size: 12px;
	font-weight:600;
	font-family: "ヒラギノ角ゴ ProN W8", "Hiragino Kaku Gothic ProN", "Noto Sans JP","メイリオ", Meiryo, Osaka, "ＭＳ ゴシック", "MS Gothic", sans-serif;
	text-align:center;
	white-space: nowrap;
	letter-spacing: 2px;
	width: 20%;
	background-color: #fff;
}
.table_01 th.line_top {
	vertical-align:top;
}
.table_01 th.bank {
	letter-spacing: 5px;
}
.table_01 td {
	font-size: 14px;
	line-height: 30px;
	letter-spacing: 1px;
	background-color: #FFF;
	
}
.table_01 td.line_top {
	vertical-align:top;
	padding-top:4px;
}
.table_01 td.td_price {
	font-size: 15px;
	text-align: center;
	white-space: nowrap;
	color: #008C69;
	font-weight: bold;
}
.table_01 li {
	list-style: none;
	margin-left: -3em;
}

.table_02 {
	width: 96%;
	margin-top: 20px;
	margin-right: auto;
	margin-bottom: 30px;
	margin-left: auto;
}
.table_02 th {
	border-width: 1px;
	border-style: solid;
	border-color: #CCC;
	padding: 10px;	
}
.table_02 td {
	border-width: 1px;
	border-style: solid;
	border-color: #CCC;
	padding: 10px;
	width:26%;	
}
.table_02 th {
	font-size: 1rem;
	font-weight:600;
	font-family: "ヒラギノ角ゴ ProN W8", "Hiragino Kaku Gothic ProN", "Noto Sans JP","メイリオ", Meiryo, Osaka, "ＭＳ ゴシック", "MS Gothic", sans-serif;
	text-align:center;
	white-space: nowrap;
	letter-spacing: 2px;
	background-color: #ddd;    /* 背景色指定 */
}
.table_02 td.left {
	font-weight:600;
	background-color:  #f2f2f2;
	width:18%;
	letter-spacing: 2px;
	transition: none;
}
.table_03 {
	width: 96%;
	margin-top: 20px;
	margin-right: auto;
	margin-bottom: 30px;
	margin-left: auto;
}
.table_03 th {
	border-width: 1px;
	border-style: solid;
	border-color: #CCC;
	padding: 3px;
	width:15%;	
}
.table_03 td {
	border-width: 1px;
	border-style: solid;
	border-color: #CCC;
	padding: 3px;
	text-align:center;		
}
.table_03 th {
	font-size: 1rem;
	font-weight:600;
	font-family: "ヒラギノ角ゴ ProN W8", "Hiragino Kaku Gothic ProN", "Noto Sans JP","メイリオ", Meiryo, Osaka, "ＭＳ ゴシック", "MS Gothic", sans-serif;
	text-align:center;
	white-space: nowrap;
	letter-spacing: 2px;
	background-color: #f2f2f2;    /* 背景色指定 */
}
.table_03 td.left {
	font-weight:300;
	background-color:  #fff;
	letter-spacing: 2px;
	transition: none;
	text-align:left;
	padding-left:10px;
}
.table_03 td.note {
	font-weight:300;
	color:#666;
	background-color:  #fff;
	letter-spacing: 0px;
	transition: none;
	border-width: 0px;
	text-align:left;
}
.table_03 td.bg {
	color:#000;
	background-color: #e6f7ff;
	letter-spacing: 2px;
}
.table_04 {
	width: 50%;
	margin-top: 20px;
	margin-right: auto;
	margin-bottom: 30px;
	margin-left: 20px;
}
.table_04 th {
	border-width: 1px;
	border-style: solid;
	border-color: #CCC;
	padding: 3px;
	background-color: #f2f2f2;
	font-weight:300;
	width:30%;	
}
.table_04 td {
	border-width: 1px;
	border-style: solid;
	border-color: #CCC;
	padding: 3px;
	text-align:center;		
}

.table_05 {
	width: 96%;
	margin-top: 20px;
	margin-right: auto;
	margin-bottom: 30px;
	margin-left: auto;
}
.table_05 th {
	border-width: 1px;
	border-style: solid;
	border-color: #CCC;
	padding: 3px;
	padding-left:10px;	
}
.table_05 td {
	border-width: 1px;
	border-style: solid;
	border-color: #CCC;
	padding: 3px;
	width:65%;	
	padding-left:10px;
}
.table_05 th {
	font-size: 1rem;
	font-weight:300;
	font-family: "ヒラギノ角ゴ ProN W8", "Hiragino Kaku Gothic ProN", "Noto Sans JP","メイリオ", Meiryo, Osaka, "ＭＳ ゴシック", "MS Gothic", sans-serif;
	text-align:left;
	white-space: nowrap;
	letter-spacing: 0.2px;
	background-color: #f2f2f2;    /* 背景色指定 */
}


/*画像全般の設定*/
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;}

h2,h3,h4,h5 {
font-family:"Noto Sans JP";	/*フォント種類*/
}

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

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


/*sectionタグと、詳細ページの共通設定
---------------------------------------------------------------------------*/
section,
main > article {
	padding: 3% 5%;		/*上下、左右へのボックス内の余白*/
}


/*containerブロック
---------------------------------------------------------------------------*/
#wrapper {
	height: auto;
	max-width: 1920px;				/*サイトの最大幅*/
	margin: 0 auto;
	display: flex;					/*flexボックスを使う指定*/
	flex-direction: column;			/*子要素を縦並びにする*/
	justify-content: space-between;	/*並びかたの種類の指定*/
	position: relative;
	min-height: 100vh;
	padding-bottom: 100px;
}
.container {
    max-width: 1200px;
    margin: 0 auto;
    overflow-x: hidden;
}


/*header（ロゴなどが入った最上段のブロック）
---------------------------------------------------------------------------*/
/*ヘッダーブロック*/
header {
	background: #fff;	/*背景色*/
	color: #fff;			/*文字色*/
	position: relative;
	width: auto;		/*幅*/
	height:auto;
}

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

/* TOPページ専用：動画上のロゴ */
.home header #logo {
	position: absolute;
	z-index: 1;
	width: 75%;
	max-width: 540px;
	left: 15%;
	top: 2rem;
	margin: -1.4rem 0rem 0rem 1rem;
	padding: 1rem 0rem 0rem 1rem;
}

.home header #logo img {
	display: block;
}

.home header #logo p {
	font-size: 1.2rem;
	text-shadow: -1px 1px 3px #000;
	margin: 9px 0 0 0px;
	line-height: 1.8;
}

/* 下層ページ専用：サブヘッダー上のロゴ */
.head_box {
	width: 100%;
	height: 90px;
	background-image: url(../images/subimg2.png);
	background-size: cover;
	background-position: center;
	position: relative;
}

header .logo_wrap {
	max-width: 210px;
	margin: -1.4rem 0rem 0rem 1rem;
	padding: 1rem 0rem 0rem 1rem;
}

header .logo_wrap img {
	display: block;
	width: 100%;
	height: auto;
}
.logo2 {
	margin:  1.4rem 0rem 0rem 1rem;
	padding: 1rem 0rem 0rem 1rem;
}

header #mainimg2 {
	display: none;
}

/*menubarブロック初期設定
---------------------------------------------------------------------------*/
#menubar > nav > ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	justify-content: space-around;
	line-height: 1.6;
}

#menubar > nav > ul > li {
	flex: 1;
	position: relative;
}
/*メニューを非表示にしておく*/
#menubar {
	display: none;
}

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

/*メニュー１個あたりの設定*/
#menubar a {
	display: block;
	text-decoration: none;
	text-align: center;	/*テキストを中央に*/
	padding: 14px 0;	/*上下、左右へのメニュー内の余白*/
}

/*マウスオン時*/
#menubar ul li a:hover {
	opacity: 1;
	background: #003f67;	/*背景色*/
	color: #fff;			/*文字色*/
}


/*大きな端末用のメニュー設定
---------------------------------------------------------------------------*/
/*メニューブロック設定*/
.p #menubar {
	border-bottom: 1px solid #ccc;	/*下線の幅、線種、色*/
}

/*メニュー１個あたりの設定*/
.p #menubar a {
	background: #fff;	/*背景色*/
}


/*小さな端末用の設定（開閉ブロック）
---------------------------------------------------------------------------*/
/*メニューブロック設定*/
.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 {
	display: block;text-decoration: none;
	text-align: center;		/*テキストを中央に*/
	color: #fff;	/*文字色*/
	padding: 20px;	/*メニュー内の余白*/
}


/*ドロップダウンメニュー
---------------------------------------------------------------------------*/
/*ドロップダウンを非表示にしておく*/


/*ドロップダウンメニューの親のリンク先が空なので、カーソルをデフォルトにしておく。*/
a.ddmenu {
	cursor: default;
}

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

/*ドロップダウンメニュー全体の設定*/
.ddmenu_parent ul {
	border: 1px solid #ccc;	/*線の幅、線種、色*/
}

/*メニューが画面上部に到達した際のスタイル
---------------------------------------------------------------------------*/
/* 上部に固定させるスタイルを用意 */
.fixed {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  margin: 0 auto;
}
#js-header {
  z-index: 99;
  opacity:0.85;
  width: 100%;
  background:#fff;
  padding:0px 0% 0px 0%;
}
/*３本バー（ハンバーガー）アイコン設定
---------------------------------------------------------------------------*/
/*開閉用のスタイル*/
#menubar_hdr.db {display: flex;}
#menubar_hdr.dn {display: none;}

/*３本バーを囲むブロック*/
#menubar_hdr {
	position: fixed;z-index: 101;
	cursor: pointer;
	left: 0.5%;			/*左からの配置場所指定*/
	top: 2px;			/*上からの配置場所指定*/
	padding: 16px 14px;	/*上下、左右への余白*/
	width: 52px;		/*幅（３本バーが出ている場合の幅になります）*/
	height: 52px;		/*高さ*/
	display: flex;					/*flexボックスを使う指定*/
	flex-direction: column;			/*子要素（３本バー）を縦並びにする*/
	justify-content: space-between;	/*並びかたの種類の指定*/
	transform: scale(1.2);			/*元々準備していたサイズの1.2倍にしました。お好みでサイズ調整して下さい。*/
}

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

/*×印が出ている状態の設定。※１本目および２本目のバーの共通設定。*/
#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ブロック内のh2タグ*/
main h2 {
	margin: 0;
	text-indent: -0.5rem;
	margin-bottom: 1em;	/*下に空けるスペース*/
	position: relative;		/*アニメーションに必要な設定*/
	letter-spacing: 0.05em;	/*文字間隔を少しだけ広くとる設定*/
	border-bottom: 3px solid #f8f8f8;	/*デフォルトのラインの色。下の「bottom」と「height」の３ヶ所の数字部分を合わせる*/
	font-family:'Roboto Condensed',"Noto Sans JP", sans-serif;	/*フォント種類*/
	font-weight:400;
	font-size:1.4rem;
	color:#000;
}

/*下線スタイル*/
main h2 .uline {
	display: inline-block;position: relative;
	padding: 0px 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: #003f67;		/*アニメーション時のラインの色*/
	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 {
	padding: 0 20px;
	margin-bottom: 1em;	/*下に空けるスペース*/
	border-bottom: 1px dotted #ccc;
	letter-spacing: 0.05rem;	/*文字間隔を少しだけ広くとる設定*/
	font-family:'Roboto Condensed', "Noto Sans JP", sans-serif;/*フォント種類*/
	font-weight:400;
	color:#000;
}

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

.imgL {
float: left;
margin: 10px 30px 20px 20px;
max-width:320px;
}

.imgR {
float: right;
margin: 10px 20px 20px 30px;
max-width:320px;
}


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

footer {
	font-size: 0.7rem;		/*文字サイズ*/
	text-align: center;		/*内容をセンタリング*/
	background: #003f67;	/*背景色*/
	color: #fff;			/*文字色*/
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
}

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

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

/*copyrightと著作部分*/
.copy-box {padding: 1%;}
.copy {
	padding: 1.4rem 1rem 2rem;
	text-align: center;
}

.copy small {
	display: inline-block;
	font-size: 0.72rem;
	letter-spacing: 0.06em;
	line-height: 1.8;
	color: #fff;
}

/*フッターメニュー
---------------------------------------------------------------------------*/
/*メニューブロック全体*/
#footermenu {
	margin: 0;
	padding: 1%;		/*ブロック内の余白*/
}

/*メニュー１個あたり*/
#footermenu li {
	display: inline-block;	/*横並びにする*/
	padding: 0 10px;		/*上下、左右への余白*/
	font-size: 1.2em;		/*文字サイズ*/
}
.footer_box {
    text-align: left;
    padding: 0.2rem 5%;
    background-color: var(--base-color);
}
.footer_box a {
    color: var(--white-color);
    text-decoration: none;
	display: inline;
}
.footer_box ul li {
    color: var(--white-color);
    text-decoration: none;
	display: inline;
	padding-left:0.5rem;
	font-size:0.85rem;
}
.footer_box ul li::after {
    content: '｜';
    color: var(--white-color);
    margin-left:0.85rem;
}

/*「お知らせ」ブロック
---------------------------------------------------------------------------*/
/*お知らせブロック*/
#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;	/*文字色*/
	font-family:"Noto Sans JP";	/*フォント種類*/
	font-weight:400;
	color:#000;
}
.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;	/*上下、左右へのボックス内の余白*/
	width:1024px;
	margin-right:5%;
}

/*質問*/
.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;		/*枠線の幅、線種、色*/
	width:90%;
	
}

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

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

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

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

.faq h4 {
	margin: 0;
	color: #666;	/*文字色*/
	font-family:"Noto Sans JP";	/*フォント種類*/
	font-weight:400;
	color:#000;
}

/*ACCESS
---------------------------------------------------------------------------*/
/*ACCESSボックス全体*/
.access_wrap {
	padding: 30px 10px 10px 0px;	/*上下、左右へのボックス内の余白*/
	margin-bottom:100px;
	width:80vw;

}
.access {
	padding: 0 10px;	/*上下、左右へのボックス内の余白*/
}
.map {
	width:85%;
}

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

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

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

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

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

.access h4 {
	margin: 0;
	color: #666;	/*文字色*/
	font-family:"Noto Sans JP";	/*フォント種類*/
	font-weight:400;
	color:#000;
}



/*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: #003f67;	/*背景色*/
	letter-spacing: 0.1em;	/*文字間隔を少し広くする指定*/
	color: #fff;			/*文字色*/
	transition: 0.3s;		/*hoverまでにかける時間。0.3秒。*/
	padding: 1em 2em;		/*余白*/
	margin: 0 auto 30px;	/*ボタンの外側に空けるスペース。上、左右、下への順番。*/
	border-radius: 10vh;
}

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

.button a {
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 0 auto;
    max-width: 340px;
    padding: 10px 0px 10px 25px;
    font-family: "Noto Sans Japanese";
    line-height: 1.8;
    text-decoration: none;
    color: #003f67;
    transition: 0.3s ease-in-out;
    font-weight: 500;
    letter-spacing:0.2px;
}

.button a:before, .button a:after {
  content: "";
  position: absolute;
  display: block;
  top: 50%;
}
.button a:before {
  width: 0.5rem;
  height: 0.5rem;
  left: 1.1rem;
  border-top: solid 2px #003f67;
  border-right: solid 2px #003f67;
  z-index: 2;
  transform: translateY(-50%) rotate(45deg);
  transition: all 0.3s;
}
.button a:after {
  left: 0;
  background: #eee;
  z-index: 1;
  width: 3rem;
  height: 3rem;
  border-radius: 4rem;
  transform: translateY(-50%);
  transition: all 0.5s;
}
.button a span {
  position: relative;
  transition: all 0.3s;
  z-index: 3;
}

.button a:hover span {
  color: #fff;
}
.button a:hover:before {
  left: 2.5rem;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
}
.button a:hover:after {
  right: 0;
  width: 100%;
  background: #003f67;
}


/*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;	/*左よせにする*/
}


/*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%;	/*円形にする*/
}


/*bg1（背景に色がついたタイプ）
---------------------------------------------------------------------------*/
.bg1 {
	background: #111;	/*背景色*/
	color: #fff;		/*文字色*/
}
.bg1 a {
	color: #fff;		/*リンクテキストの文字色*/
}

#f-navi {
	background: #f8f8f8;
}
#f-navi ul {
    display: flex;
    margin: 0 auto;
    padding: 0 3%;
    width: 94%;
    max-width: 960px;
    list-style-type: none;
}
#f-navi ul li {
      position: relative;
      width: 33%;
}
#f-navi ul li:first-child::before {
      position: absolute;
      display: block;
      content: "";
      top: 25%;
      left: 0px;
      width: 1px;
      height: 50%;
      background-color: #976d52;
}
#f-navi ul li::after {
      position: absolute;
      display: block;
      content: "";
      top: 25%;
      right: 0px;
      width: 1px;
      height: 50%;
      background-color: #976d52;
}
#f-navi ul li a {
	display: block;
	padding: 10px 6px;
	color: #666;
	text-align: center;
	text-decoration: none;
}
#f-navi ul li a:hover {
	opacity: 1;
	background: #91ACBD;	/*背景色*/
	color: #fff;			/*文字色*/
}



.shutter{
  position:fixed;
  top:0;
  left:0;
  right:0;
  bottom:0;
  background-color:#000;
  z-index:9999;
  opacity:1;
}
.shutter::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  margin: auto;
  background-color: #fff;
  width: 0;
  height: 1px;
  opacity:1;
}
h1.top_h1 {
  position: absolute;
  top: 44%;
  left: 50%;
  transform: translate(-50%,-50%);
}

h5.privacy {
	font-size: 14px;
	color: #333;
	letter-spacing: 0.1em;
	font-weight: bold;
	clear: both;
	position: relative;
	max-width:100%;
	margin-top: 20px;
	margin-left: 0em;
	padding-top: 6px;
	padding-right: 10px;
	padding-bottom: 5px;
	padding-left: 20px;
	letter-spacing: 0.1em;
	font-family: "Noto Sans JP","游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Osaka, "ＭＳ ゴシック", "MS Gothic", sans-serif;
	background-color: #EEF0F0;
	border-radius: 0px;
	-webkit-border-radius: 0px;
	-moz-border-radius: 0px;;
	clear: both;
	
}
h5.privacy::after {
	display: block;
	width: 4px;
	height: 14px;
	position: absolute;
	top: 10px;
	left: 12px;
	background-color: #ccc;
	content: '';
}
p.privacy {
	font-size: 1em;
	line-height: 1.6em;
	padding: 0px;
	margin-bottom: 30px;
	margin-top: 9px;
	margin-right: 30px;
	margin-left: 30px;
}
h5.policy {
	font-size: 14px;
	color: #333;
	letter-spacing: 0.1em;
	font-weight: bold;
	clear: both;
	position: relative;
	max-width:100%;
	margin-top: 20px;
	margin-left: 0em;
	padding-top: 6px;
	padding-right: 10px;
	padding-bottom: 5px;
	padding-left: 2em;
	letter-spacing: 0.1em;
	font-family: "Noto Sans JP","游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Osaka, "ＭＳ ゴシック", "MS Gothic", sans-serif;
	
}
h3.policy::after {
	display: block;
	width: 13px;
	height: 13px;
	position: absolute;
	top: 10px;
	left: 0.5em;
	background-color: #333;
	content: '';
}
h4.policy {
	font-size: 14px;
	color: #333;
	letter-spacing: 0.1em;
	font-weight: bold;
	clear: both;
	position: relative;
	max-width:100%;
	margin-top: 20px;
	margin-left: 0em;
	padding-top: 6px;
	padding-right: 10px;
	padding-bottom: 5px;
	padding-left: 0.5em;
	letter-spacing: 0.1em;
	font-family: "Noto Sans JP","游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Osaka, "ＭＳ ゴシック", "MS Gothic", sans-serif;
	background-color: #EEF0F0;
	border-radius: 0px;
	-webkit-border-radius: 0px;
	-moz-border-radius: 0px;;
	clear: both;
	
}
p.policy {
	font-size: 1em;
	line-height: 1.6em;
	padding: 0px;
	margin-bottom: 30px;
	margin-top: 9px;
	margin-right: 30px;
	margin-left: 30px;
}
ul.policy {
	margin-left:auto;
	margin-right:auto;
}
ul.policy li {
	font-size: 1em;
	line-height: 1.6em;
	padding: 0px;
	margin-bottom: 0px;
	margin-top: 9px;
	margin-right: 30px;
	margin-left: -6px;
	list-style:none;
}
p.browser {
	font-size: 1em;
	line-height: 1.6em;
	padding: 0px;
	margin-bottom: 9px;
	margin-top: 9px;
	margin-right: 30px;
	margin-left: 9px;
}


/* =========================
言語切替ボタン
========================= */
.lang_switch {
	position: absolute;
	top: 20px;
	right: 24px;
	z-index: 20;

	display: flex;
	align-items: center;

	padding: 4px;
	border-radius: 999px;

	background: rgba(255,255,255,0.12);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);

	border: 1px solid rgba(255,255,255,0.18);

	box-shadow:
	0 4px 12px rgba(0,0,0,0.15);
}

.lang_switch a {
	display: block;

	min-width: 44px;
	padding: 6px 14px;

	text-align: center;
	text-decoration: none;

	font-size: 0.78rem;
	font-weight: 500;
	letter-spacing: 0.08em;

	color: rgba(255,255,255,0.75);

	border-radius: 999px;

	transition: all 0.3s ease;
}

/* active側 */
.lang_switch a.active {
	background: rgba(255,255,255,0.92);
	color: #003f67;

	box-shadow:
	0 2px 6px rgba(0,0,0,0.12);
}

/* hover */
.lang_switch a:hover {
	color: #fff;
}

/* 区切り線を消す */
.lang_switch span {
	display: none;
}

/*その他
---------------------------------------------------------------------------*/
.clearfix::after {content: "";display: block;clear: both;}
.color-theme, .color-theme a {color: #003f67 !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;}
.pc {display: none;}
.fl {float: left;}
.fr {float: right;}
.w100 {width: 100%;}
.w94 {width: 94%;}
.w60 {width: 60%;}
.w40 {width: 40%;}
.w30 {width: 30%;}
.w25 {width: 25%;}
.w20 {width: 20%;}
.w15 {width: 15%;}
.lh2 {line-height: 2rem;}
.mt6 {margin-top: 6px !important;}
.mt15 {margin-top: 15px !important;}
.mt20 {margin-top: 20px !important;}
.mt30 {margin-top: 30px !important;}
.mt60 {margin-top: 60px !important;}
.note {color:#8b0000;font-size:0.8rem;}
.note2 {color:#666;font-size:0.8rem;}
.mb10 {margin-bottom: 10px !important;}
.mb15,.mb1em {margin-bottom: 15px !important;}
.mb20 {margin-bottom: 20px !important;}
.mb30 {margin-bottom: 30px !important;}
.mb50 {margin-bottom: 50px !important;}
.mb60 {margin-bottom: 60px !important;}
.mb80 {margin-bottom: 80px !important;}
.mb90 {margin-bottom: 90px !important;}
.mb100 {margin-bottom: 100px !important;}
.mb200 {margin-bottom: 200px !important;}
.fs {font-size: 0.86rem;line-height: 1.2rem;font-family:"Noto Sans JP";}
.fm {font-size: 0.95rem;line-height: 1.2rem;font-family:"Noto Sans JP";}
.fb {font-size: 1.1rem;font-family:"Noto Sans JP";}
.color2 {color: #666 !important;}
.color3 {color: #000 !important;}
.color4 {color: #333 !important;}
.color5 {color: #8b0000 !important;}


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

#menubar .ddmenu_parent ul {
	display: none;
	position: absolute;
	z-index: 1000;
	top: 100%;
	left: 0;
	width: 100%;
	background: #fff;
}

#menubar .ddmenu_parent ul li a {
	color: #333 !important;
	background: #fff !important;
}

#menubar .ddmenu_parent ul li a:hover {
	color: #fff !important;
	background: #003f67 !important;
}

#menubar .ddmenu_parent ul li {
	width: 100%;
	flex: none;
}

}
/*---------------------------------------------------------------------------
ここから下は画面幅1024px以下の追加指定
---------------------------------------------------------------------------*/
@media screen and (max-width: 1024px) {
/* 1024pxまでの幅の場合に適応される */
/*全体の設定
---------------------------------------------------------------------------*/
html, body {
	font-size: 15px;	/*基準となるフォントサイズの上書き*/
}
/*header（ロゴなどが入った最上段のブロック）
---------------------------------------------------------------------------*/

/*トップページのロゴ画像*/
.home header {
	width: 100%;
}
/*トップページのロゴ画像*/
.home header #logo {
	left: 10%;
	padding-top: 15%;
	max-width: 450px;
}


/*menubarブロック設定
---------------------------------------------------------------------------*/
/*メニューブロック全体*/



/*ドロップダウンメニュー
---------------------------------------------------------------------------*/
#menubar .ddmenu_parent{
	position: relative;	/*ddmenu ulの幅となる基準を作っておく*/
}

/*ドロップダウンメニューブロック全体*/
#menubar .ddmenu_parent ul {
	position: absolute;
	z-index: 1000;
	top: 100%;
	left: 0;
	width: 100%;
	background: #fff;
}

/*３本バー（ハンバーガー）アイコン設定
---------------------------------------------------------------------------*/
/*ハンバーガーメニューを非表示にする*/
#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: #4682b4;	/*背景色*/
}
#new dt span.icon-bg2 {
	background: #f4a460;	/*背景色*/
}
#new dt span.icon-bg3 {
	background: #708090;	/*背景色*/
}

/*記事(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: 28%;			/*幅。３列になります。*/
	margin-right: 2%;	/*右側へのマージン*/
}
.list2 {
	flex-direction: column;			/*子要素を縦並びにする*/
	max-width: 240px;
	width:21%;			/*幅。4列になります。*/
	margin-right: 2%;	/*右側へのマージン*/
	padding-left: 2%;	
}

/*３の倍数のボックスへの追加設定*/
.list:nth-of-type(3n) {
	margin-right: 0;	/*右側マージンをなくす*/
}

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

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

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



/*テーブル
---------------------------------------------------------------------------*/
/*テーブル１行目に入った見出し部分（※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;}
.sh {display: none;}
.pc {display: block;}


/*　※注意！　下の閉じカッコ　}　はこのブロックに必要なので、削除しないで下さい。　*/
}
/*---------------------------------------------------------------------------
ここから下は画面幅768px以下の追加指定
---------------------------------------------------------------------------*/
@media screen and (max-width: 768px) {
/* 768pxまでの幅の場合に適応される */

/*ロゴ画像*/
header .logo_wrap img {display: block;}
header .logo_wrap {
	max-width: 450px;		/*幅*/
	margin: 0rem 0rem 0rem 5rem ;		/*ロゴを左右中央に配置*/
}

/*　※注意！　下の閉じカッコ　}　はこのブロックに必要なので、削除しないで下さい。　*/
}
/*---------------------------------------------------------------------------
ここから下は画面幅480px以下の追加指定
---------------------------------------------------------------------------*/
@media screen and (max-width: 480px) {
/* 480pxまでの幅の場合に適応される */

/* =========================
スマホ用ロゴ調整
========================= */

/* ロゴ外枠 */
header .logo_wrap {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 12px 0 0 0 !important;
	text-align: center !important;
}

/* PCロゴ非表示 */
.logo2.pc {
	display: none !important;
}

/* スマホロゴ表示 */
.logo2.sh {
	display: block !important;
	width: 210px !important;
	max-width: 82vw !important;
	margin: 14px auto 0 !important;
	padding: 0 !important;
}

/* スマホロゴ画像 */
.logo2.sh img {
	display: block !important;
	width: 100% !important;
	height: auto !important;
	margin: 0 auto !important;
}

/* スマホ表示切替 */
.sh {
	display: block;
}

.pc {
	display: none;
}

/* ロゴ下テキスト非表示 */
header .logo_wrap p {
	display: none;
}

/*menubarブロック設定
---------------------------------------------------------------------------*/
/*メニューブロック全体*/
#menubar > nav > ul {
	display: block !important;
}

#menubar > nav > ul > li {
	display: block !important;
	width: 100% !important;
}

.s #menubar.db a {
	display:block;
	width:100%;
	box-sizing:border-box;
}

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


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


.list-container {
	display: flex;
	flex-wrap: wrap;
}

/*１個あたりのボックス設定*/
.list {
	flex-direction: column;
	width: 96%;
	margin: 1rem auto;
}

.list2 {
	flex-direction: column;
	width: 96%;
	margin: 1rem auto;
}

.imgL {
	width: 96%;
	justify-content: space-around;
	margin-bottom: 1rem;
}

.imgR {
	width: 96%;
	justify-content: space-around;
	margin-bottom: 1rem;
}

header #mainimg {
    display: none;
}

header #mainimg2 {
    display: block;
    width: 100%;
    height: auto;
    overflow: hidden;
}

header #mainimg2 video {
    display: block;
    width: 100%;
    height: auto;
}

.head-box {
	height: 80px;
}


/* =========================
table_02 スマホ最適化・縦カード化
========================= */

.table_02,
.table_02 tbody,
.table_02 tr,
.table_02 th,
.table_02 td {
	display: block;
	width: 100%;
	box-sizing: border-box;
}

.table_02 {
	width: 100%;
	border: none;
	table-layout: fixed;
	font-size: 0.9rem;
	word-break: break-word;
	margin-left: auto;
	margin-right: auto;
}

.table_02 tr {
	margin-bottom: 24px;
	border: 1px solid #ddd;
	border-radius: 12px;
	padding: 12px;
	background: #fff;
	box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}

.table_02 th {
	display: none;
}

.table_02 td {
	border: none;
	padding: 8px 0;
	font-size: 1rem;
	line-height: 1.7;
	background: none !important;
	width: 100% !important;
	white-space: normal;
	word-break: break-word;
	overflow-wrap: break-word;
	letter-spacing: 0;
}

.table_02 td.left {
	font-size: 1rem;
	font-weight: bold;
	color: #003f67;
	border-bottom: 1px solid #ddd;
	margin-bottom: 10px;
	padding-bottom: 10px;
}

/* 各項目ラベル */
.table_02 td:nth-child(2)::before {
	content: "What";
	display: block;
	font-weight: bold;
	color: #666;
	margin-bottom: 4px;
	font-size: 1rem;
	letter-spacing: 0.05em;
}

.table_02 td:nth-child(3)::before {
	content: "Why";
	display: block;
	font-weight: bold;
	color: #666;
	margin-bottom: 4px;
	font-size: 1rem;
	letter-spacing: 0.05em;
}

.table_02 td:nth-child(4)::before {
	content: "Healthspan Impact";
	display: block;
	font-weight: bold;
	color: #666;
	margin-bottom: 4px;
	font-size: 1rem;
	letter-spacing: 0.05em;
}

/* =========================
table_01 スマホ縦積み化
========================= */

.table_01,
.table_01 tbody,
.table_01 tr,
.table_01 th,
.table_01 td {
	display: block;
	width: 100%;
	box-sizing: border-box;
}

.table_01 {
	width: 100%;
	margin: 20px auto 30px;
}

.table_01 tr {
	margin-bottom: 20px;
	padding-bottom: 16px;
	border-bottom: 1px solid #ddd;
}

.table_01 th {
	width: 100%;
	border: none;
	background: #f5f5f5;
	padding: 10px 14px;
	font-size: 0.9rem;
	font-weight: bold;
	letter-spacing: 0.05em;
	text-align: left;
	white-space: normal;
}

.table_01 td {
	width: 100%;
	border: none;
	padding: 12px 14px;
	font-size: 0.95rem;
	line-height: 1.8;
	background: #fff;
}

.table_01 ul {
	margin: 0;
	padding-left: 1.2em;
}

.table_01 li {
	margin-bottom: 0.5em;
	line-height: 1.7;
}
.table_01 li {
	margin-left: 0;
	padding-left: 0;
	list-style-position: outside;
}
.table_01 ul {
	padding-left: 1.2em;
}

.table_01 li {
	margin-left: 0;
}

/* =========================
言語切替 スマホ
========================= */
.lang_switch {
	top: 6px;
	right: 2px;
	transform: scale(0.72);
	transform-origin: top right;
}
.home .lang_switch {
	top: 12px;
	right: 12px;
	transform: scale(0.8);
}

/* =========================
News スマホ最適化
========================= */

#new {
	display: block;
	padding: 0 10px;
}

#new dt,
#new dd {
	display: block;
	width: 100%;
	padding: 0;
}

#new dt {
	margin-bottom: 6px;
	font-size: 0.9rem;
}

#new dt span {
	display: inline-block;
	width: auto;
	margin-left: 10px;
	margin-right: 0;
	padding: 2px 10px;
	position: static;
	vertical-align: middle;
}

#new dd {
	margin-bottom: 24px;
	line-height: 1.8;
}

/* =========================
table_03 スマホ縦カード化
Glycan Science対応
========================= */

.table_03,
.table_03 tbody,
.table_03 tr,
.table_03 th,
.table_03 td {
	display: block;
	width: 100%;
	box-sizing: border-box;
}

.table_03 {
	width: 100%;
	margin: 20px auto 30px;
	border: none;
}

.table_03 tr {
	margin-bottom: 18px;
	border: 1px solid #ddd;
	border-radius: 10px;
	overflow: hidden;
	background: #fff;
}

.table_03 th {
	border: none;
	border-bottom: 1px solid #ddd;
	padding: 10px 14px;
	background: #f5f5f5;
	font-weight: bold;
	text-align: left;
	white-space: normal;
	line-height: 1.6;
}

.table_03 td {
	border: none;
	border-bottom: 1px solid #eee;
	padding: 10px 14px;
	text-align: left;
	line-height: 1.7;
	white-space: normal;
	word-break: break-word;
	overflow-wrap: break-word;
}

.table_03 td:last-child {
	border-bottom: none;
}

.table_03 td.bg,
.table_03 th.bg {
	background: #e6f7ff;
}

/* 4列テーブルの見出し行はスマホでは非表示 */
.table_03 tr:first-child {
	display: none;
}

/* =========================
table_04 / table_05 スマホ縦型化
========================= */

.table_04,
.table_04 tbody,
.table_04 tr,
.table_04 th,
.table_04 td,
.table_05,
.table_05 tbody,
.table_05 tr,
.table_05 th,
.table_05 td {
	display: block;
	width: 100%;
	box-sizing: border-box;
}

.table_04,
.table_05 {
	width: 100%;
	margin: 20px auto 30px;
	border: none;
}

.table_04 tr,
.table_05 tr {
	margin-bottom: 16px;
	border: 1px solid #ddd;
	border-radius: 10px;
	overflow: hidden;
	background: #fff;
}

.table_04 th,
.table_05 th {
	width: 100% !important;
	border: none;
	border-bottom: 1px solid #ddd;
	padding: 10px 14px;
	background: #f5f5f5;
	font-weight: bold;
	text-align: left;
	white-space: normal;
	line-height: 1.6;
}

.table_04 td,
.table_05 td {
	width: 100% !important;
	border: none;
	padding: 12px 14px;
	text-align: left;
	line-height: 1.7;
	white-space: normal;
	word-break: break-word;
	overflow-wrap: break-word;
}

.table_05 td a {
	display: inline-block;
	margin-left: 0.5em;
}

#menubar > nav > ul{
	display:block !important;
	background:none !important;
}

#menubar > nav > ul > li{
	display:block !important;
	width:100% !important;
}

.s #menubar.db a{
	display:block;
	width:100%;
	box-sizing:border-box;
}
#menubar .ddmenu_parent ul {
	position: static !important;
	display: block !important;
	width: 100% !important;
	background: transparent !important;
	border: none !important;
}
#menubar .ddmenu_parent ul li a {
	color:#333 !important;
}
.s #menubar .ddmenu_parent ul li a {
	color: #fff !important;
	background: transparent !important;
}
/*　※注意！　下の閉じカッコ　}　はこのブロックに必要なので、削除しないで下さい。　*/
}
/*---------------------------------------------------------------------------
ここから下は画面幅320px以下の追加指定
---------------------------------------------------------------------------*/
@media screen and (max-width: 320px) {
/* 320pxまでの幅の場合に適応される */

/*ロゴ画像*/
header .logo_wrap {
	display: none;		/*ロゴを左右中央に配置*/
}
/*　※注意！　下の閉じカッコ　}　はこのブロックに必要なので、削除しないで下さい。　*/
}