/*PC用*/ 

.IndexTop{
	width:100px;
	background:#fff;
	height:100px;
	
}

.topImageArea{
	width:100%;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	height: 840px;
	position: relative;
	z-index:1;
	background-size: cover;
	
}

#global-nav ul{
	width:100%;
	margin:0;
	
}

.topImageTitle_en {
	position: absolute;
	text-align: center;
	top: 38%;
	width: 100%;
	z-index: 2;
	margin: auto;
}

.topImageTitle_en p {
	color: #fff;
	text-align: center;
	width: 90%;
	margin: auto;
	font-weight: bold;
	text-shadow: 0 0 6px rgba(0, 0, 0, 0.2);
	font-size: 40px;
	line-height: 1.6;
	writing-mode: vertical-tb;
	-webkit-writing-mode: vertical-tb;
	-ms-writing-mode: vertical-tb;
}


.topImageTitle {
	position: absolute;
	text-align: center;
	top: 60%;
	width: 100%;
	z-index: 2;
	margin: auto;
}

.topImageTitle p {
	color: #fff;
	letter-spacing: 0.1em;
	text-align: center;
	width: 90%;
	margin: auto;
	font-weight: bold;
	text-shadow: 0 0 6px rgba(0, 0, 0, 0.2);
	font-size: 22px;
	line-height: 1.6;
	writing-mode: vertical-tb;
	-webkit-writing-mode: vertical-tb;
	-ms-writing-mode: vertical-tb;
}

.InformationArea {
	border-radius: 5px;
	box-sizing: border-box;
	margin: auto;
	padding: 0;
	width: 100%;
}

.IndexInformationArea{
	width: 1000px;
	box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
	padding: 4px 40px 18px 40px;
	margin: auto;
	border: 1px solid #eee;
	box-sizing: border-box;
	border-radius: 12px;
}

.IndexInformationDetailArea{
	width:100%;
	margin:auto;

}
.IndexInformationDetailArea_ul{
	font-size:0;

}

.IndexInformationDetailArea_li:first-child{
	width: 100%;
	margin: auto;
	text-align: left;
	border-bottom: none;
	padding: 2% 0 0 0;
	display: flex;
}

.IndexInformationDetailArea_li{
	width: 100%;
	margin: auto;
	text-align: left;
	border-bottom: 1px dotted #ccc;
	padding: 2% 0;
	display: flex;
}

.IndexInformationDetailArea a{
	display: block;
	text-align: left;
	width: 100%;
	text-decoration: underline;
	/* margin: 2% auto auto; */
	font-size: 14px;
}
.IndexInformationDetailArea a:hover{
	opacity:0.5;

}

.InformationDate{
    color: #777;
    display: block;
    font-size: 14px;
    margin: auto 0;
    text-align: left;
    /* flex-wrap: wrap-reverse; */
    width: 24%;
}

.IndexLinkArea{
	width:90%;
	text-align:center;
	margin: 5% auto;
}

.IndexLinkArea a{
    color:#fff;
	font-size:14px;
	font-weight:bold;
	display: block;
	margin: 0 auto;
	padding: 12px;
	text-align: center;
	width: 200px;
	border-radius:50px;
	font-size:13px;
	transition:0.2s;
}

.IndexLinkAreaMini a{
	color:#fff;
	font-size:14px;
	font-weight:bold;
	display: block;
	margin: 6px auto 0 auto;
	padding: 4px;
	text-align: center;
	width: 150px;
	border-radius:50px;
	font-size:13px;
	transition:0.2s;
}

.IndexLinkArea a:hover,
.IndexLinkAreaMini a:hover{
	opacity:0.7;

}

.IndexSubTitle{
	position: absolute;
	width: 100%;
	text-align: center;
	margin:10% auto 5%;
	position:relative;
}

.all_sub_intro_bg_text {
	position: absolute;
	line-height: 1;
	font-size:80px;
	color: #7fcbea;
	opacity: 0.3;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	left: 0;
	right:0;
	top: -40%;
	z-index: -1;
}


.IndexSubTitle_E{
	width: 100%;
	text-align: center;
	font-size: 25px;
	font-weight: bold;
	color: #0D0B2B;
	margin: auto;

}
.IndexSubTitle_J{
	width: 100%;
	text-align: center;
	font-size: 14px;
	color: #2F4565;
	margin: auto;
	font-weight: normal;

}

/* ===== 共通 ===== */
.IndexAboutArea{
  margin:auto;
  width:100%;
  background-image:url("../commonImages/indexaboutareaback.png");
  text-align:center;
  background-position:center center;
  background-repeat:no-repeat;
  background-size:cover;
  position:relative;
  overflow:hidden;                /* 横はみ出し防止 */
}

.IndexAboutArea_ul{
  list-style:none;
  padding:0;
  margin:auto;
  width:90%;
  font-size:0;                    /* inline-blockの隙間対策をしている想定なら残す */
}

.IndexAboutArea_ul > li{
  font-size:16px;                 /* 子要素に通常文字サイズを戻す */
  min-width:0;                    /* Flex/Grid 親下では必須 */
}

.IndexAboutMovieAreaDetail video{
  width:100%;
  height:auto;
  display:block;
  border-radius:8px;              /* 任意の見栄え */
}

/* テキストの基本体裁 */
.IndexAboutTextArea_pctb p,
.IndexAboutTextArea_sp p{
	text-align:left;
	line-height:1.8;
	white-space:normal;
	overflow-wrap:break-word;
	word-break:normal;
	margin:0;
}
}

.IndexAboutTextArea_sp{ display:none; } /* 初期はPC/TB用を表示 */

