@charset "utf-8";



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

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

/*slick.cssの読み込み
---------------------------------------------------------------------------*/
@import url("./slick.css");



/*テーマカラーの定義（CSS変数）
ここのカラーコードを変更するだけで、テンプレートのテーマカラーが変わります。
---------------------------------------------------------------------------*/
:root {
    --primary-color: #ec0f0f;
}


/*全体の設定
---------------------------------------------------------------------------*/
html,body {
	height: 100%;
	font-size: 13px;
}

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

	html, body {
		font-size: 14px;	/*基準となるフォントサイズ*/
	}

	}/*追加指定ここまで*/


body {
	font-family: "ヒラギノ角ゴ Pro", "Hiragino kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;	/*フォント種類*/
	-webkit-text-size-adjust: none;
	background: #fff url("../images/bg.jpg");
	background-position: top center;
	color: #333;		/*文字色*/
	line-height: 1.5;		/*行間*/
}

/*リセット*/
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%;}

/*他*/
input {font-size: 1rem;}
section + section {
	margin-top: 3rem;
}


/*opa1のキーフレーム設定
---------------------------------------------------------------------------*/
@keyframes opa1 {
	0% {opacity: 0;}
	100% {opacity: 1;}
}


/*リンクテキスト全般の設定
---------------------------------------------------------------------------*/
a {
	color: #333;		/*文字色*/
	transition: 0.3s;	/*hoverまでにかける時間。0.3秒。*/
}

/*マウスオン時*/
a:hover {
	color: var(--primary-color);	/*css冒頭で指定しているテーマカラーを読み込みます*/
}


/*コンテナー（サイト全体を囲むブロック）
---------------------------------------------------------------------------*/
#container {
	height: 100%;
	display: flex;
	flex-direction: column;			/*子要素を縦並びにする*/
	justify-content: space-between;	/*並びかたの種類の指定*/
	max-width: 1120px;	/*サイトの最大幅。これ以上広がらない。*/
	min-width: 980px;
	margin: 0px auto;
}

	/*画面幅750px以下の追加指定*/
@media all and (max-width: 750px) {
#container {
	max-width: 110%;	/*サイトの最大幅。これ以上広がらない。*/
	min-width: 100%;
}
	}

/*コンテンツ（フッター関連「以外」を囲むブロック）
---------------------------------------------------------------------------*/
#contents {
	flex: 1;
	padding: 0px;	/*コンテンツ内の余白*/
}


/*header（ロゴが入った最上段のブロック）
---------------------------------------------------------------------------*/
/*ヘッダーブロック*/
header {
	padding: 0 0;	/*上下、左右へのヘッダー内の余白。remというのは文字単位の事。3remは3文字分。*/
	text-align: center;	/*内容をセンタリング*/
}


/*スライドショー（slickを使用）
---------------------------------------------------------------------------*/
/*画像を囲むブロック*/
.mainimg-slick {
	margin-bottom: 80px;	/*画像の下に空けるスペース*/
}

	/*画面幅750px以下の追加指定*/
@media all and (max-width: 750px) {
.mainimg-slick {
	margin-bottom: 2em;	/*画像の下に空けるスペース*/
}
	}


/*mainブロック設定
---------------------------------------------------------------------------*/
/*mainブロック*/
main {
	padding: 0px;
}

/*mainブロック内のh2*/
main h2 {
	font-size: 1.8rem;		/*文字サイズ*/
	text-align: center;		/*テキストをセンタリング*/
	letter-spacing: 0.2em;	/*文字間隔を広くする指定*/
}

/*mainブロック内のh3*/
main h3 {
	font-size: 1.4rem;		/*文字サイズ*/
	text-align: center;		/*テキストをセンタリング*/
	letter-spacing: 0.2em;	/*文字間隔を広くする指定*/
}

/**mainブロック内のpタグ*/
main p {
	margin: 2em 0;	/*pの外側にとるスペース*/
}

.subread  {
	width: 85%;
	font-size: 160%;
	margin: 4em auto;
}

	/*画面幅750px以下の追加指定*/
@media all and (max-width: 750px) {
.subread  {
	font-size: 120%;
	margin: 1.5em auto;
}
	}

.sub2 {
	width: 70%;
	font-size: 160%;
	margin: 5em auto;
	text-align: center;
}

	/*画面幅750px以下の追加指定*/
@media all and (max-width: 750px) {
.sub2 {
	width: 90%;
	font-size: 120%;
	margin: 2em auto;
}
	}


.sub2 table {
	width: 50%; 
	float:left;
	margin-bottom: 5em;
}

.sub2 img {
	width: 70%; 
}

.sub3 {
	font-size: 160%;
	margin: 1em auto;
	text-align: center;
}

.sub3 table {
	width: 80%; 
	margin: 5em auto;
}

	/*画面幅750px以下の追加指定*/
