@charset "UTF-8";

/*==============
調整
==============*/
html {
scroll-padding-top: 200px;
}

/*youtube
---------------------------------------------------------------------------*/
.youtube {
 position: relative;
 padding-bottom: 56.25%; /*アスペクト比 16:9の場合の縦幅*/
 height: 0;
 overflow: hidden;
}
.youtube iframe {
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
}


/*hr
---------------------------------------------------------------------------*/
hr {
border-width: 1px 0 0 0; /* 太さ */
border-style: dotted; /* 線種 */
border-color: #3F3F3F; /* 線色 */
height: 1px; /* 高さ */
max-width: 100%;
clear:both;
margin: 15px 0;
}


/*title
---------------------------------------------------------------------------*/
#title {
	margin: 0;
	width: 100%;
	padding: 10% 0;
	text-align: left;
	position: relative;
}
#title::before {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background-color: rgba(0,0,0,0.3);
}
#title h2 {
	font-size: 150%;
	font-weight: normal;
	color: #fff;
	display: inline-block;
	position: relative;
	letter-spacing: .05em;
}
#title h2::before {
display: block;
font-weight: normal;
font-size: 0.5rem;
line-height: 1;
content: attr(data-label);
color: #e50012;
text-transform:capitalize;
}
.t_other {
	background: url(../img/page/t_other.jpg) center top / cover no-repeat;
}
@media screen and (min-width: 768px) {
	#title {
		padding: 7% 0;
	}
	#title h2 {
		font-size: 180%;
	}
	#title h2::before {
font-size: 0.76rem;
letter-spacing: .2em;
}
}


/*tex
---------------------------------------------------------------------------*/
.tex {
width: 100%;
line-height: 2em;
text-align:justify;
text-justify:inter-ideograph;
overflow: hidden;
padding: 50px 0
}

.tex_archive{
width: 100%;
line-height: 2em;
text-align:justify;
text-justify:inter-ideograph;
overflow: hidden;
padding: 10% 0
}
.tex_archive p{
line-height: 1.9
}

.tex img {
border: 0;
max-width: 100%;
height: auto;
box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
-o-box-sizing: border-box;
-ms-box-sizing: border-box;
}
.tex p{
margin: 0;
padding: 0;
}
.tex img a {
border: 0;
}
.tex a:hover img,
.tex a:hover {
opacity: 0.8;
transition: 0.8s;
}
.tex a {
text-decoration: underline;
text-decoration-style:solid;
text-decoration-color:#e50012;
color: #e50012;
}
@media screen and (min-width:768px) {
.tex {
padding: 60px 0
}
.tex_archive {
padding: 5% 0
}
}

/* 等分
---------------------------------------------------------------------------*/
.boxA:after{content: "";
display: block;
clear: both}
@media screen and (min-width: 768px) {
.box2{float: left;width: 47%;}
.box3{float: right;width: 47%;}
.boxB{float: left;width: 35%;}
.boxC{float: right;width: 60%;}
}
@media (max-width:767px){
.box2,.boxB{margin-bottom: 5%}
}

/* ボックス*/
.box_nuri {
padding: 2.5em 3.5em;
margin: 2em 0;
background: #f5f5f5;/*背景色*/
}
.box_nuri p,
.box_waku p{
margin: 0; 
padding: 0;
}
.box_waku {
padding: 2em;
margin: 1.5em 0 0 0;
border: 1px solid #848484;
}
@media (max-width:767px){
.box_nuri {
padding: 1.5em 2em;
}
.box_waku{
padding: 1.5em;
}

}
p.indent {
  text-indent: -2em;
  padding-left: 2em;
	margin: 1em 0;
}


/*見出し
---------------------------------------------------------------------------*/
h3.midasi {
	color: #e50012;
	font-weight: normal;
	font-size: 1.4em;
	margin-bottom: 20px
}
h3.midasi_l {
	color: #e50012;
	font-weight: normal;
	padding-bottom: 2%;
	font-size: 1.3em;
	margin-bottom: 20px;
	clear: both;
	border-bottom: solid 2px #e6e6e6;
	position: relative;
}
h3.midasi_l:before {
	position: absolute;
	content: " ";
	display: block;
	border-bottom: solid 2px #e50012;
	bottom: -2px;
	width: 20%;
}

