@charset "utf-8";

/* ************************************************ 
*	ページ上部タイトル
* ************************************************ */	
.page-toptitle-box {
position: relative;
height: 300px;
margin: 100px 0 0 0;
padding: 0;
background-image: url(../images/page_header_bg.jpg);
background-repeat: no-repeat;
background-size: cover;
background-position: right top;
}
.page-toptitle-box:before {
content: "";
position: absolute;
top: 100;
left: 0;
width: 100%;
height: 100%;
background:rgba(16,75,43,0.8);
transition: 0.5s;
-webkit-transition: 0.5s;
-moz-transition: 0.5s;
-o-transition: 0.5s;
-ms-transition: 0.5s;
}
.page-toptitle-jp1,
.page-toptitle-jp2 {
font-weight:400;
letter-spacing: 0.05em;
padding: 0;
margin: 0;
color: #fff;
text-align:left;
position: absolute;
top: 40%;
transform: translateY(-50%);
z-index:999;
font-size: min(4.0vw,40px);
line-height: 100%;
}
.page-toptitle-jp1 { left: 4.3%; }
.page-toptitle-jp2 { left: 5%; }

.page-toptitle-en {
font-weight:400;
letter-spacing: 0.05em;
padding: 0;
margin: 0;
color: #ffff00;
text-align:left;
position: absolute;
top: 60%;
left: 5%;
transform: translateY(-50%);
z-index:999;
font-size: min(2.1vw,21px);
line-height: 100%;
}


/* ************************************************ 
*	パンくずリスト
* ************************************************ */	
.breadcrumbs {
width: 90%;
max-width: 1000px;
margin: auto; 
padding: 10px 0 0 0;
text-align:left;
font-size: min(1.5vw,13px);
overflow: hidden;
color: #333;
}
.breadcrumbs a{
color: #333;
text-decoration: underline;
transition: 0.5s;
-webkit-transition: 0.5s;
-moz-transition: 0.5s;
-o-transition: 0.5s;
-ms-transition: 0.5s;
}
.breadcrumbs a:hover{
color: #000;
text-decoration: none;
}


/* ************************************************ 
*   見出し
* ************************************************ */
.htitle {
position: relative;
padding: 0 0 20px 0;
margin: 0 0 70px 0;
border-bottom: 1px solid #104b2b;
font-size: min(4.0vw,40px);
color:#104b2b;
font-weight: 500;
}

.htitle::after,
.htitle2::after {
position: absolute;
bottom: -9px;
left: 35px;
width: 15px;
height: 15px;
content: '';
border-right: 1px solid #104b2b;
border-bottom: 1px solid #104b2b;
background: #fff;
transform: rotate(45deg);
}

.htitle2 {
position: relative;
padding: 0 0 20px 0;
margin: 0 0 40px 0;
border-bottom: 1px solid #104b2b;
font-size: min(4.0vw,40px);
color:#104b2b;
font-weight: 500;
}

