@charset "utf-8";

/* ===============================================
 *  一般・共通設定
 * =============================================== */
*{
	margin:0;
	padding:0;
}
body {
	line-height: 1.6;
	margin     : 0;
	padding    : 0;
	background : #fff;
	color      : #000;
	font-family: "メイリオ" , Meiryo , "ヒラギノ角ゴPro W3" , "Hiragino Kaku Gothic Pro" , "ＭＳ Ｐゴシック" , sans-serif;
	        text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;/*Chrome,Safari*/
	    -ms-text-size-adjust: 100%;/*EgdeMobile*/
	   -moz-text-size-adjust: 100%;/*firefox*/
}
img {
	-webkit-backface-visibility: hidden;
}
a img{
	margin:0;
	padding:0;
}
section｛
	margin:0 10px;
}
/* スムーズスクロール
 * --------------------------- */
html{
	scroll-behavior: smooth;
}

/* --------------------------- *
 * PC・スマホ別文字サイズ
 * --------------------------- */
html {
	min-width:320px;

}
@media screen and (min-width: 768px) {
	html {
		font-size: 100%;
	}
}
@media screen and (min-width: 1024px) {
	html {
		font-size: 100%;
	}
}
.inner {
	position: relative;
	width   : 1180px;
	margin  : 0 auto;
}

table{
	border-collapse : collapse;
	border-spacing  : 0;
}

/* ===============================================
 * LISTタグ
 * =============================================== */

/* liの前の大きな●
 * --------------------------- */
.li_maru ul li {
	list-style-type: none!important;/*ポチ消す*/
	position       : relative;
	line-height    : 1.5;
	margin-bottom  : 5px;
	padding        : 0.5em 0.5em 0.5em 0.5em;
	border-radius  : 15px 0px 0px 15px;/*左側の角丸く*/
	background     : #f28d01;
	color          : #fff;
	font-size      : 1.2em;
	vertical-align : middle;
}

.li_maru ul li a{
	display        : block;
	color          : #fff;
	font-family    : "Times New Roman", 'Noto Serif JP',"YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
	font-weight    : 700;
	text-decoration: none;
}
.li_maru ul li:hover{
	opacity: 0.5 ;
}
.li_maru ul li a:before{ 
	display:inline-block; 
	/* 以下白丸つくる */
	width         : 1em;
	height        : 1em;
	margin-top    : -4px;
	margin-right  : 8px;
	border-radius : 50%;
	background    : #fff;
	vertical-align: middle;
	content:'';
}

/* 矢印（▶）
 * --------------------------- */
.li_arr {
	line-height    : 1.5;
	margin         : 0.5em 5px;
	text-decoration: none;
}
.js-scrollable .li_arr {
	margin:5px;
}
.li_arr a{
	text-decoration: none;
}
.li_arr ul{
	list-style: none;
}
.li_arr li{
	list-style-type:none;
	position:relative;
	padding-left   : 12px;
	text-decoration: none;
}
.li_arr li:before {
	position: absolute;
	top     : .5em;
	left    : 0;
	width : 0;
	height: 0;
	border-width: 5px;
	border-style: solid;
	border-color: transparent transparent transparent #f28d01;
	content: "";
}

/* 点無し、中央
 * --------------------------- */
.li_center{
	list-style:none;
	text-align:center;
}
/* 点無し
 * --------------------------- */
.li_left{
	list-style:none;
}

/* li でボタン
 * --------------------------- */
.li_btn{
	list-style:none;
	text-align:center;
}

.li_btn li{
	display:inline-block;
	margin :0 auto;
	width  :80px;
}
.li_btn li a{
	display:block;
	height         :30px;
	line-height    :30px;
	border         :1px solid #444;
	border-radius  :5px;
	background     :#fff;
	color          :#000;
	text-decoration: none;
}

.li_btn li a:hover{
	background:#eee;
}
/* 注釈
 * --------------------------- */
ul.asterisk{
	margin-left:1em;

}

ul.asterisk li {
	list-style-type: none;
	text-indent: -1em;
}
ul.asterisk li:before {
	display : inline;
	color      :#ff0000;
	font-weight:bold;
	content: "※";
}
ol.asterisk {
	counter-reset: number;
	list-style: none;
}
ol.asterisk li:before {
	counter-increment: number;
	content: "※"counter(number)" ";
}

/* ===============================================
 * 文字
 * =============================================== */

/* 太字
 * --------------------------- */
b,strong,th,bold,h1,h2,h3,h4,h5,h6{
	font-weight:700;
}

/* 文字 中央
 * --------------------------- */
.txt-center{
	margin-left : auto;
	margin-right: auto;
	text-align  : center;
}

/* 文字 右
 * --------------------------- */
.txt-right{
	text-align: right;
}