h4.midasi {
    position: relative;
    color: #333;
		font-weight: normal;
		font-size: 1.2em;
		line-height: 1.6em;
		margin-bottom: 30px;
}
h4.midasi:before {
    content: '';
    display: block;
    position: absolute;
    bottom: -15px;
    left: 0;
    transform: translateX(-50%);
    width: 60px;
    height: 1px;
    background-color: #333;
}
h5.midasi {
padding: .3em 0 .3em .7em;
border-left: 1px solid #333;
color: #333;
font-size: 1.2em;
line-height: 1.6em;
font-weight: normal;
margin: 30px 0 10px 0;
}
h5.midasi_b {
padding: .3em 0 .3em .7em;
border-left: 1px solid #333;
color: #333;
font-size: 1.2em;
line-height: 1.6em;
font-weight: normal;
margin: 0 0 10px 0;
}

h6.midasi {
padding:0;
margin: 0;
color: #333333;
font-size: 1.2em;
line-height: 1.6em;
font-weight: normal;
}

.midasi_01 {
padding: .3em 0 .3em .7em;
border-left: 1px solid #333;
color: #333;
font-weight: normal;
margin: 0 0 10px 0;
		font-size: 120%
		}

h3.midasi:after,
h3.midasi_l:after,
h4.midasi:after,
h5.midasi:after,
h5.midasi_b:after,
h6.midasi:after,
.midasi_01:after{
content: "";
clear: both;
height: 0;
display: block;
visibility: hidden;
}

@media screen and (min-width:768px) {
h3.midasi{font-size: 1.6em;}
h3.midasi_l,
h4.midasi {font-size: 1.5em;}
h5.midasi{
font-size: 1.4em;
margin: 50px 0 20px 0
}
h5.midasi_b{
font-size: 1.4em;
margin: 0 0 20px 0
}
h6.midasi {font-size: 1.4em;}
}


/* ---------------------------------------------------------------------------------------------

　 table
	
--------------------------------------------------------------------------------------------- */
table {
width: 100%;
border-collapse: collapse;
margin: 10px 0;
border-style: solid;
border-width: 0;
border-bottom: 1px solid #ccc;
text-align: left;
}
table th,
table td {
font-weight:normal;
padding: 1em;
border-top: 1px solid #ccc;
border-bottom: 1px solid #ccc;
vertical-align: middle;
}
table td img {
margin: 0 0 10px 0;
margin-bottom: 0;
}

/* 横線のデザイン */
.table_design {
  border-collapse: collapse;
  width: 100%;
}
.table_design td {
  border-top: 2px solid #e6e6e6;
	padding: 1em 0 1em 2em;
}
.table_design td:first-child {
  border-top: 2px solid #e50012;
  width: 30%;
	padding: 1em;
}
@media only screen and (max-width:768px) {
 .table_design td:first-child {
	padding: 1em 0;
}
}

/*pagination
---------------------------------------------------------------------------*/
.pagination {
clear: both;
padding: 20px 0;
position: relative;
font-size: 12px;
line-height: 12px;
text-align: center;
margin-bottom:3%
}
.pagination-box {
display: inline-block;
}
.pagination span, .pagination a {
display: block;
float: left;
margin: 2px 2px 2px 0;
padding: 8px 10px 8px 10px;
text-decoration: none;
width: auto;
color: #fff;
background: #c5c5c5;
}
.pagination a:hover {
color: #666;
background: #142139;
}
.pagination .current {
padding: 8px 10px 8px 10px;
background: #142139;
color: #fff;
}
.page_box {
float: left;
width: 100%;
margin-top:20px
}

@media screen and (min-width: 768px) {
.pagination {
font-size: 14px;
line-height: 14px;
}
.pagination span, .pagination a {
padding: 10px 15px 10px 15px;
}
.pagination .current {
padding: 10px 15px 10px 15px;
}}


/*ギャラリー
---------------------------------------------------------------------------*/
.gallery { /** ギャラリーを囲むボックス **/
width: 100%;
margin-bottom: 20px !important;
overflow: hidden;
display:-webkit-box;
display:-moz-box;
display:-ms-flexbox;
display:-webkit-flex;
display:-moz-flex;
display:flex;
-webkit-box-lines:multiple;
-moz-box-lines:multiple;
-webkit-flex-wrap:wrap;
-moz-flex-wrap:wrap;
-ms-flex-wrap:wrap;
flex-wrap:wrap;
}
.gallery br {display: none;} 
.gallery-item { /** 画像共通のスタイル **/
float: left;
margin-bottom: 0 !important;
}
.gallery-icon { /** 画像を囲む dt のスタイル **/
text-align: center;
}
.gallery-icon img {
width: 100%;
height: auto;
margin-bottom: 10px !important;
}
.gallery-caption,
.wp-caption-text { /** キャプション **/
color: #222;
font-size: 14px;
margin: 0 0 10px;
text-align: center;
}
.gallery-columns-1 .gallery-item { /** カラムなし **/
width: 100%;
margin-right: 0;
}
.gallery-columns-2 .gallery-item { /** 2カラム **/
width: 48%;
margin: 0 1%;
}
.gallery-columns-3 .gallery-item { /** 3カラム **/
width: 31.33333%;
margin: 0 1%;
}
.gallery-columns-4 .gallery-item { /** 4カラム **/
width: 23%;
margin: 0 1%;
}
.gallery-columns-5 .gallery-item { /** 5カラム **/
width: 18%;
margin: 0 1%;
}