/* iOS慣性スクロール */
.IndexAboutTextArea_pctb,
.IndexAboutTextArea_sp{
  -webkit-overflow-scrolling:touch;
}

.IndexAboutArea{
	height:585px;                 /* 枠の高さ */
}
.IndexAboutMovieArea{ margin:24px 0; }
.IndexAboutTextArea_pctb{
	max-height:calc(700px - 280px); /* 800 - (動画や余白分)。必要に応じて調整 */
	overflow-y:auto;                /* ← 中身だけスクロール */
	padding-right:20px;              /* スクロールバー分の読みやすさ */
}

.IndexAboutTextArea_sp{
	display:none;

}

.IndexAboutTextArea_pctb{
	width: 49%;
	display: inline-block;
	box-sizing: border-box;
	padding: 2%;
	vertical-align: middle;

}

.IndexAboutTextArea_pctb p{
	text-align:left;
	font-size:15px;
	margin-bottom:20px;
	line-height:1.8;
}

.IndexAboutTextArea_pctb p span{
	font-size:13px;
	color:#111;

}

.IndexAboutMovieArea {
	width : 49% ;
	display:inline-block;
	padding:2%;
	box-sizing:border-box;
	vertical-align: middle;
}

.IndexAboutMovieAreaDetail {
	margin: auto;
	width: 100%;
	text-align: center;
//	box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.05);
	border: 2px solid #fff;
}

.IndexAboutMovieAreaDetail video {
	width:100%;
	height: auto;
}

.background {
	position: absolute;
	display: block;
	top: 0;
	left: 0;
	z-index: 0;
}


.box {
	background: #fff;
	text-align: center;
	position:relative;
	z-index: 1;
}

.IndexMessageArea{
	width:100%;
	margin:auto;
	text-align:center;
	background: -moz-linear-gradient(top, #FFF, #e9f9fc);
	background: -webkit-linear-gradient(top, #FFF, #e9f9fc);
	background: linear-gradient(to bottom, #FFF, #e9f9fc);

}

.IndexMessageArea_ul {
	font-size: 0;
	margin: auto;
	padding: 5%;
	box-sizing: border-box;
}

.IndexMessageTextArea{
	width: 60%;
	display: inline-block;
	box-sizing: border-box;
	padding: 2%;
//	background: #fff;
//	border: 1px solid #fff;
//	box-shadow: 0 0 10px 0 rgba(47,69,101, 0.1);
}

.IndexMessageTextArea p{
	text-align: left;
	font-size: 15px;
	line-height: 1.8;
}

.IndexMessageImageArea{
	width: 38%;
	display: inline-block;
	box-sizing: border-box;
	padding: 2%;
	vertical-align: top;
}

.IndexMessageImageArea img{
	margin: auto;
	text-align: center;
	overflow: hidden;
	border-radius: 5px;
	width: 80%;
}

.IndexMessageImageArea p{
	font-size:16px;
	margin:7px auto;
	text-align:center;

}

.Col2LinksArea{
	width:90%;
	max-width:1250px;
	margin: 3% auto 8%;
//	display:flex;
	justify-content: space-between;
}

.Col2Links{
	width:100%;
	transition: 0.1s;
	    
}

.Col2LinksImg {
	margin: 0 auto;
	width: 100%;
	overflow: hidden;
	border-radius:12px;
}

.Col2Links img{
	width: 100%;
	height: 400px;
	transition: 1s all;
	object-fit: cover;
}

.Col2Links img:hover{
	transform:scale(1.1,1.1);
	transition:0.5s all;
	opacity:0.7;
}

.Col2Links p {
	padding:14px 0; 
	font-size:15px;
	border-bottom: solid 2px #dddee0;
	position: relative;
}
 
.Col2Links p:after {
  content: "";
  display: block;
  line-height: 0;
  overflow: hidden;
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 12%;
  border-bottom:2px solid #2F4565;
}

.Col2Links p:hover{
	opacity:0.7;
}


.Col3LinksArea{
	width:100%;
	margin:auto;
	background:#e7f0fd;
}

.Col3LinksAreaInner{
	width:100%;
	max-width:1250px;
	margin:auto;
	padding: 100px 0;
	display:flex;
	justify-content: center;
}

.Col3Links {
	text-align:center;
}
.Col3Links{
	width:30%;
}

.Col3Links img{
	width: 200px;
	margin-bottom: 20px;
}

.Col1LinksArea{
	width:100%;
	margin:80px auto;
	text-align:center;
}
.Col1LinksArea img{
	width:660px;
}

.ContactincArea{
	width:100%;
	margin:auto;

}

.ContactincArea_ul{
	font-size:0;
	display:table;
	width:100%;

}

.ContactincAreaInner_web{
	width: 50%;
	display:table-cell;
	background:#7fcbea;
	text-align:center;
	margin:auto;
	padding:5% 0;
	vertical-align: middle;
	box-sizing:border-box;

}

.ContactincAreaInner_web img {
	width: 50px;
	vertical-align:top;
}

.ContactincAreaInner_web a{
	font-size:30px;
	color:#fff;
	font-weight:bold;

}

.ContactincAreaInner_tel{
	width: 50%;
	display:table-cell;
	text-align:center;
	background:#43aad4;
	margin:auto;
	padding:5% 0;
	box-sizing:border-box;

}

.ContactincAreaInner_tel_detail{
	width: 100%;
	margin:auto;
	text-align: center;

}
.ContactincAreaInner_tel_detail p{
	font-weight:bold;
	font-size:30px;
	text-aling:center;
	color:#fff;

}

.bh{
	font-size:13px;
	color:#fff;
	font-weight:normal
}