/* 文字 左
 * --------------------------- */
.txt-left{
	text-align: left;
}
/* 文字色
 * --------------------------- */
.font_red{
	color:#ff0000;
}

/* リンク文字
 * --------------------------- */
a:hover {
	color:red;
	text-decoration: none;
}

.link:hover {
        background:#e1e1e1;
	color     : #535353;
	text-decoration: none;
}

/* ----------------------------------------------- *
 * 画像
 * ----------------------------------------------- */

/* 画像 左寄せ
 * --------------------------- */
.img_left{
	float  : left;
	margin : 5px 20px 10px 0 ;
}


/* 画像幅100% 画像高さ自動
 * --------------------------- */
img{
	max-width:100%;
	height   :auto;
}
.img_w100{
	width :100%;
	height:auto;
}
.img_mw100{
	max-width:100%;
	height   :auto;
}
.img_mw80{
	max-width:80%;
	height   :auto;
}

/* 画像リンク
 * --------------------------- */
#main a img:hover{
	opacity: 0.5 ;
}
#main img:hover{
}

/* ===============================================
 *  見出しタグ
 * =============================================== */
h1,h2,h3,h4,h5,h6,.mintyo{
	padding:3px 8px;
	/* 明朝系 */
	font-family: "Times New Roman",'Noto Serif JP', "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
	font-weight:700;

}
h2{
	width        : 440px;
	margin       : 10px auto;
	padding      : 0.2em 0;/*上下の余白*/
	border-top   : solid 1px #333;/*上線*/
	border-bottom: solid 1px #333;/*下線*/
	background   : #fff;
	font-size    : 1.6em;
	text-align   : center;
}

h3{
	margin    :5px auto;
	font-size :1.4em;
	text-align: center;
}

@media screen and (max-width: 767px){
	h2{
		width    :98%;
		font-size:1.2em;
	}
	h3{
		font-size:1.2em;
	}
}
/* -----------------------------------------------
 * 緊急情報
 * ----------------------------------------------- */
.kinkyu{
	width        : 100%;
	margin       : 10px auto;
	padding      : 0.2em 0;/*上下の余白*/
	border-top   : solid 1px #333;/*上線*/
	border-bottom: solid 1px #333;/*下線*/
	background   : #F00;
	color        : #fff;
	font-size    : 1.8em;
	text-align   : center;
}

@media screen and (max-width: 767px){
	.kinkyu{
		font-size:1.4em;
	}
}

/* 文字の左右に横線
 * --------------------------- */
.yokosen {
	display: flex;
	align-items: center;
	margin-top:0.5em;
	font-size: 20px;
}
.yokosen:before, .yokosen:after {
	display  : block;
	flex-grow: 1;
	height   : 1px;
	content: "";
}
.yokosen:before {
	margin-right: .4em;
	background  : linear-gradient(-90deg, #888, transparent);
}
.yokosen:after {
	margin-left: .4em;
	background : linear-gradient(90deg, #888, transparent);
}


/* 帯（リボン）風
 * --------------------------- */
.ribon {
	position  : relative;
	margin    : 5px;
	padding   : 0.5em;
	background:#002e2a;
	color     : white;
}

.ribon::before {
	position: absolute;
	top     : 100%;
	left    : 0;
	border       : none;
	border-bottom: solid 15px transparent;
	border-right : solid 20px rgb(149, 158, 155);
	content: '';
}

/* -----------------------------------------------
 * 幅指定
 * ----------------------------------------------- */
.w90{
	width:90%!important;
}
.w40{
	width:40%!important;
}

/* -----------------------------------------------
 *  背景色
 * ----------------------------------------------- */
/* 緑 -------------- */
.bg_green{
	background:#002e2a;
	color:#fff;
}
/* 黄緑 ------------ */
.bg_yellowgreen{
	background:#9acd32;
}
/* オレンジ -------- */
.bg_orange{
	background:#ffa500;
}

/* 白 -------------- */
.bg_white{
	background:#fff;
}
/* 青 -------------- */
.bg_blue{
	background:#54C0FC;
	color:#fff;
}
/* 灰色 ------------ */
.bg_grey{
	background:#D4D4D4;
}


/* ===============================================
 *  囲み枠
 * =============================================== */
.waku01{
	position     : relative;
	margin       : 2em 0;
	padding      : 1em 1.5em;
	border-bottom: solid 1px #fff;
	border-top   : solid 1px #fff;
	background   : #fff;
	line-height:2;
}
.waku01:before, .waku01:after{
	position: absolute;
	top: -10px;
	width: 1px;
	height: -webkit-calc(100% + 20px);
	height:         calc(100% + 20px);
	background: #fff;
	content: '';
}
.waku01:before {left: 10px;}
.waku01:after {right: 10px;}
.waku01 p {
	margin: 0;
	padding: 0;
}

/* ===============================================
 *  基本構造
 * =============================================== */
header{
	position: fixed;
	top:0;
	z-index:102;
	width     :100%;
	background:#fff;
}
#contents {
	overflow: hidden;
	width   : 1180px;
	margin  : 150px auto 0 auto; 
}
#main {
	box-sizing : border-box;
	overflow   : hidden;
	float      : left;
	max-width  : 1160px;
	width      : 100%;
	margin     : 0 5px;
}