.htitle3{
position: relative;
font-size: min(4.0vw,40px);
color:#104b2b;
font-weight: 500;
margin: 0 0 70px 0;
padding: 0 0 20px 0;
}
.htitle3:after {
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 7px;
content: '';
background-image: -webkit-repeating-linear-gradient(135deg, #104b2b, #104b2b 1px, transparent 2px, transparent 5px);
background-image: repeating-linear-gradient(-45deg, #104b2b, #104b2b 1px, transparent 2px, transparent 5px);
background-size: 7px 7px;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.htitle4{
position: relative;
font-size: min(3.0vw,30px);
color:#104b2b;
font-weight: 500;
margin: 0 0 40px 0;
padding: 0 0 20px 0;
}
.htitle4:after {
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 7px;
content: '';
background-image: -webkit-repeating-linear-gradient(135deg, #104b2b, #104b2b 1px, transparent 2px, transparent 5px);
background-image: repeating-linear-gradient(-45deg, #104b2b, #104b2b 1px, transparent 2px, transparent 5px);
background-size: 7px 7px;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}


/* ************************************************ 
*	トピックス
* ************************************************ */
.topics-box {
margin: 0;
padding: 0;
}

ul.topics-list{
margin: 0 0 80px 0;
padding: 0 0 0 0;
list-style: none;
border-top:1px solid #999;
}

.topics-imgbox{
width: 200px;
height: 120px;
margin: 0 30px 0 0;
flex-shrink: 0; /* 画像を縮ませない */
overflow: hidden;
}
.topics-imgbox img{
width: 100%;
height: 100%;
object-fit: cover;
font-family: 'object-fit: cover;'; /*IE用*/
}
.topics-textbox{
flex: 1;       /* 残り幅を使用 */
min-width: 0; /* 折り返しの不具合対策 */
}

.topics-cate1,
.topics-cate2,
.topics-cate3{
font-size: min(1.2vw,13px);
border-radius: 5px;
padding: 5px 10px;
color: #fff;
}
.topics-cate1{ background-color: #104b2b; }
.topics-cate2{ background-color: #f19975; }
.topics-cate3{ background-color: #3684c6; }

.topics-date{
font-size: min(1.4vw,14px);
}
.topics-title{
font-size: min(1.8vw,16px);
margin: 10px 0 0 0;
line-height: 1.6;
font-weight: 500;
}


ul.topics-list li{
font-size: min(1.8vw,16px);
margin: 0;
padding: 20px 0;
border-bottom:1px solid #999;
}
ul.topics-list li a{
display: flex;
align-items: start;
width: 100%;
font-size: min(1.8vw,16px);
margin: 0;
color:#333;
text-decoration: none;
transition: 0.5s;
}
ul.topics-list li a:hover{
color:#333;
text-decoration: none;
opacity: 0.6;
}

.pager{
margin: 0 auto 30px auto;
text-align:center;
}
.topics-page-navi{
margin: 0 3px;
padding: 0;
text-align:center;
}
.topics-page-navi a{
color: #333;
font-size: min(1.8vw,16px);
padding: 0;
width: 40px;
height: 40px;
display: inline-block;
align-content: center;
text-decoration:none;
border:1px solid #104b2b;
border-radius: 50vh;
}
.topics-page-navi a:hover{
color: #fff;
border:1px solid #104b2b;
background-color: #104b2b;
text-decoration:none;
}

/* レイアウト用テーブルの罫線を消す */
.ck-content .table table,
.ck-content .table td,
.ck-content .table th {
  border: none;
}

/* テーブル内の画像を常にセル幅いっぱいにする */
.ck-content .table td img,
.ck-content .table th img {
  width: 100%;
  height: auto;
  display: block;
}
.ck-content .table:not(.layout-table) table,
.ck-content .table:not(.layout-table) td,
.ck-content .table:not(.layout-table) th {
  border: none !important;
}

/* ************************************************ 
*	組織概要
* ************************************************ */
.about-box {
margin: 0 0 100px 0;
padding: 0;
}
.about-box-end {
margin: 0 0 50px 0;
padding: 0;
}
.about-box p,
.about-box-end p{
font-size: min(1.8vw,16px);
line-height: 2;
}

.org-box {
margin: 0 auto;
padding: 0;
text-align: center;
}
.org-box img{
width: 80%;
}
/* 本文画像の右クリック・ドラッグ保存の抑止（common.js と対で使用） */
.org-box img,
.contents-box img{
-webkit-user-drag: none;
-webkit-touch-callout: none;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}

.table-scroll {
width: 100%;
}
table.member {
width: 100%;
margin: 0;
padding: 0;
border-collapse: collapse;
border-spacing: 0;
font-size: min(1.8vw,16px);
border-top:1px solid #999;
}
table.member tr{
border-bottom:1px solid #999;
}
table.member th {
padding: 20px;
white-space: normal;
vertical-align: middle;
font-weight: 500;
background-color: #efefef;
text-align: center;
}
table.member th:first-child {
width: 20%;
}
table.member th:nth-child(2) {
width: 30%;
}
table.member td {
padding: 20px;
white-space: normal;
vertical-align: middle;
font-weight: 400;
}
table.member td:first-child,
table.member td:nth-child(2) {
text-align: center;
}

/* 当初のdiv（使っていない）
.access-box {
margin: 0;
padding: 0;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: flex-end;
}
.access-text-box {
width: 42.5%;
}
.access-text-box p{
border: 1px solid #104b2b;;
padding: 20px;
}
.access-map-box {
width: 57.5%;
}
 */


.access-text-box {
width: 100%;
}
.access-text-box p{
border: 1px solid #104b2b;;
padding: 20px;
}


table.access {
width: 100%;
margin: 0;
padding: 0;
border-collapse: collapse;
border-spacing: 0;
}
table.access td.leftbox{
width: 57.5%;
}
table.access td.rightbox{
width: 42.5%;
vertical-align: bottom;
}
table.access td.rightbox p{
border: 1px solid #104b2b;
padding: 20px;
}


.access-info-box {
width: 100%;
margin: 80px 0 0 0;
}
.access-info-subbox-top {
border-bottom: 1px solid #104b2b;
margin: 0 0 40px 0;
padding: 0 0 40px 0;
}
.access-info-subbox {
border-bottom: 1px solid #104b2b;
margin: 0 0 40px 0;
padding: 0 0 10px 0;
}
.access-info-subbox-end {
border-bottom: 1px solid #104b2b;
margin: 0 0 40px 0;
padding: 0 0 25px 0;
}
.access-info-subtitle1,
.access-info-subtitle2,
.access-info-subtitle3{
font-weight: 400;
font-size: min(2.1vw,21px);
margin: 0 0 15px 10px;
padding: 0;
}
.access-info-subtitle1::before {
position:relative;
top: 5px;
left: -10px;
content:"";
display:inline-block;
width:22px;
height:22px;
background-size:contain;
background:url("../images/icon_airplane.svg") no-repeat;
}

.access-info-subtitle2::before {
position:relative;
top: 5px;
left: -10px;
content:"";
display:inline-block;
width:22px;
height:22px;
background-size:contain;
background:url("../images/icon_train.svg") no-repeat;
}

.access-info-subtitle3::before {
position:relative;
top: 5px;
left: -10px;
content:"";
display:inline-block;
width:22px;
height:22px;
background-size:contain;
background:url("../images/icon_taxi.svg") no-repeat;
}


.access-info-subtitle-bus{
font-weight: 400;
font-size: min(1.8vw,18px);
margin: 0 0 5px 40px;
padding: 0;
}
.access-info-subtitle-bus::before {
position:relative;
top: 3px;
left: -10px;
content:"";
display:inline-block;
width:18px;
height:18px;
background-size:contain;
background:url("../images/icon_bus.svg") no-repeat;
}


p.access-info-subtitle-p{
font-weight: 400;
font-size: min(1.8vw,16px);
margin: 0 0 30px 30px;
padding: 0;
}

.access-info-subtitle-airplane,
.access-info-subtitle-train{
font-weight: 400;
font-size: min(1.8vw,18px);
margin: 0 0 15px 40px;
padding: 0;
}
.access-info-subtitle-airplane::before {
position:relative;
top: 3px;
left: -10px;
content:"";
display:inline-block;
width:18px;
height:18px;
background-size:contain;
background:url("../images/icon_airplane.svg") no-repeat;
}
.access-info-subtitle-train::before {
position:relative;
top: 3px;
left: -10px;
content:"";
display:inline-block;
width:18px;
height:18px;
background-size:contain;
background:url("../images/icon_train.svg") no-repeat;
}



/* ************************************************ 
*	プロジェクト
* ************************************************ */
.project-box {
margin: 0 0 100px 0;
padding: 0;
}
.project-box p{
font-size: min(1.8vw,16px);
line-height: 2;
}


/* ************************************************ 
*	よくある質問
* ************************************************ */
.faq-box {
margin: 0;
padding: 0;
}
.faq-box p{
font-size: min(1.8vw,16px);
line-height: 2;
}


/* ************************************************ 
*	お問い合わせ
* ************************************************ */
.contact-box {
margin: 0;
padding: 0;
}
table#contact {
width: 100%;
margin: 0 0 80px 0;
padding: 0 0 0 0;
border-collapse: collapse;
border-spacing: 0;
font-size: min(1.8vw,16px);
border-top:1px solid #999;
}
table#contact tr{
border-bottom:1px solid #999;
}
table#contact th {
padding: 20px;
white-space: normal;
vertical-align: middle;
width: 30%;
font-weight: 500;
}
table#contact th.last,
table#contact td.last {
vertical-align: top;
}
table#contact td {
text-align: left;
padding: 20px;
white-space: normal;
vertical-align: top;
width: 70%;
}

.contact-th-inner {
margin: 0;
padding: 0;
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}

.width20{ width: 20%!important; }
.contact-red {
background-color: #cc0012;
color: #fff;
font-size: min(1.4vw,14px);
padding: 3px 7px;
border-radius: 5px;
}

.privacy-link a{
font-size: min(1.6vw,14px);
color: #104b2b;
margin: 0 0 0 33px;
text-decoration: underline;
}
.privacy-link a::after {
position:relative;
top: 3px;
left: 10px;
content:"";
display:inline-block;
width:16px;
height:16px;
background-size:contain;
background:url("../images/icon_link.svg") no-repeat;
}
.privacy-link a:hover{
color: #104b2b;
text-decoration: none;
}


/* チェックボックス */
input[type="checkbox"] {
position: relative;
width: 25px;
height: 25px;
top: 3px;
margin-right: 8px;
background-color: #fff;
border: 1px solid #ccc;
border-radius: 5px;
vertical-align: -2px;
cursor: pointer;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
}
input[type="checkbox"]:checked {
border: 1px solid #cc0012;
background: #cc0012;
}
input[type="checkbox"]:checked:before {
position: absolute;
top: 1px;
left: 6px;
transform: rotate(45deg);
width: 7px;
height: 12px;
border-right: 3px solid #fff;
border-bottom: 3px solid #fff;
content: '';
}

.contactlink-box {
margin: 0 auto;
padding: 0;
text-align:center;
}

.contactlink {
margin: 0 auto;
padding: 20px 0;
text-align:center;
background-color:#104b2b;
border: 1px solid #104b2b;
width: 300px;
border-radius: 50vh;
font-size: min(2vw,18px);
color: #fff;
display: absolute;
}
.contactlink:hover{
color: #fff;
background-color:#000;
border: 1px solid #000;
border-radius: 50vh;
transition: 0.5s;
	-webkit-transition: 0.5s;
	-moz-transition: 0.5s;
	-o-transition: 0.5s;
	-ms-transition: 0.5s;
}

.contactrevise {
margin: 0 auto;
padding: 20px 0;
text-align:center;
background-color:#808080;
border: 1px solid #808080;
width: 300px;
border-radius: 50vh;
font-size: min(2vw,18px);
color: #fff;
display: absolute;
}
.contactrevise:hover{
color: #fff;
background-color:#000;
border: 1px solid #000;
border-radius: 50vh;
transition: 0.5s;
	-webkit-transition: 0.5s;
	-moz-transition: 0.5s;
	-o-transition: 0.5s;
	-ms-transition: 0.5s;
}



/* ************************************************ 
*	プライバシーポリシー
* ************************************************ */
.privacy-box{
margin: 0;
padding: 0;
}


/* ************************************************ 
*   レスポンシブ
* ************************************************ */
/* PC 画面の横幅が960px以上 */
@media only screen and (min-width: 960px){

}

/* Tablet (Portrait) 画面の横幅が768px〜959pxまで */
@media only screen and (min-width: 768px) and (max-width: 959px) {
.page-toptitle-box {
height: 200px;
margin: 100px 0 0 0;
}

}


/* Mobile (Portrait) 画面の横幅が767pxまで */
@media only screen and (max-width: 767px) {
.page-toptitle-box {
height: 120px;
margin: 70px 0 0 0;
}
.page-toptitle-jp1,
.page-toptitle-jp2 {
top: 35%;
font-size: 6vw;
}
.page-toptitle-jp1 { left: 4.3%; }
.page-toptitle-jp2 { left: 5%; }

.page-toptitle-en {
top: 65%;
left: 5%;
font-size: 4vw;
}

.breadcrumbs { display: none; }

.htitle{
font-size: 6vw;
margin: 0 0 50px 0;
}
.htitle2{
font-size: 6vw;
margin: 0 0 30px 0;
}
.htitle3{
font-size: 6vw;
margin: 0 0 50px 0;
}
.htitle4{
font-size: 5.5vw;
margin: 0 0 30px 0;
}

ul.topics-list{
margin: 0 0 30px 0;
}
ul.topics-list li{
font-size: 4.25vw;
}
ul.topics-list li a{
/* flex-direction: column; */
/* align-items: flex-start; */
font-size: 4.25vw;
}

.topics-imgbox {
width: 120px;
height: 90px;
margin: 0 20px 0 0;
}
.topics-textbox {
width: 60%;
}

.topics-cate1,
.topics-cate2,
.topics-cate3 {
font-size: 3.25vw;
}
.topics-date {
font-size: 3.75vw;
}
.topics-title {
font-size: 4.25vw;
margin: 10px 0 0 0;
}

.topics-page-navi a{
width: 35px;
height: 35px;
font-size: 4vw;
}


.about-box {
margin: 0 0 70px 0;
padding: 0;
}
.about-box-end {
margin: 0 0 30px 0;
padding: 0;
}
.about-box-end p,
.about-box p{
font-size: 4.5vw;
line-height: 2;
}

.org-box img{ width: 100%; }

.table-scroll {
overflow-x: auto;
-webkit-overflow-scrolling: touch;
}

table.member {
min-width: 800px;
font-size: 4.5vw;
}
table.member th,
table.member td {
padding: 15px;
}

.access-text-box {
width: 100%;
}
.access-text-box p{
border: 1px solid #104b2b;;
padding: 20px;
}
.access-map-box {
width: 100%;
margin: 0 0 20px 0;
}

table.access {
  display: block;
  width: 100%;
}

table.access tbody {
  display: block;
  width: 100%;
}

table.access tr {
  display: block; 
  overflow: hidden;
}

table.access td {
  display: block;     
  position: relative;
}


table.access td.leftbox{
width: 100%;
display: block;
margin: 0 0 20px 0;
}
table.access td.rightbox{
width: 100%;
display: block;
padding: 0;
}
table.access td.rightbox p{
border: 1px solid #104b2b;
padding: 20px;
width: calc(100% - 42px);
}

.access-info-box { margin: 50px 0 0 0; }
.access-info-subbox-top {
margin: 0 0 30px 0;
padding: 0 0 30px 0;
}
.access-info-subbox {
border-bottom: 1px solid #104b2b;
margin: 0 0 30px 0;
padding: 0 0 0 0;
}
.access-info-subbox-end {
border-bottom: 1px solid #104b2b;
margin: 0 0 30px 0;
padding: 0 0 25px 0;
}
.access-info-subtitle1,
.access-info-subtitle2,
.access-info-subtitle3{
font-size: 5vw;
margin: 0 0 15px 10px;
}
.access-info-subtitle-bus {
font-size: 4.25vw;
margin: 0 0 5px 5px;
}
.access-info-subtitle-bus::before {
top: 3px;
left: -5px;
}
p.access-info-subtitle-p{
font-size: 4.25vw;
margin: 0 0 30px 25px;
}

.access-info-subtitle-airplane,
.access-info-subtitle-train{
font-size: 4.25vw;
margin: 0 0 15px 10px;
padding: 0;
}


.project-box {
margin: 0 0 70px 0;
padding: 0;
}
.project-box p{
font-size: 4.5vw;
}

.faq-box p{
font-size: 4.5vw;
}

.contact-box {
margin: 0 0 30px 0;
padding: 0;
}
table#contact {
margin: 0 0 50px 0;
font-size: 4.5vw;
}
table#contact th {
display:block;
width: 100%;
padding: 15px 0px 5px 0px;
}
table#contact td {
display:block;
width: 100%;
padding: 0px 0px 15px 0px;
}

.contact-red {
font-size: 3.5vw;
padding: 3px 7px;
}
.privacy-link a {
font-size: 4vw;
}
.contactlink {
width: 100%;
font-size: 4.5vw;
}

.privacy-box p{
font-size: 4.5vw;
}

.width20{ width: 50%!important; }

input[type="text"],
input[type="password"],
input[type="email"],
textarea {
width: calc(96% - 2px);
padding: 10px 2%;
font-size: 4.25vw;
}

}