@media all and (max-width: 750px) {
.sub3 table {
	width: 90%; 
	margin: 2em auto;
}
	}


.sub3 td {
	padding: 0.5em;
}

	/*画面幅750px以下の追加指定*/
@media all and (max-width: 750px) {
.sub3 td {
	padding: 0.1em;
}
	}


.sub4 {
	font-size: 160%;
	margin: 1em auto;
	text-align: center;
}

	/*画面幅750px以下の追加指定*/
@media all and (max-width: 750px) {
.sub4 {
	font-size: 100%;
}
	}


.sub4 h2{
	margin: 3em auto;
}

.prof {
	width: 80%;
	margin: 1em auto;
	text-align: left;
}

	/*画面幅750px以下の追加指定*/
@media all and (max-width: 750px) {
.prof {
	width: 90%;
	margin: 0.2em auto;
}
	}

.profr {
	width: 80%;
	font-weight: bold;
	margin: 1em auto;
	text-align: right;
}

	/*画面幅750px以下の追加指定*/
@media all and (max-width: 750px) {
.profr {
	width: 90%;
	margin: 0.2em auto;
}
	}

.profi {
	float: left;
	margin: 1em 3em 2em 0;
	width: 35%;
}

	/*画面幅750px以下の追加指定*/
@media all and (max-width: 750px) {
.profi {
	margin: 0.5em 1em 1em 0;
	width: 50%;
}
	}


.sub5 {
	font-size: 160%;
	margin: 1em auto;
	text-align: center;
}

	/*画面幅750px以下の追加指定*/
@media all and (max-width: 750px) {
.sub5 {
	font-size: 100%;
	margin: 0.5em auto;
}
	}

.sub5 table{
	width: 80%;
	margin: 3em auto;
	background: #E6E6E6;
}

	/*画面幅750px以下の追加指定*/
@media all and (max-width: 750px) {
.sub5 table{
	width: 90%;
	margin: 1em auto;
}
	}

.sub5 td{
	text-align: left;
	vertical-align: top;
}

.item {
	width: 30%;
}

@media all and (max-width: 750px) {
.item {
	width: 45%;
}
}

.cont {
	width: 70%;
}

@media all and (max-width: 750px) {
.cont {
	width: 55%;
}
}

.sub6 {
	margin-bottom: 3em;
	font-size: 200%;
}

	/*画面幅750px以下の追加指定*/
@media all and (max-width: 750px) {
.sub6 {
	margin-bottom: 2em;
	font-size: 160%;
}
	}


.sub6 a {
	color: #333;
	text-decoration: none; 
	margin-bottom: 3em;
	font-weight: normal;
}

.tblue {color:#0065AF;}
.tred {color:#E5593E;}

/*フッター設定
---------------------------------------------------------------------------*/
.footer {
	width:100%;
	font-size: 120%;
	text-align: center;
	margin-bottom: 3em;
}

	/*画面幅750px以下の追加指定*/
@media all and (max-width: 750px) {
.footer {
	width:100%;
	font-size: 90%;
}
	}

/*言語切り替えボタン
---------------------------------------------------------------------------*/
.home-fv-button-wrapper {
  /* ボタン内要素中央寄せ */
  display: flex;
  justify-content: center;
  align-items: center;

  /* ボタンをオーバーレイ表示させるために必要 */
  position: absolute;
  z-index: 2;
  background: #ccc;
  top: 2em;
  right: 0.5em;
  /* ボタン内テキスト */
  font-size: 11px;
  color: #fff;
  text-align: center;
  padding: 0.5em 1em;
}

@media all and (max-width: 750px) {
.home-fv-button-wrapper {
  top: 1em;
  right: 0.5em;
	}
}


/*その他
---------------------------------------------------------------------------*/
.clearfix::after {content: "";display: block;clear: both;}
.color-check, .color-check a {color: #ff0000 !important;}
.l {text-align: left !important;}
.c {text-align: center !important;}
.r {text-align: right !important;}
.ws {width: 95%;display: block;}
.wl {width: 95%;display: block;}
.mb0 {margin-bottom: 0px !important;}
.mb30 {margin-bottom: 30px !important;}
.look {display: inline-block;padding: 0px 10px;background: #eee;border: 1px solid #ccc; border-radius: 3px;margin: 5px 0; word-break: break-all;}
.small {font-size: 0.75em;}
.large {font-size: 2em; letter-spacing: 0.1em;}
.pc {display: none;}
.dn {display: none !important;}
.block {display: block !important;}
.hp {display: none}

@media all and (max-width: 750px) {
.hp {display: inline;}
}

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

	.ws {width: 48%;display: inline;}
	.sh {display: none;}
	.pc {display: block;}

	}/*追加指定ここまで*/