@media screen and (max-width: 767px) {
	#main {
		width  :100%;
		padding:5px;
		margin :0;
	}
	.inner {
		width:100%;
	}
	#contents {
		width:100%;
	}
	header img{
		width:100%;
	}
}
section{
	margin: 20px auto;
}

@media screen and (min-width: 768px) {
	section{
		margin: 20px auto;
	}
}

/* ===============================================
 *  言語別
 * =============================================== */
#lang {
	position: absolute;
	top     : 20px;
	right   : 300px;
	width   : 300px;
}
@media screen and (max-width: 767px) {
	#lang {
		width : calc( 100% - 10px );
		margin: 5px;
	}
}
/* ===============================================
 *  検索窓（Google検索）
 * =============================================== */
#translate {
    position: absolute;
    top     : 15px;
    right   : 10px;
    width   : 300px;
}
#cse-search-box {
	width: 300px;
}

@media screen and (max-width: 767px) {
	#cse-search-box {
		width : calc( 100% - 10px );
		margin: 5px;
	}
}

#cse-search-box table.gsc-search-box td.gsc-input {
	padding: 0 !important;
}
#cse-search-box input[type="text"] {
	width: 240px;
	height: 38px;
	padding:3px 5px;
	        border-radius: 10px 0 0 10px;
	   -moz-border-radius: 10px 0 0 10px;
	-webkit-border-radius: 10px 0 0 10px;
	   -webkit-appearance: none;
}
@media screen and (max-width: 767px) {
	#cse-search-box input[type="text"] {
		width: calc(100% - 50px);
	}
}
#cse-search-box input[type="submit"] {
	width      : 40px;
	height     : 45px;
	margin-left: 0 !important;
	border     : 1px solid #333333;
	        border-radius: 0 5px 5px 0;
	   -moz-border-radius: 0 5px 5px 0;
	-webkit-border-radius: 0 5px 5px 0;
	-webkit-appearance   : none;
	background : #333;
	color      : #FFFFFF;
}
@media screen and (max-width: 767px) {
	#cse-search-box input[type="submit"] {
		width      : 30px;
		height     : 45px;
		margin-left: 0 !important;
		border     : 1px solid #333333;
		        border-radius: 0 5px 5px 0;
		   -moz-border-radius: 0 5px 5px 0;
		-webkit-border-radius: 0 5px 5px 0;
		-webkit-appearance   : none;
		background : #333;
		color      : #FFFFFF;
	}
}

/* ===============================================
 *  ヘッダーメニュー
 * =============================================== */
/*
  CSS のみのドロップダウンメニュー
  Copyright Rectus Inc, 2019
  https://www.rectus.co.jp/
 */

/* 基本CSS
 * --------------------------- */
#navi ul,
#navi div,
#navi img {
	list-style : none;
	margin     : 0px;
	padding    : 0px;
	font-weight: normal;
}
#navi {
	top   : 0;
	left  : 0;
	height: 65px;
	width : 100%;
	background: #FFF;
}
/* チェックボックスを非表示
 * --------------------------- */
#navi input {
	display: none;
}
/* 左上ロゴ
 * --------------------------- */
.menu-left {
	float      : left;
	line-height: 60px;
}
.menu-left img {
	margin-left   : 10px;
	vertical-align: middle;
}
/* 上部メニュー
 * --------------------------- */
.menu {
	display                 : -webkit-flex;
	display                 : flex;
	-webkit-flex-wrap       : wrap;
	flex-wrap               : wrap;
	box-sizing              : border-box;
	-webkit-justify-content : space-between;
	justify-content         : space-between;
	list-style              : none;
	margin                  : 0;
	padding                 : 0;
}
.menu-parent {
	display          : block;
	flex             : 1;
	-webkit-flex-grow: 1;
	        flex-grow: 1;
	position   : relative;
	line-height: 40px;
	padding    : 0.6em 0.4em;
	border-right: 1px solid #ccc;
	background  : #20b2aa;
	color       : #fff;
	/* 明朝系 */
	font-family: "Times New Roman",'Noto Serif JP', "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
	font-weight: 700;
	font-size  : 1.2em;
	text-decoration  : none;
	text-align       : center;
	white-space: nowrap;
}
.menu-parent a{
	text-decoration : none;
	color           : #fff;
}
/* パソコンでは V を非表示
 * --------------------------- */