@media (max-width:767px){
/* 640px以下用の記述 */
.gallery-columns-3 .gallery-item{
width: 48%;
margin: 0 1%;
}
.gallery-columns-5 .gallery-item {
width: 31.33333%;
margin: 0 1%;
}
}


/*キャプション
---------------------------------------------------------------------------*/
figure {
background-color: #fff;
padding: 5px;
display: table;
overflow: hidden;
}

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

figcaption {
display: table-caption;
caption-side: bottom;
background: #fff;
}
@media only screen and (max-width:60em) {
figure {
text-align:center;
clear:both;
overflow:hidden;
padding:0;
margin:0 auto
}
figure .alignright img,
figure .alignleft img{float:none;}
}

/* 次へ　戻る　前へ
---------------------------------------------------- */
.kiji_link{
display: flex;
  align-items: flex-end;
  height: 150px;
width: 100%;
margin: 0 auto
}
.kiji_link>div{
width: calc(100% / 3);
text-align: center;
vertical-align: middle;
}
.kiji_link a{
text-decoration: none;
color: #333;
font-size: 1em;
}
.kiji_link a:hover{
opacity: 0.6;
transition: 0.5s;
}
@media screen and (min-width: 768px) {
.kiji_link{
width: 600px;
}
}

/*btn_BOX
---------------------------------------------------------------------------*/
.btn_page{
margin:  0;
padding: 0;
display: flex;
justify-content: center;
}
/*read-more
---------------------------------------------------------------------------*/
a.btn_read_more {
display: flex;
justify-content: center;
align-items: center;
width: 100%;
padding: .7em 0;
font-weight: normal;
font-size: 0.8em;
border: 1px solid #e50012;
border-radius: 100vh;
position: relative;
transition: 0.5s;
color: #e50012;
background: #fff;
text-decoration: none;
}
a.btn_read_more:hover {
color: #e50012;
background: #fff;
transition: 0.5s;
opacity: 0.6;
text-decoration: none;
}


/* editボタン
---------------------------------------------------- */
.postmetadata{
	margin: 10px 0;
	width:100%;
	clear:both;
}
.edit-link{
	width:100%;
	clear:both;
}
a.post-edit-link {
display: inline-block;
  padding: 0 1.6em;
  font-size: 0.8em;
  color: #fff;
  text-decoration: none;
  user-select: none;
  background: #999;
  transition: 0.2s ease;
}
a.post-edit-link:hover {
  opacity: .6;
color: #fff;  
}
.edit-link:after{
content: "";
clear: both;
height: 0;
display: block;
visibility: hidden;
}

/*arvhive
/* ------------------------------------- */
.itiran{
padding-bottom: 50px
}
.info_box1{
margin-top: 50px;
}
.info_box a {
display: flex;
flex-wrap: wrap;
flex-wrap: nowrap;
text-decoration: none;
width: 100%;
padding: 15px 0;
}
.i_date{
color: #3F3F3F;
margin: 0 10px 0 0;
font-size: 85%;
min-width: 100px;
}
.i_text{
margin: 0;
text-decoration: none;
font-weight: normal;
font-size: 100%;
line-height: 150%;
color: #555;
padding:5px 0;
width: 100%;
}
.info_box a:hover {
text-decoration: underline;
background-color: #f9fafc;
cursor: pointer;
}

/* single */
.entry{
margin-top: 5%
}
.i_date2{
color: #3F3F3F;
margin: 0;
font-size: 85%;
}
.i_title{
font-size: 150%;
font-weight:400;
line-height: 150%;
margin: 0 0 30px 0;
padding: 0;
}
.i_furigana{
font-size: .8em;
font-weight:normal;
line-height: 1;
margin: 4% 0 10px 0;
padding: 0;
}
/* footer線 */
.i_text_box{
margin: 0 0 30px 0;
padding: 0 0 30px 0;
}


@media screen and (min-width:768px) {
/* single */
.entry_news{
margin-top: 2%
}
.i_title{
font-size: 200%;
line-height: 200%;
}
.i_furigana{
font-size: 1em;
}
.i_text_box_none{
width: 750px;
margin: 0 auto
}}


