@charset "UTF-8";

/*--------------------------------------------
/*
/*		Theme: common
/*
/*--------------------------------------------*/
body {
	font-family: 'Lato', "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
	color: #000;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-feature-settings: "halt" 1;
	background: #F9F8F4;
}
.brnone {
	display: none;
}
a:hover {
	-webkit-transition: 0.3s;
	-moz-transition: 0.3s;
	-o-transition: 0.3s;
	transition: 0.3s;
	
}
 a.ro:hover {
    -webkit-filter: grayscale(100%);
    -moz-filter: grayscale(100%);
    -o-filter: grayscale(100%);
    -ms-filter: grayscale(100%);
    filter: grayscale(100%);
}
a.bright:hover {
    -webkit-filter: brightness(80%);
    -moz-filter: brightness(80%);
    -o-filter: brightness(80%);
    -ms-filter: brightness(80%);
    filter: brightness(80%);
}
a.opacity:hover {
	filter: alpha(opacity=30);
	-moz-opacity:0.3;
	opacity:0.3;
}
.loader {
	background: #ffcece; /* Old browsers */
	background: -moz-linear-gradient(left, #ffaaaa 0%, #ffcece 50%, #ffdddd 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(left, #ffaaaa 0%, #ffcece 50%, #ffdddd 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to right, #ffaaaa 0%, #ffcece 50%, #ffdddd 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#6B79B6', endColorstr='#70E6FF',GradientType=1 ); /* IE6-9 */
	height: 100%;
	left: 0;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 9999;
}

.loader-animation {
	width: 32px;
	height: 32px;
	left: 50%;
	margin: -16px 0 0 -16px;
	position: absolute;
	top: 50%;
	-webkit-transform: translateZ(0);
	-ms-transform: translateZ(0);
	transform: translateZ(0);
	-webkit-animation-delay: -0.16s;
	animation-delay: -0.16s;
}

header {
	width: 100%;
	height: 71px;
	background: #ffcece;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 999;
	border-bottom: 1px solid #EBEBEB;
}
header > div {
	width: 1050px;
	height: 72px;
	margin: 0 auto;	
}
header h2 {
	width: 180px;
	float: left;
	padding-top: 22px;
}
header ul {
	float: right;
	padding-top: 28px;
}
header a {
	text-decoration: none;
}


#spmenubtn {
	display: none;
}
#navi li {
	font-size: 13px;
	line-height: 1em;
	letter-spacing: 1px;
	float: left;
	margin-right: 24px;
	display: inline-block;
}
#navi li:last-child {
	margin-right: 0;
}
#navi li a {
	color: #000;
	font-weight: bold;
	transition: color .2s 0s cubic-bezier(.165,.84,.44,1);
	position: relative;
    display: inline-block;
    padding-bottom: 4px;
    z-index: 0;
}
#navi li a:after {
    background: #000;
    width: 0;
    transition: width .2s 0s cubic-bezier(.165,.84,.44,1);
    height: 2px;
	content: '';
    position: absolute;
    left: 0;
    bottom: -6px;
    display: block;
    z-index: -1;
}
#navi li a:hover:after {
    width: 100%;
}
#navi li a:hover {
}



/*
	topmovie
*/
.topmovie {
	position: relative;
  }
  
  /* video 
----------------------------------------------- */

  .video-box {
	position: relative;
	overflow: hidden;
	margin-top: 70px;
    width: 100%; /* 16:9 の幅→16 ÷ 9＝ 177.77% */
    height: 50vw; /* 16:9の幅 → 9 ÷ 16 = 56.25% */
  }
  .video {
	position: absolute;
	top: 50%;
	left: 50%;
    width: 100vw;
	-webkit-transform: translate(-50%, -50%);
	-moz-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
  }
  
  /* overlay 
----------------------------------------------- */

  
  .overlay::after {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
    width: 100%; /* 16:9 の幅→16 ÷ 9＝ 177.77% */
    height: 50vw; /* 16:9の幅 → 9 ÷ 16 = 56.25% */
	content: "";
	background-color: rgba(0,0,0,0.1);
	background-image: radial-gradient(rgb(255, 204, 204) 30%, transparent 31%), radial-gradient(#111 30%, transparent 31%);
	background-size: 2px 2px;
	background-position: 0 0, 2px 2px;
  }
  
  /* text 
----------------------------------------------- */
  .text-box {
	position: absolute;
	top: 60%;
	left: 50%;
	margin-top: -100px;
	width: 60%;
	-webkit-transform: translate(-50%, -50%);
	-moz-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
  }


  /* news 
----------------------------------------------- */



#news {
	width: 100%;
	height: 200px;
	background: #fff;
	border-bottom: 1px solid #EBEBEB;
	margin-bottom: 48px;
}
#news > div {
	width: 1050px;
	margin: 0 auto;
}

#newsevent {
	height: 100px;/*スクロールの高さ*/
	overflow-y: scroll;
}

#left {
	width: 550px;
	height: 150px;
	border-right: 1px solid #EBEBEB;
	float: left;
	padding: 20px 0 0 32px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}
#right {
	width: 300px;
	height: 150px;
	float: right;
	padding: 60px 0 0 0px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}
#right h3 {
	width: 250px;
	margin-bottom: 16px;
}
#left h3 {
	width: 250px;
	margin-bottom: 16px;
}
#title {
	font-size: 18px;
	line-height: 180%;
    margin-bottom: 10px;
}
#date {
	font-size: 14px;
	line-height: 1em;
	color: #A2A2A2;
	letter-spacing: 1px;
}
#newsevent .date{ font-size: 14px; line-height: 1.0em; color: #a2a2a2; letter-spacing: 1px;}
#newsevent .title{ font-size: 18px; line-height: 180%; margin-bottom: 10px;}