.menu-parent .pd {
	display: none;
}
/* 上部メニューの最後の項目
 * --------------------------- */
.menu-parent:last-child {
	margin-right: 0px;
}
#menu-navibtn {
	display: none;
	cursor : hand;
}

@media screen and (max-width: 767px){
	/* スマホの際に V を表示 */
	.menu-parent .pd {
		display: inline-block;
		width: 100%;
	}
	.menu {
		display: none;
		float  : right;
		width  : 100%;
	}
	.menu-parent {
		width  : 100%;
		height : auto;
		padding: 0px 20px;
		border-bottom: 1px solid #DDD;
		
	}
	.menu-parent:first-child {
		border-top: 1px solid #DDD;
	}
	.menu-parent i {
		padding: 0px 6px;
	}
	/* メニューを移動させないため */
	#menu-navibtn:checked ~ #navi {
		z-index:9999;
		position  : fixed;
/*		overflow-y: scroll;*/
		overflow-x: hidden;
		height    : 100%;
	}
}

/* ドロップダウンメニュー
 * --------------------------- */
.menu-parent {
	position: relative;
}
.menu-parent .menu-child {
	visibility : hidden;
	opacity    : 0;
	position   : absolute;
	box-sizing : border-box;
	width      : auto;
	margin-left: -40px;
	padding    : 0px 20px;
	border     : 1px solid #000;
	background : #20b2aa;
}
.menu-child li:hover{
	background : #2f4f4f;
	font-weight:700;
}
/* パソコン用
 * --------------------------- */
@media screen and (min-width: 767px) {
	.menu-parent:hover .menu-child {
		 visibility: visible;
		    opacity: 1;
		    z-index:9999;
		      width:250px;
		line-height:3em;
		 margin-top:8px;
	}
	.menu-parent:hover{
		background:#2f4f4f;
	}
	.menu-left{
		display:none;
	}
}

/* スマホ用
 * --------------------------- */
@media screen and (max-width: 767px){
	.sp_off{
		display:none;

	}
	.companylogo img{
		width: calc(100% - 55px);
	}
	.menu-parent{
		   padding:5px 10px;
		text-align:left;

	}
	.menu-parent:hover{
		background:#2f4f4f;
	}

	/* ハンバーガーメニューがクリックされた時 */
	#menu-navibtn:checked ~ * .menu {
		display: block;
		opacity: 1;
	}
	#menu-navibtn:checked ~ * .menu-parent {
		max-height: inherit;
		overflow-y: visible;
	}
	#menu-navibtn:checked ~ * .menu-child {
		max-height: 0;
		overflow-y: hidden;
		visibility: hidden;

	}
	/* 子メニュー */
	.menu-parent .menu-child {
		position     : relative;
		  top        : 0;
		  left       : auto;
		  width      : auto;
		  margin-left: auto;
		  padding    : 0 20px;
		border-top   : 1px solid #ddd;
		border-left  : none;
		border-right : none;
		border-bottom: 1px solid #ddd;
		  opacity    : 1;
	}
	.menu-parent > label:hover {
		cursor: hand;
	}
	/* 子メニューがクリックされた時 */
	#navi input[type="checkbox"]:checked ~ .menu-child {
		max-height: inherit;
		overflow-y: visible;
		visibility: visible;
	}
	.menu-child li {
		padding:5px 10px;
	}

	.angletoggle:before {
		content: "\f107";
	}
	#navi input[type="checkbox"]:checked ~ * .angletoggle:before {
		content: "\f106";
	}
}
/* 子メニュー
 * --------------------------- */
.menu-child li {
	border-bottom: 1px solid #DDD;
}
.menu-child li a{
	display:block;
}

/* 余分な最後の線を消去
 * --------------------------- */
.menu-child li:last-child {
	border: none;
}
.menu-child li i {
	margin-right: 3px;
}

/* ハンバーガメニュー
 * --------------------------- */
