@charset "UTF-8";


html{
	font-family: sans-serif;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
}

body{
	margin: 0;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary{
	display: block;
}

audio,
canvas,
progress,
video{
	display: inline-block;
	vertical-align: baseline;
}

audio:not([controls]){
	display: none;
	height: 0;
}


a{
	background-color: transparent;
}

a:active,
a:hover{
	outline: 0;
}


b,
strong{
	font-weight: bold;
}

dfn{
	font-style: italic;
}

h1{
	margin: 0.67em 0;
	font-size: 2em;
}

mark{
	background: #ff0;
	color: #000;
}

small{
	font-size: 80%;
}

sub,
sup{
	vertical-align: baseline;
	line-height: 0;
	position: relative;
	font-size: 75%;
}

sup{
	top: -0.5em;
}

sub{
	bottom: -0.25em;
}

img{
	border: 0;
}

svg:not(:root){
	overflow: hidden;
}

figure{
	margin: 1em 40px;
}

hr{
	height: 0;
	-moz-box-sizing: content-box;
	box-sizing: content-box;
}

pre{
	overflow: auto;
}

code,
kbd,
pre,
samp{
	font-family: monospace, monospace;
	font-size: 1em;
}

button,
input,
optgroup,
select,
textarea{
	margin: 0;
	color: inherit;
	font: inherit;
}

button{
	overflow: visible;
}

button,
select{
	text-transform: none;
}


legend{
	padding: 0;
	border: 0;
}

textarea{
	overflow: auto;
}

optgroup{
	font-weight: bold;
}


/*------------------------------------------------------------
共通設定
-------------------------------------------------------------*/

html{
	overflow-y: scroll;
}

body{
	font-family: serif, Verdana, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
}

a{
	-webkit-transition: 0.3s;
	-o-transition: 0.3s;
	transition: 0.3s;
	color: #03c;
}
a:hover,
a:active,
a:focus{
	color: #f60;
}

address,
caption,
cite,
code,
dfn,
var,
h1,
h2,
h3,
h4{
	font-style: normal;
	font-weight: normal;
}

q{
	quotes: none;
}

q:before,q:after{
	content: '';
	content: none;
}

img{
	vertical-align: bottom;
	-ms-interpolation-mode: bicubic;
}

div{
	word-wrap: break-word;
}

pre{
	overflow: auto;
	white-space: pre-wrap;
	word-wrap: break-word;
}

form{
	margin: 0;
}

button,
input,
select,
textarea,
optgroup,
option{
	vertical-align: baseline;
}

select{
	max-width: 100%;
}

textarea{
	min-height: 100px;
	vertical-align: top;
}

button::-moz-focus-inner,
input::-moz-focus-inner{
	margin: 0;
}

table{
	width: 100%;
	word-break: break-all;
	word-wrap: break-word;
	border-spacing: 0;
}

caption{
	text-align: left;
}

img{
	height: auto;
	max-width: 100%;
}


.fl-l > img{
	width:100%;
	max-width: 100%;
	height:auto;
}

p{
	margin: 0 0 em;
}

ul,
ol{
	margin-left: 40px;
	padding-left: 0;
}

li{
	margin-bottom: 0.5em;
}


dd{
	margin-left: 0;
	padding-left: 1em;
}

figure{
	margin: 1em 0;
}


/*--------------------------------------------------------
レイアウト
--------------------------------------------------------*/

.site-header,
.global-nav,
.main-body,
.site-footer{
	min-width: 1200px;
}

.site-header-in,
.global-nav-in,
.main-image-in,
.main-image-in-text,
.main-image-in-text-cont,
.main-copy,
.sub-copy,
.main-image-in-text-box,
.main-body-in,
.site-footer-in{
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	width: 1200px; /*サイトの横幅。これより小さければレスポンシブ*/
	margin: auto;
}

.main-image-in img{
	width: 100%;
}

.main-image-in.wide,
.main-image-in-text.wide{
	width: 100%;
}


/*1カラムレイアウト*/
.col1 .main-body-in{
	width: 100%;
}

.col1 .breadcrumbs{
	width: 1200px;
	margin-right: auto;
	margin-left: auto;
}


/*--------------------------------------------------------
ヘッダー
--------------------------------------------------------*/

.site-header-conts{
	display: table;
	width: 100%;
	padding: 20px 0;
}

/*ヘッダーロゴ*/
.site-title{
	display: table-cell;
	margin: 0;
	font-size: 2.25em;
}

.site-title a{
	color: #333;
	text-decoration: none;
}

.site-title a:hover,
.site-title a:active,
.site-title a:focus{
	text-decoration: underline;
}

.normal-screen .site-title{
	font-size: 3em;
}

.normal-screen .lp-catch{
	font-size: 1.5em;
}

/*ヘッダー右側の要素*/
.header-box{
	display: table-cell;
	text-align: right;
}


/*--------------------------------------------------------
グローバルナビ
--------------------------------------------------------*/

.global-nav{
	padding: 0;
	border-top:1px solid #e6e6e6;
	border-bottom:1px solid #e6e6e6;
	background:#FFFFFF;
}

/*グローバルナビの開閉用ボタン*/
.global-nav-panel{
	display: none;
	font-size: 12px;
}

.global-nav-panel span{
	display: block;
	min-height: 20px;
	line-height: 20px;
}

.icon-gn-menu{
	padding-left: 25px;
	background: url(./images/icon-gn-menu.png) left center no-repeat;
}

.icon-gn-close{
	padding-left: 25px;
	background: url(./images/icon-gn-close.png) left center no-repeat;
}

	/*Retina（高解像度）ディスプレイ用*/
	@media screen and (-webkit-min-device-pixel-ratio:2),
	(min-resolution: 2dppx){
		.icon-gn-menu{
			background: url(./images/icon-gn-menu@2x.png) left center no-repeat;
			-webkit-background-size: 20px 20px;
			background-size: 20px 20px;
		}

		.icon-gn-close{
			background: url(./images/icon-gn-close@2x.png) left center no-repeat;
			-webkit-background-size: 20px 20px;
			background-size: 20px 20px;
		}
	}

.global-nav .show-menu,
.global-nav .show-menu li ul{
	display: block!important;
}

.global-nav-in ul{
	display: table;
	width: 100%;
	margin: 0;
	padding: 0;
	border-left: 1px dotted #bcbcbc;
	table-layout: fixed; /*メニューの幅を均等に*/
}

.global-nav-in li{
	display: table-cell;
	list-style: none;
	position: relative;
	vertical-align: middle;
	margin: 0;
	border-bottom: 3px solid #3770ad;
	text-align: center;
}

.global-nav-in li a{
	display: block;
	min-height: 1.5em; /*メニュー毎に高さが変わるときに調整*/
	padding: 0.8em 1em; /*画像をメニューにする場合は値を0に*/
	border-right: 1px dotted #bcbcbc;
	background-color: #FFFFFF;
	color: #3770ad;
	text-decoration: none;
}

.global-nav-in li a:hover,
.global-nav-in li a:active,
.global-nav-in li a:focus,
.global-nav-in li:hover > a{
	background-color: #BED8DF;
	color: #FFFFFF;
}

.global-nav-in li ul{
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 10;
	width: 100%;
	border-left: 0;
}

.global-nav-in li ul:not(:target){
	filter: none;
}

/*ドロップダウンメニューのデザイン*/
.global-nav li ul li{
	display: list-item;
	width: 100%;
	margin: 0;
	padding: 0;
	border-top: 0;
	border-right: 0;
	border-bottom: 1px solid #dadada;
	white-space: normal;
}

.global-nav li ul li a{
	display: block;
	padding: 0.8em 1em;
}
.global-nav-in li ul li:hover > a{
	background-color: #eeeeee;
	color: #3770ad;
}

.global-nav-in li ul ul{
	top: 0;
	left: 100%;
}


/*--------------------------------------------------------
メインボディ
--------------------------------------------------------*/

.main-body{
	margin-top: 2em;
	padding-bottom: 30px;
}

.no-gn .main-body{
	margin-top: 0;
}

.lp.no-gn .main-body{
	margin-top: 2em;
}


/*--------------------------------------------------------
パンくずリスト
--------------------------------------------------------*/
/* パンくずリスト */
.breadcrumb-area{
	display:block;
	max-width:1200px;
  margin-left:auto;
	margin-right:auto;
}

.breadcrumb {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  /*background-color:#000000;*/
  max-width:1200px;
  margin-top:5px;
  margin-bottom:5px;
  margin-left:20px;

}

.breadcrumb li:not(:last-of-type)::after {
  content: ">";
  margin: 0 .6em; /* 記号の左右の余白 */
  color: #777; /* 記号の色 */
}

.breadcrumb a {
  color: inherit;
  text-decoration: none;
}


@media only screen and (max-width : 736px){
.breadcrumb{
	  margin-left:5%;
	}	
}


/*--------------------------------------------------------
メインコンテンツ
--------------------------------------------------------*/
.main-conts{
	line-height: 1.8;
}

.col1 .main-conts{
	margin-bottom: 40px;
}

.section-wrap{
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	margin-bottom: 30px;
	padding: 40px;
	border: 1px solid #ccc;
}

.section-wrap.wide{
	border-right: 0;
	border-left: 0;
}

.section-wrap .section-in,
.float-area{
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.float-area{
	margin-bottom: 10px;
}

/*1カラムレイアウト*/
.col1 .section-wrap,
.col1 .float-area{
	width: 1200px;
	margin-right: auto;
	margin-left: auto;
}

.col1 .section-wrap{
	padding: 40px 80px;
}

.col1 .section-wrap.wide{
	width: 100%;
	padding: 40px 0;
}

.col1 .section-wrap.wide .section-in{
	width: 1200px;
	margin-right: auto;
	margin-left: auto;
	padding: 30px 0;
}


/*--------------------------------------------------------
フッター
--------------------------------------------------------*/
.site-footer{
	background: #aaaaaa;
	color: #fff;
}

.site-footer-in a{
	color: #fff;
}

.site-footer-in a:hover,
.site-footer-in a:active,
.site-footer-in a:focus{
	color: #f60;
}



/*コピーライト*/
.copyright{
	margin: 0;
	padding: 15px 0;
	background: #3770ad;
	color: #fff;
	text-align: center;
}

.copyright small{
	font-size: 100%;
}


/*--------------------------------------------------------
見出し
--------------------------------------------------------*/

.section-in > h1:first-child,
.section-in > h2:first-child,
.section-in > h3:first-child,
.section-in > h4:first-child{
	margin-top: 0;
}

.main-body h1{
	margin: 60px 0 20px;
	padding: 10px 18px;
	background: #909090;
	color: #fff;
	font-size: 1.6em;
}


.main-body h2{
	position: relative;
	padding-bottom: 5px;
	font-size: 1.6em;
}


.main-body h2::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 8px;
	background-image:
		repeating-linear-gradient(45deg, #3770ad 0px, #3770ad 1px, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 50%),
		repeating-linear-gradient(135deg, #3770ad 0px, #3770ad 1px, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 50%);
	background-size: 8px 8px;
}


.main-body h3{
	border-bottom: solid 3px #cce4ff;
	position: relative;
	font-size: 1.2em;
}

.main-body h3::after {
	position: absolute;
	content: " ";
	display: block;
	border-bottom: solid 3px #5472cd;
	bottom: -3px;
	width: 20%;
}


h4{
	margin: 5px 0 10px;
	font-weight: bold;
	font-size: 1.0em;
	text-align:center;	
}

@media
only screen and (max-width : 736px){
h4{
	margin: 5px 0 10px;
	}	
}


.main-body .img-title{
	padding: 0;
	border: none;
	background: none;
	border-radius: 0;
	box-shadow: none;
	font-weight: normal;
	font-size: 1.0em;
}

.main-body h1 a,
.main-body h2 a{
	color: #fff;
}

.main-body h1 a:hover,
.main-body h2 a:hover,
.main-body h1 a:active,
.main-body h2 a:active,
.main-body h1 a:focus,
.main-body h2 a:focus{
	color: #f60;
}

/*コンテンツの外にある見出し*/
.main-body .archive-title{
	margin: 0 0 30px;
	background:#3770AD;
	font-size:1.125em;
}

.col1 .main-body .archive-title{
	max-width: 1200px;
	margin-right: auto;
	margin-left: auto;
}

/*記事タイトルや基本単位毎の最初の見出し*/
.section-wrap .section-title{
	line-height: 1.5;
	margin: 0 0 1em;
	padding: 0;
	border: none;
	background: transparent;
	color: #333;
	font-size: 2.125em;
	box-shadow: 0 0 0 rgba(0, 0, 0, 0);
}

.main-body .section-title a{
	color: #333;
}

.main-body .section-title a:hover,
.main-body .section-title a:active,
.main-body .section-title a:focus{
	color: #f60;
	text-decoration: underline;
}

.sub-conts .section-wrap .section-in .section-title,
.sub-conts .section-wrap .article-header .section-title{
	margin: 20px -10px 30px;
	padding: 0 0 11px;
	border-bottom: 4px solid #cccccc;
	font-weight: normal;
	font-size: 1.125em;
}

.sub-conts h3{
	padding:20px 0 11px;
	margin: 20px -10px 30px;
}
.sub-conts h4{
	background-color:#f9f9f9;
}

/*--------------------------------------------------------
パーツ毎のスタイル
--------------------------------------------------------*/
/*段組*/
.col4-wrap,
.col3-wrap,
.col2-wrap{
	margin: 0 0 1em;
}

.col4-wrap .col,
.col4-wrap .col_2of4,
.col4-wrap .col_3of4,
.col3-wrap .col,
.col3-wrap .col_2of3,
.col2-wrap .col{
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	float: left;
	margin-left: 2%;
}

.col4-wrap .col:first-child,
.col4-wrap .col_2of4:first-child,
.col4-wrap .col_3of4:first-child,
.col3-wrap .col:first-child,
.col3-wrap .col_2of3:first-child,
.col2-wrap .col:first-child{
	margin-left: 0;
}

.col4-wrap .col{
	width: 23.5%;
}

.col4-wrap .col_2of4{
	width: 49%;
}

.col4-wrap .col_3of4{
	width: 74.5%;
}

.col3-wrap .col{
	width: 32%;
}

.col3-wrap .col_2of3{
	width: 66%;
}

.col2-wrap .col{
	width: 49%;
}

.col-link{
	border: 1px solid #ccc;
}

.col-link a{
	display: block;
	color: #333;
	text-decoration: none;
}

.col-link a:hover,
.col-link a:active,
.col-link a:focus{
	background: #eee;
}


	/*記述リスト 横並び*/
	.dl_style01 dt,
	.dl_style01 dd{
		padding: 10px 0;	
	}

	.dl_style01 dt{
		display: block;
		float: left;
		width: 30%;
		padding-right: 10px;
		font-weight: bold;
	}

	.dl_style01 dd{
	padding-left: 30%;
	border-bottom: 1px dotted #aaa;
}


/*--------------------------------------------------------
デザイン調整用のスタイル
--------------------------------------------------------*/

/*PC画面のみ表示*/
@media screen and (max-width: 480px){
.pconly{display:none;}}

/*スマホ画面のみ表示*/
@media screen and (min-width: 480px){
.sponly{display:none;}}



/*回り込み
※モバイル時にも解除されない*/
.fl-l{
	float: left;
	margin: 0 1em 1em 0;
}

.fl-r{
	float: right;
	margin: 0 0 1em 1em;
}

.fl-c{ clear: both; }

/*回り込み
※モバイル時には回り込み解除*/
.left{
	float: left;
	margin: 0 1em 1em 0;
}

.right{
	float: right;
	margin: 0 0 1em 1em;
}

/*文字の横位置*/
.al-l{ text-align: left; }
.al-r{ text-align: right; }
.al-c{ text-align: center; }

/*文字の縦位置*/
.vl-t{ vertical-align: top!important; }/*上寄せ*/
.vl-m{ vertical-align: middle!important; }/*中央寄せ*/
.vl-b{ vertical-align: bottom!important; }/*下寄せ*/

/*周りのブロックからの距離（margin）*/
.m0{ margin: 0!important; }/*周りからのmarginを0に*/
.m0-t{ margin-top: 0!important; }/*上からのmarginを0に*/
.m0-r{ margin-right: 0!important; }/*右からのmarginを0に*/
.m0-b{ margin-bottom: 0!important; }/*下からのmarginを0に*/
.m0-l{ margin-left: 0!important; }/*左からのmarginを0に*/

.m5{ margin: 5px!important; }
.m5-t{ margin-top: 5px!important; }
.m5-r{ margin-right: 5px!important; }
.m5-b{ margin-bottom: 5px!important; }
.m5-l{ margin-left: 5px!important; }

.m10{ margin: 10px!important; }
.m10-t{ margin-top: 10px!important; }
.m10-r{ margin-right: 10px!important; }
.m10-b{ margin-bottom: 10px!important; }
.m10-l{ margin-left: 10px!important; }

.m15{ margin: 15px!important; }
.m15-t{ margin-top: 15px!important; }
.m15-r{ margin-right: 15px!important; }
.m15-b{ margin-bottom: 15px!important; }
.m15-l{ margin-left: 15px!important; }

.m20{ margin: 20px!important; }
.m20-t{ margin-top: 20px!important; }
.m20-r{ margin-right: 20px!important; }
.m20-b{ margin-bottom: 20px!important; }
.m20-l{ margin-left: 20px!important; }

.m25{ margin: 25px!important; }
.m25-t{ margin-top: 25px!important; }
.m25-r{ margin-right: 25px!important; }
.m25-b{ margin-bottom: 25px!important; }
.m25-l{ margin-left: 25px!important; }

.m30{ margin: 30px!important; }
.m30-t{ margin-top: 30px!important; }
.m30-r{ margin-right: 30px!important; }
.m30-b{ margin-bottom: 30px!important; }
.m30-l{ margin-left: 30px!important; }

.m40{ margin: 40px!important; }
.m40-t{ margin-top: 40px!important; }
.m40-r{ margin-right: 40px!important; }
.m40-b{ margin-bottom: 40px!important; }
.m40-l{ margin-left: 40px!important; }

.m50{ margin: 50px!important; }
.m50-t{ margin-top: 50px!important; }
.m50-r{ margin-right: 50px!important; }
.m50-b{ margin-bottom: 50px!important; }
.m50-l{ margin-left: 50px!important; }

.m60{ margin: 60px!important; }
.m60-t{ margin-top: 60px!important; }
.m60-r{ margin-right: 60px!important; }
.m60-b{ margin-bottom: 60px!important; }
.m60-l{ margin-left: 60px!important; }

.m70{ margin: 70px!important; }
.m70-t{ margin-top: 70px!important; }
.m70-r{ margin-right: 70px!important; }
.m70-b{ margin-bottom: 70px!important; }
.m70-l{ margin-left: 70px!important; }

.m80{ margin: 80px!important; }
.m80-t{ margin-top: 80px!important; }
.m80-r{ margin-right: 80px!important; }
.m80-b{ margin-bottom: 80px!important; }
.m80-l{ margin-left: 80px!important; }

.m90{ margin: 90px!important; }
.m90-t{ margin-top: 90px!important; }
.m90-r{ margin-right: 90px!important; }
.m90-b{ margin-bottom: 90px!important; }
.m90-l{ margin-left: 90px!important; }

.m100{ margin: 100px!important; }
.m100-t{ margin-top: 100px!important; }
.m100-r{ margin-right: 100px!important; }
.m100-b{ margin-bottom: 100px!important; }
.m100-l{ margin-left: 100px!important; }



/*周りのブロックからの距離（padding）*/
.p0{ padding: 0!important; }
.p0-t{ padding-top: 0!important; }
.p0-r{ padding-right: 0!important; }
.p0-b{ padding-bottom: 0!important; }
.p0-l{ padding-left: 0!important; }

.p5{ padding: 5px!important; }
.p5-t{ padding-top: 5px!important; }
.p5-r{ padding-right: 5px!important; }
.p5-b{ padding-bottom: 5px!important; }
.p5-l{ padding-left: 5px!important; }

.p10{ padding: 10px!important; }
.p10-t{ padding-top: 10px!important; }
.p10-r{ padding-right: 10px!important; }
.p10-b{ padding-bottom: 10px!important; }
.p10-l{ padding-left: 10px!important; }

.p15{ padding: 15px!important; }
.p15-t{ padding-top: 15px!important; }
.p15-r{ padding-right: 15px!important; }
.p15-b{ padding-bottom: 15px!important; }
.p15-l{ padding-left: 15px!important; }

.p20{ padding: 20px!important; }
.p20-t{ padding-top: 20px!important; }
.p20-r{ padding-right: 20px!important; }
.p20-b{ padding-bottom: 20px!important; }
.p20-l{ padding-left: 20px!important; }

.p25{ padding: 25px!important; }
.p25-t{ padding-top: 25px!important; }
.p25-r{ padding-right: 25px!important; }
.p25-b{ padding-bottom: 25px!important; }
.p25-l{ padding-left: 25px!important; }

.p30{ padding: 30px!important; }
.p30-t{ padding-top: 30px!important; }
.p30-r{ padding-right: 30px!important; }
.p30-b{ padding-bottom: 30px!important; }
.p30-l{ padding-left: 30px!important; }

.p40{ padding: 40px!important; }
.p40-t{ padding-top: 40px!important; }
.p40-r{ padding-right: 40px!important; }
.p40-b{ padding-bottom: 40px!important; }
.p40-l{ padding-left: 40px!important; }

.p50{ padding: 50px!important; }
.p50-t{ padding-top: 50px!important; }
.p50-r{ padding-right: 50px!important; }
.p50-b{ padding-bottom: 50px!important; }
.p50-l{ padding-left: 50px!important; }

.p60{ padding: 60px!important; }
.p60-t{ padding-top: 60px!important; }
.p60-r{ padding-right: 60px!important; }
.p60-b{ padding-bottom: 60px!important; }
.p60-l{ padding-left: 60px!important; }

.p70{ padding: 70px!important; }
.p70-t{ padding-top: 70px!important; }
.p70-r{ padding-right: 70px!important; }
.p70-b{ padding-bottom: 70px!important; }
.p70-l{ padding-left: 70px!important; }

.p80{ padding: 80px!important; }
.p80-t{ padding-top: 80px!important; }
.p80-r{ padding-right: 80px!important; }
.p80-b{ padding-bottom: 80px!important; }
.p80-l{ padding-left: 80px!important; }

.p90{ padding: 90px!important; }
.p90-t{ padding-top: 90px!important; }
.p90-r{ padding-right: 90px!important; }
.p90-b{ padding-bottom: 90px!important; }
.p90-l{ padding-left: 90px!important; }

.p100{ padding: 100px!important; }
.p100-t{ padding-top: 100px!important; }
.p100-r{ padding-right: 100px!important; }
.p100-b{ padding-bottom: 100px!important; }
.p100-l{ padding-left: 100px!important; }

/*フォントの装飾*/
.b{ font-weight: bold!important; }/*太字*/
.normal{ font-weight: normal!important; }/*太字を解除*/

/*フォントサイズの設定*/
/*最小値:1.1rem → 可変（0.9rem + 0.625vw（画面幅320px:2px, 800px:5px, 1200px:7.5px））→ 最大値:1.6rem*/
.font-size-S {
    font-size: clamp(1.1rem, calc(0.9rem + 0.625vw), 1.5rem);
}

/*最小値:1.2rem → 可変（1rem + 0.625vw（画面幅320px:2px, 800px:5px, 1200px:7.5px））→ 最大値:1.7rem*/
.font-size-M {
    font-size: clamp(1.2rem, calc(1rem + 0.625vw), 1.7rem);
}

/*最小値:1.6rem → 可変（2.2rem + 0.625vw（画面幅320px:2px, 800px:5px, 1200px:7.5px））→ 最大値:2.9rem*/
.font-size-L {
    font-size: clamp(2.4rem, calc(2.2rem + 0.625vw), 2.9rem);
}

.b{font-weight: bold;}
　
.big{ font-size: 1.2em!important; }
.big2{ font-size: 1.5em!important; }
.big3{ font-size: 1.8em!important; }
.small{ font-size: 0.8em!important; }

.f08em{ font-size: 0.8em; }
.f09em{ font-size: 0.9em; }
.f10em{ font-size: 1.0em; }
.f11em{ font-size: 1.1em; }
.f12em{ font-size: 1.2em; }
.f13em{ font-size: 1.3em; }
.f14em{ font-size: 1.4em; }
.f15em{ font-size: 1.5em; }
.f16em{ font-size: 1.6em; }
.f17em{ font-size: 1.7em; }
.f18em{ font-size: 1.8em; }
.f19em{ font-size: 1.9em; }
.f20em{ font-size: 2.0em; }

.f8pt{ font-size: 8.5pt; }
.f9pt{ font-size: 9.0pt; }
.f10pt{ font-size: 10pt; }
.f11pt{ font-size: 11pt; }
.f12pt{ font-size: 12pt; }
.f13pt{ font-size: 13pt; }
.f14pt{ font-size: 14pt; }
.f15pt{ font-size: 15pt; }
.f16pt{ font-size: 16pt; }
.f17pt{ font-size: 17pt; }
.f18pt{ font-size: 18pt; }
.f19pt{ font-size: 19pt; }
.f20pt{ font-size: 20pt; }


/*フォントの色設定*/
.red{ color: #e53935!important; }/*赤*/
.blue{ color: #0000dd!important; }/*青*/
.green{ color: #4caf50!important; }/*緑*/
.yellow{ color: #ffff00!important; }/*黄*/
.navy{ color: #3f51b5!important; }/*紺*/
.orange{ color: #ff9800!important; }/*橙*/
.pink{ color: #ec407a!important; }/*ピンク*/
.purple{ color: #9c27b0!important; }/*紫*/
.olive{ color: #808000!important; }/*オリーブ*/
.lime{ color: #00ff00!important; }/*黄緑*/
.aqua{ color: #00bcd4!important; }/*水色*/
.black{ color: #000!important; }/*黒*/
.gray{ color: #ccc!important; }/*灰*/
.white{ color: #fff!important; }/*白*/
.brown{ color: #6d4c33!important; }/*茶*/

/*マーカー表示（背景に着色）*/
.box-yellow,
.box-orange,
.box-pink,
.box-lime,
.box-gray{ padding: 2px; }

.box-yellow{ background-color: #ff6; }/*黄*/
.box-orange{ background-color: #f90; }/*橙*/
.box-pink{ background-color: #ffccff; }/*ピンク*/
.box-lime{ background-color: #9f9; }/*黄緑*/
.box-gray{ background-color: #ccc; }/*灰*/


/*行間の設定*/
.lh10{ line-height: 1.0!important; }
.lh11{ line-height: 1.1!important; }
.lh12{ line-height: 1.2!important; }
.lh13{ line-height: 1.3!important; }
.lh14{ line-height: 1.4!important; }
.lh15{ line-height: 1.5!important; }
.lh16{ line-height: 1.6!important; }
.lh17{ line-height: 1.7!important; }
.lh18{ line-height: 1.8!important; }
.lh19{ line-height: 1.9!important; }
.lh20{ line-height: 2.0!important; }


/*下線や取消線の設定*/
.underline{ text-decoration: underline!important; }
.del{ text-decoration: line-through; }
.noborder{ border: 0!important; }/*枠線を無くす*/


/*横並びリスト*/
.inline{ margin: 1em 0; padding: 0; }
.inline li{
	display: inline;
	list-style-type: none;
}

/*マーカー無しのリスト*/
.none{ margin: 1em 0; padding: 0; }
.none li{ list-style-type: none; }


/* 写真枠 */
.photograph{
    border: 7.5px solid #FFF;
    box-shadow: 0 0 5px #999;
}


/*--------------------------------------------------------
floatの回り込みを解除
--------------------------------------------------------*/
.site-header-conts:after,
.main-body-in:after,
.article-body:after,
.section-in:after,
.col4-wrap:after,
.col3-wrap:after,
.col2-wrap:after,
.news-item:after,
.related-articles-thumbs01 li:after,
.btn-area:after,
.page-nav-bf:after,
.global-nav-in li ul:after,
.banner-list:after,
.main-conts dl.cast:after,
.clearfix:after{
	content: '';
	display: block;
	clear: both;
	height: 0;
}

/*--------------------------------------------------------
スライダー
--------------------------------------------------------*/
/* 全体設定 */
.carousel-slider3 {
	max-width:1200px;
    /*width: 100%;*/
    overflow: hidden;
    position: relative;
    margin:0 auto;
}
.carousel-slider3 img {
    width: 100%;
    height: auto;
    vertical-align: top;
}

/* スライド設定 */
.carousel-slider {
	max-width:1200px;
    /*width: 100%;*/
    overflow: hidden;
    position: relative;
    margin:0 auto;
}
.carousel-slider img {
    width: 100%;
    height: auto;
    vertical-align: top;
}

.carousel-slider .slide-wrap {
    width: 400%;
    position: absolute;
    display: flex;
    top: 0;
    left: 0;
    z-index: 0;
    animation: carousel-slider 40s infinite;
    animation-delay: 2s;
}
.carousel-slider .slide-wrap-main {
    width: 100%;
    z-index: 1;
    animation: carousel-slider-main 40s infinite;
    animation-delay: 2s;
}
.carousel-slider .slide {
    width: 100%;
}

/* スライダーアニメーションの設定 */
@keyframes carousel-slider {
    0% { transform: translateX(0); }

    20% { transform: translateX(calc(1 / 4 * -100%)); }
    25% { transform: translateX(calc(1 / 4 * -100%)); }

    45% { transform: translateX(calc(2 / 4 * -100%)); }
    50% { transform: translateX(calc(2 / 4 * -100%)); }

    70% { transform: translateX(calc(3 / 4 * -100%)); }
    75% { transform: translateX(calc(3 / 4 * -100%)); }

    95% { transform: translateX(calc(4 / 4 * -100%)); }
    100% { transform: translateX(calc(4 / 4 * -100%)); }
}

@keyframes carousel-slider-main4 {
    0% { transform: translateX(100%); }
    75% { transform: translateX(100%); }
    95% { transform: translateX(0%);}
}
}

/*--------------------------------------------------------
Google MAP埋め込み
--------------------------------------------------------*/
.map-wrap {
  max-width: 50%; 
}
 
/* Google Mapを囲う要素 */
.map {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 75%; /* 比率を4:3に固定 */
}
 
/* Google Mapのiframe */
.map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/*--------------------------------------------------------
よくある質問
--------------------------------------------------------*/
/* アコーディオン */
    .accordion {
      max-width: 800px;
      margin: 0 auto;
    }

    .accordion-item {
      background: #fff;
      margin-bottom: 10px;
      border-radius: 6px;
      overflow: hidden;
      box-shadow: 0 2px 6px rgba(0,0,0,0.1);
    }

    .accordion-header {
      padding: 15px;
      cursor: pointer;
      font-weight: bold;
      background: #3770ad;
      color: #fff;
      user-select: none;
      transition: background 0.3s;
    }

    .accordion-header:hover {
      background: #1A4472;
    }

    .accordion-content {
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.3s ease;
      background: #fff;
      padding: 0 15px;
    }

    .accordion-content p {
      padding: 15px 0;
      margin: 0;
    }

    .accordion-item.active .accordion-content {
      max-height: 500px; /* 中身に応じて調整 */
    }


/*--------------------------------------------------------
お問い合わせフォーム
--------------------------------------------------------*/
.form-container {
      max-width: 700px;
      margin: 0 auto;
      background: #fff;
      padding: 25px;
      border-radius: 10px;
      box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    }

    .form-group {
      margin-bottom: 15px;
    }

    label {
      display: block;
      margin-bottom: 6px;
      font-weight: bold;
      color: #000000;
    }

    input, select, textarea {
      width: 100%;
      padding: 12px;
      border: 1px solid #ccc;
      border-radius: 6px;
      font-size: 14px;
      box-sizing: border-box;
    }

    textarea {
      resize: vertical;
      min-height: 120px;
    }

    button {
      width: 60%;
      padding: 14px;
      background: #3770ad;
      color: #fff;
      border: none;
      border-radius: 6px;
      font-size: 16px;
      cursor: pointer;
      transition: background 0.3s;
      margin-left: 20%;
      margin-right: 20%;

    }

    button:hover {
      background: #1A4472;
    }

 
    @media screen and (max-width: 768px) {
      .form-container {
        padding: 15px;
      }
      input, textarea, select {
        font-size: 13px;
        padding: 10px;
      }
      button {
        font-size: 15px;
        padding: 12px;
      }
    }



/*--------------------------------------------------------
解像度1200px以下
--------------------------------------------------------*/
@media
only screen and (max-width : 1200px){
	.site-header,
	.global-nav,
	.main-body,
	.site-footer{
		min-width: 0;
	}

	.site-header-in,
	.global-nav-in,
	.main-body-in,
	.site-footer-in{
		width: 96%;
		margin: auto;
	}
	
	.main-image-in,
	.main-image-in-text,
	.main-image-in-text .main-image-in-text-cont,
	.main-image-in-text.wide .main-image-in-text-cont{
		width: 100%;
	}

	.col1 .section-wrap,
	.col1 .breadcrumbs,
	.col1 .section-wrap.wide .section-in,
	.col1 .section-wrap.wide{
		width: auto;
	}
	
	.col1 .breadcrumbs-in,
	.col1 .float-area{
		width: 96%;
		margin-right: auto;
		margin-left: auto;
	}
	

}/*解像度1200px以下*/



/*--------------------------------------------------------
解像度736px以下
--------------------------------------------------------*/
@media
only screen and (max-width : 736px){

	html,
	body,
	.containr{
		min-width: 0;
	}

	html{
		overflow-x: hidden;
		overflow-y: scroll;
	}

	html,body{
		width: 100%;
		-webkit-text-size-adjust: 100%;
		-ms-text-size-adjust: 100%;
	}



	.site-header-in,
	.global-nav-in,
	.main-body-in,
	.site-footer-in{
		width: 100%;
	}
	
	.col2 .main-conts,
	.col2 .sub-conts,
	.col2r .main-conts,
	.col2r .sub-conts{
		float: none;
		width: auto;
	}
	
	/*ヘッダー*/
	.site-header-conts,
	.site-title,{
		display: block;
	}
	

	.header-box{
		display: none;
	}
	
	.site-header-conts{
		padding-top: 50px;
	}
	
	.no-gn .site-header-conts{
		padding-top: 0;
	}
	
	.site-header-conts{
		padding-bottom: 10px;
	}
	
	.site-title{
		padding: 15px 15px 0;
		font-size: 1.4em;
	}


	.header-box{
		margin-left: 0;
		text-align: center;
	}
	
	.site-header-in{
		position: relative;
		padding-bottom: 1em;
	}
	.home .main-image{
		margin-bottom:4em;
	}
	
	/*グローバルナビ*/
	.global-nav{
		position: absolute;
		top: 0;
		width: 100%;
		margin: 0;
		border: 0;
	}
	
	.global-nav ul{
		display: none;
		position: absolute;
		top: 50px;
		left: 10px;
		z-index: 50;
		width: 80%;
		border: 0;
		background: #eeeeee;

	}
	
	.global-nav-panel{
		display: block;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
		padding: 10px;
		background: #3770AD;
		color: #fff;
		cursor: pointer;
	}

	.global-nav-in li{
		display: list-item;
		width: auto;
		border-right: 0;
		border-bottom: 1px solid #ffffff;
		text-align: left;
	}
	
	.global-nav-in li ul{
		position: static;
		width: auto;
		margin-left: 1em!important;
		border-bottom: 0;
		background:#eeeeee;
	}
	
	.global-nav-in li ul li{
		width: 100%;
		border-right:0;
		border-bottom: 0;
	}
	
	.global-nav-in li a,
	.global-nav li ul li a{
		display:block;
		padding: 1em;
		padding-right: 2em;
		border-right:0;
		background: url(./images/icon-gn-arw.png) right center no-repeat #eeeeee;
	}
	.global-nav li ul li ul{
		margin-left:1em;
	}
	.global-nav li ul li ul a{
	}

		/*Retina（高解像度）ディスプレイ用*/
		@media screen and (-webkit-min-device-pixel-ratio:2),
		(min-resolution: 2dppx){

			.global-nav-in li a,
			.global-nav li ul li a{
				background: url(./images/icon-gn-arw@2x.png) right center no-repeat #eeeeee;
				-webkit-background-size: 27px 18px;
				background-size: 27px 18px;
			}

		}
		
	.global-nav-in li ul li:hover > a{
		background-color: #FFFFFF;
	}

	
	.section-wrap,
	.col1 .section-wrap.wide{
		padding: 0;
		border: 0;
	}
	
	.col1 .section-wrap{
		padding: 0;
	}
	
	.section-wrap .section-in,
	.col1 .section-wrap.wide .section-in,
	.float-area,
	.col1 .float-area{
		padding: 15px;
	}

	.col1 .sub-conts .section-wrap .section-in{
		padding: 0 20px 30px;
	}

	.section-wrap .section-in .section-title,
	.section-wrap .article-header .section-title{
		margin: -15px -15px 0;
		padding: 15px;
		font-size: 1.75em;
	}

	.sub-conts .section-wrap .section-in .section-title,
	.sub-conts .section-wrap .article-header .section-title,
	.col1 .sub-conts .section-wrap .section-in .section-title,
	.col1 .sub-conts .section-wrap .article-header .section-title{
		margin: 0 -20px 30px;
		padding: 10px 18px;
	}

	.main-body h1,
	.main-body h2,
	.main-body h3{
		margin: 50px 0 30px;
	}


	.main-body h4{
		margin: 10px 0 10px;
	}
	

	.main-body h1,
	.main-body h2{
		font-size: 1.5em;
	}
	

	/*フッターナビ*/
	.site-footer-nav{
		display: block;
		text-align: left;
	}

	.site-footer-nav li,
	.site-footer-nav li:first-child{
		display: list-item;
		margin-left: 20px;
	}

	/*コピーライト*/
	.copyright{
		padding: 15px;
		text-align: left;
	}


	/*最新情報*/
	.news .news-thumb{
		float: none;
		text-align: center;
	}

	.main-body .news-title{
		font-size: 1.25em;
	}


}/*解像度736px以下*/

/*--------------------------------------------------------
解像度480px以下
--------------------------------------------------------*/
@media
only screen and (max-width : 480px){
	
	/*段組*/
	.col4-wrap,
	.col3-wrap,
	.col2-wrap{
		margin: 0 0 1em;
	}

	.col4-wrap .col,
	.col4-wrap .col_2of4,
	.col4-wrap .col_3of4,
	.col3-wrap .col,
	.col3-wrap .col_2of3,
	.col2-wrap .col{
		float: none;
		margin-left: 0;
	}

	.col4-wrap .col,
	.col4-wrap .col_2of4,
	.col4-wrap .col_3of4,
	.col3-wrap .col,
	.col3-wrap .col_2of3,
	.col2-wrap .col{
		width: auto;
	}

	.left,
	.right{
		float: none;
		margin-right: 0;
		margin-left: 0;
		text-align: center;
	}

	
}/*解像度480px以下*/