#copy {
	font-size: 11px;
	line-height: 1em;
	text-align: center;
	color: #fff;
	font-weight: 700;
}
#main {
	width: 1050px;
	margin: 0 auto 48px;
}
.part {
	width: 1050px;
	border: 1px solid #EBEBEB;
	background: #fff;
	padding: 47px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
	margin-bottom: 48px;
	position: relative;
	-webkit-transition: 0.3s;
	-moz-transition: 0.3s;
	-o-transition: 0.3s;
	transition: 0.3s;
}
.part:last-child {
	margin-bottom: 0;
}
.triangle {
	position: absolute;
	top: 47px;
	right: 47px;
	width: 20px;
	height: 20px;
}
.lbox {
	width: 950px;
	float: left;
}
.lbox2 {
	width: 460px;
	float: left;
}

.rbox {
	width: 460px;
	float: right;
}
.dw {
	width: 70%;
	text-align: center;
	margin-bottom: 30px;
}
.mihon {
	width: 70%;
	margin: 0 auto;
}


/*
	note折り畳み
*/

.strong {
	font-weight: bold;
}

summary {
	list-style: none;
	position: relative;
	padding: 20px 70px 20px 30px;
	cursor: pointer;
	background-color: #ffdddd;
  }
  
  @media not all and (min-width: 768px){
	summary {
	  padding: 20px 50px 20px 20px;
	}
  }
  
  summary::-webkit-details-marker {
	display: none;
  }
  
  summary:hover,
  details[open] summary {
	background-color: #ffaaaa;
  }
  
  summary::after {
	content: '+';
	position: absolute;
	top: 50%;
	right: 30px;
	transform: translateY(-50%);
	transition: transform 0.5s;
	font-size: 30px;
  }
  
  details[open] summary::after {
	transform: translateY(-50%) rotate(45deg);
  }
  
  .answer {
	padding: 20px 30px;
  }
  
  @media not all and (min-width: 768px){
	summary::after {
	  right: 20px;
	  font-size: 20px;
	}
  
	.answer {
	  padding: 10px 20px;
	}
  }
  
  details[open] .answer {
	animation: fadein 0.5s ease;
  }
  
  @keyframes fadein {
	0% { opacity: 0; }
	100% { opacity: 1; }
  }
  
  body, p {
	margin: 0;
  }
  
  details {
	margin-bottom: 10px;
	margin-right: auto;
	margin-left: auto;
	width: 80%;
  }
  
  @media not all and (min-width: 640px){
	details {
	  width: 100%;
	}
  }
  
  details:first-of-type {
	margin-top: 30px;
  }
  

  

.part h3 {
	margin-bottom: 40px;
}
.part h4 {
	font-size: 26px;
	line-height: 160%;
    margin-bottom: 24px;
}
.part p {
	font-size: 16px;
	line-height: 200%;
}

#message h3 {
	width: 196px;
	height: 23px;
}
#message .rbox {
	 margin-top: 40px;
}
   
#field h3 {
	width: 525px;
	height: 23px;
}
#map {
	width: 443px;
	position: absolute;
	right: -104px;
    bottom: 24px;
}
#section h3 {
	width: 257px;
	height: 23px;
}
#section li:nth-child(1) {
	width: 256px;
	float: left;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
	padding: 0 16px 0 0;
	background: url(../img/line.png) repeat-y top right;
}
.sectionthumb {
	margin-bottom: 20px;
}
#section li h5 {
	font-size: 16px;
	line-height: 1em;
	font-weight: bold;
	color: #CA3935;
	margin-bottom: 16px;
}
#section li p {
	font-size: 13px;
	line-height: 180%;
}

#section li:nth-child(2) {
	width: 272px;
	float: left;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
	padding: 0 16px 0 16px;
	background: url(../img/line.png) repeat-y top right;
}
#section li:nth-child(3) {
	width: 256px;
	float: left;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
	padding: 0 0 0 16px;
}


.cbox {
	width: 70%;
	margin: 0 auto;
	margin-bottom: 30px;
	margin-left: 15%;
}



/*
	company
*/
#company h3 {
	width: 250px;
	height: 23px;
}


/*
	old
*/
#old h3 {
	width: 350px;
	height: 23px;
}

.container{
    display: flex;
    justify-content: space-between;
}
.container-item{
    width: 45%;
}
.container-item-img{
    border: 1px solid #ccc;
}
.container-item-img img{
    display: block;
    height: auto;
    max-width: 100%;
}



/*
	footer
*/

footer {
	width: 100%;
    height: 71px;
    background: #ffaaaa;
    border-top: 1px solid #EBEBEB;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
	padding-top: 24px;
}
footer p {
	width: 194px;
	height: 11px;
	margin: 0 auto;
}

#pagetop {
    width: 40px;
    height: 40px;
    position: fixed;
    bottom: 50px;
    right: 40px;
}
#pagetop a img {
	-webkit-transition: 0.3s;
	-moz-transition: 0.3s;
	-o-transition: 0.3s;
	transition: 0.3s;
}
#pagetop a:hover img {
	moz-transform: rotate(360deg) scale(1.2,1.2);
    -webkit-transform: rotate(360deg) scale(1.2,1.2);
    -o-transform: rotate(360deg) scale(1.2,1.2);
    -ms-transform: rotate(360deg) scale(1.2,1.2);
}


.part {
	-moz-transition-delay: 0.3s;
	-webkit-transition-delay: 0.3s;
	-o-transition-delay: 0.3s;
	-ms-transition-delay: 0.3s;
}


.billboard{ margin: 0 0 0 0; padding: 56.25% 0 0 0;}