#navi #navibtn {
	display: none;
}
@media screen and (max-width: 767px){
	#navi #navibtn {
		display : block;
		position: absolute;
		top     : 10px;
		right   : 10px;
		z-index :9999;
	}
	#navibtn span {
		display   : block;
		width     : 40px;
		height    : 40px;
		background: #333;
	}
	#navibtn span span {
		display : block;
		overflow: hidden;
		width   : 1px;
		height  : 1px;
	}
	#navibtn span span::before,
	#navibtn span span::after,
	#navibtn span::after {
		position  : absolute;
		left      : 10px;
		width     : 20px;
		height    : 3px;
		background: #fff;
		-webkit-transition: .35s ease-in-out;
		   -moz-transition: .35s ease-in-out;
		        transition: .35s ease-in-out;
		content   :"";
	}
	/* 上の棒 */
	#navibtn span span::before {
		top:10px;
	}
	#menu-navibtn:checked ~ #navi label#navibtn span span::before {
		              top:19px;
		        transform: rotate(-45deg);
		-webkit-transform: rotate(-45deg);
	}
	/* 下の棒 */
	#navibtn span::after {
		bottom:10px;
	}
	#menu-navibtn:checked ~ #navi label#navibtn > span::after {
		           bottom: 18px;
		        transform: rotate(-135deg);
		-webkit-transform: rotate(-135deg);
	}
	/* 中の棒 */
	#navibtn span span::after {
		top: 18px;
	}
	#menu-navibtn:checked ~ #navi label#navibtn span span::after {
		display: none;
	}
}

/* ===============================================
 *  パンくず
 * =============================================== */
.breadcrumb {
	list-style: none;
	margin    : 0;
	padding   : 0;
}
.breadcrumb li {
	display   : inline;/*横に並ぶように*/
	list-style: none;
}
.breadcrumb li:after {
	/* >を表示 */
	padding: 0 0.2em;
	content: '>';
}
.breadcrumb li:last-child:after {
	content: '';
}
.breadcrumb li a {
	          color: gray;
	text-decoration: none;
}
.breadcrumb li:first-child a:before {
	/*家アイコン*/
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	font-size  : 1.1em;
	content    : '\f015';
}
.breadcrumb li a:hover {
	text-decoration: underline;
}


/* ===============================================
 *  フッタ－
 * =============================================== */
footer {
	width     : 100%;
	margin    : 0;
	padding   : 0;
	background: #2f4f4f;
	color     : #fff;
	font-size : 0.9em;
	text-align: center;
}
footer a{
	color          : #fff;
	text-decoration: none;
}
.ttl_footer{
	font-size  :1.4em;
	font-weight:700;
}
footer p{
	line-height  :1.5;
	margin-bottom:1em;
}
.footmenu li{
	display:inline;
}

.footmenu li img{
	width :40px;
	height:40px ;
	margin:5px;
}
@media screen and (max-width: 767px) {
	.footmenu li img{
		width :30px;
		height:30px;
	}
}
.footmenu_alt {
	padding:20px 0 10px 0;
}

/* SNSボタン
 * --------------------------- */
.footmenu_sns {
	margin-bottom:0;
	padding      :10px;
	background   :#20b2aa;
}
.footmenu_sns img:hover{
	opacity: 0.7;
}

/* ===============================================
 *  横幅100%スライダー
 * =============================================== */
.swiper-area {
	overflow: hidden;
	position: relative;
	margin-bottom:-165px;
}
@media screen and (max-width: 767px) {
	.swiper-area {
		margin-bottom:-165px;
	}
}

.swiper-area .container {
	position : relative;
	max-width: 1200px;
	width    : 100%;
	margin   : 0 auto;
}

.swiper-wrapper {
	position: absolute;
	top : 0;
	left: 0;
}
.swiper-container {
	margin-top:150px;
}
@media screen and (max-width: 767px) {
	.swiper-container{
		margin-top:149px;
	}
}
.swiper-slide {
	margin-right: 0 !important;
	     opacity: 0.7;
}
.swiper-slide-active {
	opacity: 1;
}
.swiper-wrapper img {
	width: 100%;
	height: auto;
	-ms-interpolation-mode: nearest-neighbor;          /* IE8+ */
	       image-rendering: -webkit-optimize-contrast; /* Safari (WebKit) */
	       image-rendering: -moz-crisp-edges;          /* Firefox (Gecko) */
	       image-rendering: -o-crisp-edges;            /* Opera 12.x */
	       image-rendering: crisp-edges;               /* Chrome 41+, Opera 29+ (CSS4) */
}
.swiper-button-arrow {
	max-width: 1200px;
	margin   : auto;
}
.swiper-button-next:after,
.swiper-container-rtl .swiper-button-prev:after {
	content: "";
}
.swiper-button-prev:after,
.swiper-container-rtl .swiper-button-next:after {
	content: "";
}

.swiper-pagination-bullets {
	position: unset;
	top     : unset;
	bottom  : 0;
	left    : 0;
	right   : 0;
}
.swiper-pagination-bullet {
	margin: 10px 5px;
}
@media screen and (max-width: 767px) {
	.swiper-pagination,.swiper-button-next ,.swiper-button-prev{
		display:none;
	}
}

/* ===============================================
 *  緊急情報
 * =============================================== */