/* メニュ横並び（企業情報）
---------------------------------------------------- */
.button-list-box {
margin: 0 0 30px 0;
}
.button-list-box ul{
display: flex;
list-style: none;
justify-content: space-between;
margin: 0;
padding: 0;
flex-wrap: wrap;
}
.button-list-box li {
width: calc(33.3333% - 5px);
margin-bottom: 7px;
display: table;
text-align: center;
line-height: 1.6
}
.button-list-box li .a-link{
display: table-cell;
vertical-align: middle;
padding: 10px 20px;
text-decoration: none;
border: 1px solid #999;
color: #555;
border-radius: 100vh;
}
.button-list-box li:hover{
text-decoration: none;
}
@media screen and (max-width:980px) { 
.button-list-box li {
width: calc(50% - 5px);
font-size: 80%;
line-height: 1.3
}
.button-list-box li .a-link{
padding: 15px 0;
}
}


/*お問い合わせ一覧
---------------------------------------------------------------------------*/
.flex_toi-item ul{
display: flex;
list-style: none;
justify-content: space-between;
margin: 0;
padding: 0;
flex-wrap: wrap;
}
.flex_toi-item li {
display: flex;
align-items: center;
width: calc(50% - 9px);
margin-bottom: 18px;
line-height: 1.6;
}

.flex_toi-item li a{
text-decoration: none;
	width: 100%;
	height: 100%;
	padding: 5%;
	font-weight: normal;
	color: #e50012;
	transition: 0.5s;
	box-sizing: border-box;
	border: 2px solid #e50012;
	text-align: center;
	display: table-cell;
  vertical-align: middle;
}
.flex_toi-item li a:hover {
	color: #fff;
	background: #e50012;
}
@media screen and (max-width:768px) { 
.flex_toi-item li {
width: 100%;
}
}

/*リストデザイン
---------------------------------------------------------------------------*/
.list_maru ul li {
  position: relative;
  padding-left: 40px;
	margin-top: 10px
}
.list_maru ul li:before {
  color: #e50012;
  content: "・";
  font-size: 46px;
  position: absolute;
  top: 0;
  left: 0;
}

/*リンク
---------------------------------------------------------------------------*/
.link {
margin: 10px 0 0 0
}
.link a{
font-size: 100%;
font-weight:normal;
color: #e50012;
position: relative;
padding: 0 15px 5px 0;
text-decoration: none;
}
.link a:after{
content: '';
position: absolute;
right: 0;
top: 40%;
width: 6px;
height: 6px;
border-top: 1px solid #e50012;
border-right: 1px solid #e50012;
transform: translate(0, -50%) rotate(45deg);
color: #e50012;
}

.link a:hover {
	opacity: 0.5;
	text-decoration-line: underline;
}

/*カード
---------------------------------------------------------------------------*/
.corp_box_list {
	margin: 0;
}
.corp_box_list ul {
	list-style: none;
	line-height: 0;
	margin-top: 0
}
.corp_box_list ul:after {
	content: "";
	clear: both;
	display: block;
}
.corp_box_list ul li {
	display: inline-block;
	letter-spacing: normal;
	margin-bottom: 30px;
	text-align:left;
	border: 2px solid #f5f5f5;
	box-sizing: border-box;
	overflow: hidden;
}
.corp_box_list ul li img {
	 max-width: 100%;
	height: auto;
	vertical-align: bottom;
	display: block;
	padding-bottom: 0;
	z-index: 1;
}
.corp_box_list ul li a {
	text-decoration: none;
}
.corp_box_tex {
	vertical-align: middle;
	padding: 1rem 1.5rem;
	font-weight: normal;
	font-size: 1.6em;
	line-height: 1.6;
	color: #333;
}
.corp_box_list ul li:hover {
	color: #fff;
	border: 2px solid #e50012;
	transition: all .3s;
}
.corp_box_tex:hover  {
		color: #e50012;
}
@media screen and (max-width: 767px) {
	.corp_box_list ul.list2 li{
		width: 100%;
		margin-right: 0;
	}
	.corp_box_list ul.list2 li:nth-child(2n){
		margin-right: 0;
	}
	.corp_box_tex {
	font-size: 1.4em;
	}
}
@media screen and (min-width: 768px) {
.corp_box_list ul.list2 li {
width: 48%;
margin-right: 2%;
}
.corp_box_list ul.list2 li:nth-child(2n) {
margin-right: 0;
}
.corp_box_tex {
	padding: 1rem 0 1rem 1rem;
	font-size: 1.4em;
	line-height: 1.4;
}
}
@media screen and (min-width: 981px) {
.corp_box_tex {
	padding: 1rem 1rem 1rem 2rem;
	font-size: 1.6em;
	line-height: 1.6;
}
}