.kinkyu_info {
	overflow   : auto;
	width      : calc( 100% - 2em );
	line-height: 1.3;
	margin     : 0 auto;
	padding    : 10px;
	border     : 1px solid #ccc;
	background : #fcfcfc;
	color      : #000;
	font-size  : 1em;
	text-align : left;
}
.kinkyu_info dl{
	overflow     : hidden;
	zoom         : 1;
	line-height  : 2.5;
	padding      : 5px 0;
	border-bottom: 1px dotted #666;
}
.kinkyu_info dl dt {
	clear      : both;
	width      : 10em;
	float      : left;
	font-weight: bold;
}
.kinkyu_info dl dd {
    padding: 0 0 5px 11em;
}

@media screen and (max-width: 767px) {
	.kinkyu_info dl{
		line-height:1.8;
	}
	.kinkyu_info dl dt {
		clear      : both;
		width      : 100%;
		float      : left;
		font-weight: bold;
	}
	.kinkyu_info dl dd {
		padding : 2px 0 2px 5px ;
	}
}

/* ===============================================
 *  新着情報
 * =============================================== */
.info {
	overflow   : auto;
	width      : calc( 100% - 2em );
	height     : 18.5em;
	line-height: 1.3;
	margin     : 0 auto;
	padding    : 10px;
	border     : 1px solid #ccc;
	background : #fcfcfc;
	color      : #000;
	font-size  : 1em;
	text-align : left;
}

.info dl{
	overflow     : hidden;
	zoom:1;
	line-height  :2.5;
	padding      :5px 0;
	border-bottom:1px dotted #666;
}
.info dl dt {
	float      : left;
	clear      : both;
	width      : 10em;
	font-weight: bold;
}
.info dl dd {
    padding: 0 0 5px 11em;
}

@media screen and (max-width: 767px) {
	.info dl{
		line-height:1.8;
	}
	.info dl dt {
		float      : left;
		clear      : both;
		width      : 100%;
		font-weight: bold;
	}
	.info dl dd {
		padding: 2px 0 2px 5px ;
	}
}

/* ===============================================
 *  新着情報 バックナンバー
 * =============================================== */

.info2 {
	overflow   : auto;
	width      : calc( 100% - 2em );
	height     : auto;
	line-height: 1.3;
	margin     : 0 auto;
	padding    :10px;
	background : #fcfcfc;
	color      : #000;
	font-size  : 1em;
	text-align : left;
}
.info2 dl{
	overflow     : hidden;
	zoom: 1;
	line-height  :2.5;
	padding      :5px 0;
	border-bottom:1px dotted #666;
}
.info2 dl dt {
	float: left;
	clear: both;
	width: 10em;
	font-weight: bold;
}
.info2 dl dd {
	padding: 0 0 5px 11em;
}

@media screen and (max-width: 767px) {
	.info2 dl{
		line-height:1.8;
	}
	.info2 dl dt {
		float: left;
		clear: both;
		width: 100%;
		font-weight: bold;
	}
	.info2 dl dd {
		padding: 2px 0 2px 5px ;
	}
}

/* ===============================================
 *  今月のイベント
 * =============================================== */
.event_info {
	overflow   : auto;
	width      : calc( 100% - 2em );
	line-height: 1.3;
	margin     : 0 auto;
	padding    :10px;
	border     : 1px solid #ccc;
	background : #fcfcfc;
	color      : #000;
	font-size  : 1em;
	text-align : left;
}

.event_info dl{
	zoom: 1;
	overflow   : hidden;
	line-height:2.5;
	padding    :5px 0;
}
.event_info dl dd {
	padding      : 0 0 5px 10px;
	border-bottom:1px dotted #666;
}

@media screen and (max-width: 767px) {
	.event_info dl{
		line-height:1.8;
	}
	.event_info dl dd {
		padding: 2px 0 2px 5px ;
	}
}


/* 展示物アイコン
 * --------------------------- */
.icn_tenji{
	display      : inline-block;
	width        : 100px;
	height       : 1.6;
	line-height  : 1.6;
	margin-right : 10px;
	border-radius: 5px;
	background   : #444;
	color        : #fff;
	text-align   : scenter;
}

.event_info a[href$=".pdf"]::before{
	padding-right:10px;
	color        :#E80028;
	font-family:"Font Awesome 5 Free";
	font-weight:bold;
	content:'\f1c1';
}

/* ===============================================
 *  画像の上に文字をのせる
 * =============================================== */
.img_txt {
	position: relative;
}
.img_txt img {
	width: 100%;
}
/* ===============================================
 *  上に戻る
 * =============================================== */
#page_top{
	z-index   : 999;
	position  : fixed;
	right     : 0px;
	bottom    : 0;
	width     : 160px;
	height    : 40px;
	background: #316858;
}
#page_top a{
	display        : block;
	position       : relative;
	width          : 160px;
	height         : 40px;
	text-decoration: none;
}

#page_top a::after{
	position   : absolute;
	top        : 10px;
	bottom     : 0;
	right      : 0;
	left       : 0;
	margin     : auto;
	color      : #fff;
	font-size  : 14px;
	font-weight: bold;
	text-align : center;
	content: '▲ 上に戻る';
}
@media screen and (max-width: 767px) {
	#page_top{
		z-index:999;
		position  : fixed;
		right     : 0px;
		bottom    : 0px;
		width     : 40px;
		height    : 40px;
		background: #316858;
	}
	#page_top a{
		display : block;
		position: relative;
		width   : 40px;
		height  : 40px;
		text-decoration: none;
	}

	#page_top a::after{
		position   : absolute;
		top        : 10px;
		bottom     : 0;
		right      : 0;
		left       : 0;
		margin     : auto;
		color      : #fff;
		font-size  : 14px;
		font-weight: bold;
		text-align : center;
		content: '▲';
	}
}
#page_top:hover{
	background:#888;
}

/* ===============================================
 *  btn（ボタンタグ）
 * =============================================== */
/* 左寄せ
 * --------------------------- */
.btn_left{
	display:block;
	width:100px;
	margin: 5px 5px 5px 5px;
	padding:5px 10px;
	border-radius:10px;
	background:#000;
	color:#fff;
	text-align:center;
	text-decoration: none;
}
.btn_left:hover{
	background:#666;
	color:#fff;
}

/* 中央寄せ
 * --------------------------- */
.btn_center{
	display:block;
	width:150px;
	margin: 5px auto;
	padding:5px 10px;
	border-radius:10px;
	background:#000;
	color:#fff;
	text-align:center;
	text-decoration: none;
}
.btn_center:hover{
	background:#666;
	color:#fff;
}

/* 右寄せ
 * --------------------------- */
.btn_right{
	display:block;
	width:150px;
	margin: 5px 5px 5px auto;
	padding:5px 10px;
	border-radius:10px;
	background:#000;
	color:#fff;
	text-align:center;
	text-decoration: none;
}
.btn_right:hover{
	background:#666;
	color:#fff;
}

.btn{
	display:inline-block;
	margin: 0 auto;
	padding:2px 20px;
	border-radius:10px;
	background:#000;
	color:#fff;
	font-size:0.8em;
	text-decoration: none;
}
.btn:hover{
	background:#666;
	color:#fff;
}

.btn_large{
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-align: center;
	   -ms-flex-align: center;
	      align-items: center;
	-webkit-box-pack: center;
	   -ms-flex-pack: center;
	justify-content: center;
	line-height:60px;
	margin: 0 auto;
	min-height:60px;
	padding:2px 20px;
	border-radius:20px;
	background:#000;
	color:#fff;
	font-size:1.2em;
	font-weight:bold;
	text-decoration: none;
}
.btn_large:hover{
	background:#666;
	color:#fff;
}

/* ===============================================
 *  table
 * =============================================== */

/* 横幅いっぱいになるとスクロールバー表示
 * ----------------------------------------------- */
.table-scroll{
	overflow: auto;
	white-space: nowrap; /*文字の折り返しを禁止*/
	margin-bottom:1em;
}
/* 以下、スクロールバーを追加
 * --------------------------- */
.table-scroll::-webkit-scrollbar{
	height: 10px;
}
.table-scroll::-webkit-scrollbar-track{
	background: #333;
}
.table-scroll::-webkit-scrollbar-thumb {
	background: #999;
}
/* 以下、tableの指定 */
.table-scroll table{
	margin: 0 auto;
	border-collapse:collapse;
	border-spacing:0;
	border-top :#ccc solid 1px;
	border-left:#ccc solid 1px;
}
.table-scroll table th,
.table-scroll table td{
	padding:10px 20px;
	border-right :#ccc solid 1px;
	border-bottom:#ccc solid 1px;
	font-weight  :normal;
}
.table-scroll table th{
	background : #000;
	color      : #fff;
	font-weight: bold;
}
.table-scroll table td{
	background:#fff;
}

.table1 {
	line-height: 1.5;
	margin-left: auto;
	border-collapse: collapse;
	border: 1px solid #ccc;
}
.table1 th {
	width:100px;
	padding   : 10px 40px;
	background: #333;
	color     : #fff;
	font-weight: bold;
	vertical-align: top;
}
.table1 td {
	padding   : 5px 10px;
	text-align: center;
	vertical-align: top;
}
.table1 tr {
	background: #fff;

}
.table1 tr:nth-child(even) {
	background: #cee7ff;
}
@media screen and (max-width: 767px) {
	.table1 {
		margin-left : auto;
		margin-right: auto;
	}
}
@media screen and (max-width: 767px) {
	.sp_center{
		display:block;
		margin-left : auto;
		margin-right: auto;
	}
	.sp_img {
		max-width:90%;
	}
}
.table2{
	margin:10px 0;
}
.table2 table{
	width:100%;
	border-collapse: collapse;
	border-spacing: 0;
}
.table2 th{
	padding:5px 15px;
	background:#a95007;
	border:1px solid #a95007;
	color:#fff;
}
.table2 td{
	padding:3px 9px;
	border:1px solid #a95007;
}

.js-scrollable {
	magin-left:3px;
	magin-right:3px;
	margin-bottom: 3px;
}

.js-scrollable table{
	min-width:320px;
	min-height:100px;
	margin-bottom: 0;
	border-collapse: collapse;
}
.js-scrollable th{
	padding:15px;
	background:#000;
	color:#fff;
	font-size:1.2em;
	text-align:center;
}
.js-scrollable td,
.js-scrollable th {
	min-width:100px;
	border:1px solid #000;
}
.js-scrollable td{
	padding:10px 2px;
	background:#fff;
}

/* ===============================================
 *  flex（横に並べる）
 * =============================================== */
.flex_wrap {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.flex_wrap_center {
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	    -ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	        flex-wrap: wrap;
	justify-content: center;
}
.flex_wrap_left {
	  display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
}
.flex_wrap_right {
	  display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
}
.flex_item {
	width:100%;
	margin: 5px;
}

/* 横2つ（幅767px以下になると横1つ）
 * --------------------------- */
.flex_item2 {
	width : calc(50% - 10px) ;
	margin: 5px;
}

/* 横2つ
 * --------------------------- */
.flex_item2a {
	width : calc(50% - 10px) ;
	margin: 5px;
}

/* 横3つ（幅767px以下になると横1つ）
 * --------------------------- */
.flex_item3 {
	width : calc(100% / 3 - 10px) ;
	margin: 5px;
}

/* 横3つ
 * --------------------------- */
.flex_item3a {
	width : calc(100% / 3 - 10px) ;
	margin: 5px;
}
/* 横3つ
 * --------------------------- */
.flex_item3b {
	width : calc(100% / 3 - 11px) ;
	margin: 5px;
}

/* 横 2 / 3
 * --------------------------- */
.flex_item3_2 {
	width : calc(((100% / 3) * 2) - 10px) ;
	margin: 5px;
}
/* 横4つ（幅767px以下になると横2つ）
 * --------------------------- */
.flex_item4 {
	width : calc(25% - 10px) ;
	margin: 5px;
}
.flex_item4_3 {
	width : calc(75% - 10px) ;
	margin: 5px;
}
/* 横4つ
 * --------------------------- */
.flex_item4a {
	width : calc(25% - 10px) ;
	margin: 5px;
}
.flex_item4a img{
	width :100%;
	height:auto;
}
@media screen and (max-width: 767px) {
	.flex_item2,.flex_item3_2 {
		width :100%;
		margin: 5px;
	}
	.flex_item2a {
		margin: 0 5px;
	}
	.flex_item3 {
		width :100%;
		margin: 5px;
	}
	.flex_item3b {
		width : calc(50% - 5px) ;
		margin: 0 2px;
	}
}

/* ===============================================
 * パソコン・スマホのみで表示
 * =============================================== */

/* スマホのみで表示
 * --------------------------- */
.sp{
	display:none;
}

/* パソコンで表示
 * --------------------------- */
.pc{
	display:block;
}
@media screen and (max-width: 767px) {
	.sp{
		display:block;
	}
	.pc{
		display:none;
	}
}

/* ===============================================
 * YouTube 動画の埋め込み
 * =============================================== */
.youtube {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}
.youtube iframe {
	position: absolute;
	  top: 0;
	right: 0;
	width: 100%;
	height: 100%;
}

/* ===============================================
 * 印刷用CSS
 * =============================================== */
.print_img{
	display:none;
}

@media print{
	body { 
		width:1080px;
		font-size: 95%;
	}
	header{
		position: relative;
	}
	.inner,
	.menu-container,
	.swiper-slide img,
	#contents {
		width:100% !important;
	}
	#contents {
		margin : 0 auto; 
	}

	#main{
		width:99% !important;
	}
	h2{
		font-size:1.6em;
	}
	.companylogo,.swiper-container{
		display:none;
	}
	.print_img{
		display:block;
	}
	.print_img img{
		width:100%;
	}
	.waku01{
		width: calc(100% - 5.1em);
	}
	.menu-container .menu .menu-item a {
		font-size: 1em;
	}
	/* ---------------------------
	 * 印刷しない
	 * --------------------------- */
	.companylogo,#page_top{
		display:none;
	}
	/* ---------------------------
	 * 直後で、常に改ページ
	 * --------------------------- */
	.pageblock {
		page-break-after: always;
	}
}