@charset "utf-8";


/* reset and base ----------------- */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, b, font, img, ins, kbd, q, s, samp, small, strike, strong, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, legend, table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	border: 0;
	box-sizing: border-box;
}
ol,ul {
	list-style: none;
}
img {
	max-width: 100%;
	height: auto;
	border: none;
}
figure {
	margin: 0;
	padding: 0;
}


/* base --------------------------- */
html {
	cursor: auto;
	font-size: 62.5%;
	color: #333;
}

body {
	margin: 0;
	padding: 0;
	font-size: 1.3rem;
	font-family: -apple-system, BlinkMacSystemFont, 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', '游ゴシック  Medium', meiryo, 'ＭＳ Ｐゴシック', sans-serif;
}

a {
	color: #333;
	text-decoration: none;
}

.sp_show {
	display: none;
}


/* header ------------------------- */
header {
	width: 100%;
	height: 135px;
	/*opacity: 0;*/
	/* animation: header 250ms ease 0ms 1 normal forwards; */
	z-index: 100;
}
@keyframes header {
	0% {opacity: 0;}
	100% {opacity: 1;}
}
header .inner {
	display: flex;
	width: 100%;
	max-width: 1150px;
	min-width: 1150px;
	height: 97px;
	margin: 0 auto;
	padding: 0 25px;
	justify-content: space-between;
	align-items: center;
}
header .head {
	display: flex;
	height: 108px;
	justify-content: space-between;
	align-items: center;
	/* -ms-font-feature-settings: "normal"; */
}
header .head .logo {
	padding: 15px 0 0 0;
}
header .head .logo a {
	display: block;
	width: 220px;
	height: 68px;
	background: url(../img/common/logo2-c.png) center top / contain no-repeat;
	background: url(../img/common/logo2.png) center top / contain no-repeat;
	text-indent: -9999px;
}
header .head .text {
	/* -ms-font-feature-settings: "normal"; */
}
header .btn_spnavi {
	display: none;
}


/* #gnavi ------------------------- */
#gnavi ul {
	display: flex;
	justify-content: space-around;
	align-items: center;
}
#gnavi ul li {
	padding: 35px 0 0 58px;
	text-align: center;
}
#gnavi ul li a {
	opacity: 1;
	transition: all 250ms ease;
}
#gnavi ul li.active:not(.sns) a,
#gnavi ul li:not(.sns) a.active,
#gnavi ul li:not(.sns) a:hover {
	color: #915a60;
	opacity: 0.8;
}
#gnavi ul li a .ja {
	font-size: 1.0rem;
}
#gnavi ul li a .en {
	font-size: 1.6rem;
	/* -ms-font-feature-settings: "normal"; */
	letter-spacing: 0.1em;
}
#gnavi ul li.sns a {
	padding: 0 0 0 10px;
	font-size: 2.8rem;
	opacity: 1;
	transition: all 250ms ease;
}
#gnavi ul li.sns a:hover {
	opacity: 0.8;
}
#gnavi ul li.sns a span {
	display: inline-block;
	text-indent: -9999px;
}
.sns .facebook {
	color: #3b5998;
	color: #000;
}
.sns .instagram {
	color: #000;
}

/* footer ------------------------- */
footer {
	width: 100%;
	margin: 45px 0 0;
	background: #efefef;
	color: #fff;
}
footer::after {
	content: "";
	display: block;
	width: 100%;
	height: 60px;
	background: #d7d7d7;
}
footer a {
	color: #fff;
}
footer .inner {
	position: relative;
	width: 1200px;
	margin: 0 auto;
	padding: 0 25px;
}
footer .fcontent {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	letter-spacing: 0.1em;
}

footer .fcontent {
	display: flex;
	justify-content: space-between;
	padding: 28px 0 33px;
}

footer .logo {
	width: 40%;
}
footer .logo a {
	display: block;
	width: 165px;
	height: 49px;
	background: url(../img/common/logo2-c.png) center top / contain no-repeat;
	background: url(../img/common/logo2.png) center top / contain no-repeat;
	text-indent: -9999px;
}

footer .sns {
	width: 20%;
	display: flex;
	justify-content: center;
	align-items: center;
}
footer .sns ul {
	display: flex;
	justify-content: center;
	align-items: center;
}
footer .sns > a {
	display: inline-block;
	margin: 0 8px 0;
}
footer .sns > a i {
	font-size: 2.8rem;
	opacity: 1;
	transition: all 333ms ease;
}
footer .sns > a:hover i {
	opacity: 0.8;
}

#fnavi {
	width: 40%;
}
#fnavi ul {
	display: flex;
	justify-content: flex-end;
	align-items: center;
}
#fnavi li + li::before {
	content: "";
	display: inline-block;
	width: 6px;
	height: 10px;
	margin: 0 1em;
	background: url(../img/common/fnavi_slash.png) center center / contain no-repeat;
}
#fnavi ul a {
	color: #333;
	line-height: 1;
}
#fnavi ul a img {
	display: inline-block;
	transition: all 333ms ease;
}
#fnavi ul a:hover img {
	opacity: 0.8;
}


footer .ffoot {
	position: absolute;
	left: 0;
	bottom: -60px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	height: 60px;
	padding: 0 25px;
	letter-spacing: 0.1em;
}
footer .copyright {
	width: 100%;
	text-align :center;
	font-size: 1.0rem;
}


/* main --------------------------- */
main {
	/*margin: 0 0 40px;*/
	line-height: 1.75;
}
main p .en {
	/* -ms-font-feature-settings: "normal"; */
}
@media all and (-ms-high-contrast:none){ /* IE11 */
  *::-ms-backdrop, main p .en,
  *::-ms-backdrop, main p .en {
		margin: 0 0.25em 0.4em 0;
	}
}
@supports (-ms-ime-align:auto) { /* Edge */
	main p .en,
	main p .en {
		margin: 0 0.25em 0.25em 0;
	}
}


/* module ------------------------- */
/* category label */
span.category.press_release {
	background: #915a60;
	color: #fff;
}
span.category.news_release {
	background: #5b5a91;
	color: #fff;
}
span.category.information {
	background: #5a9171;
	color: #fff;
}
span.category.other,
span.category.others {
	background: rgb(117, 117, 117);
	color: #fff;
}

/* button */
/* button - btn_more */
.btn_more a {
	position: relative;
	display: block;
	width: 69px;
	height: 20px;
	padding: 5px 8px;
	background: #915a60;
	background: url(../img/common/btn_more.png) center center / contain no-repeat;
	opacity: 1;
	transition: all 333ms ease;
	text-indent: -9999px;
}
.btn_more a:hover {
	opacity: 0.9;
}

/* button - btn_link */
.btn_link {
	display: flex;
	justify-content: center;
}
.btn_link a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 240px;
	height: 49px;
	border: 1px solid #000;
	background: #fff url(../img/common/btn_arrow1b.png) 171px center no-repeat;
	font-size: 1.8rem;
	line-height: 1;
	animation: btn_link-out 250ms linear 0ms 1 normal forwards;
}
.btn_link.more {
	font-size: 2.4rem;
}
.btn_link a:hover {
	animation: btn_link-in 250ms linear 0ms 1 normal forwards;
}
/* button - btn_link2 */
.btn_link2 {
	display: flex;
	justify-content: center;
}
.btn_link2 a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 390px;
	height: 69px;
	padding: 0 46px 0 0;
	border: 1px solid #000;
	background: #fff url(../img/common/btn_arrow1b.png) 290px center no-repeat;
	font-size: 1.8rem;
	line-height: 1;
	animation: btn_link-out 250ms linear 0ms 1 normal forwards;
}
.btn_link2 a:hover {
	animation: btn_link-in 250ms linear 0ms 1 normal forwards;
}
@keyframes btn_link-out {
	0% {
		color: #fff;
		background-color: #000;
		background-image:url(../img/common/btn_arrow1w.png);
	}
	100% {
		color: #000;
		background-color: #fff;
		background-image:url(../img/common/btn_arrow1b.png);
	}
}
@keyframes btn_link-in {
	0% {
		color: #000;
		background-color: #fff;
		background-image:url(../img/common/btn_arrow1b.png);
	}
	100% {
		color: #fff;
		background-color: #000;
		background-image:url(../img/common/btn_arrow1w.png);
	}
}
/* button - btn_submit */
.btn_submit {
	display: flex;
	justify-content: center;
}
.btn_submit button {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 99%;
	height: 56px;
	margin: 0 auto;
	border: 1px solid #8a545b;
	background: #8a545b;
	color: #fff;
	font-size: 1.8rem;
	line-height: 1;
	cursor: pointer;
}
.btn_submit.confirm button::after,
.btn_submit.send button::after {
	content: "";
	display: inline-block;
	width: 37px;
	height: 10px;
	margin: 0 0 0 0.5em;
	color: #fff;
	background: #8a545b url(../img/common/btn_arrow1w.png) center center no-repeat;
}
#contact .contact_block .btn_submit.confirm button,
#contact .contact_block .btn_submit.edit button {
	margin: 65px 0 20px;
}
#contact .contact_block .btn_submit.send {
	margin: 0 0 20px;
}
.btn_submit.edit button {
	color: #8a545b;
	background: #eee;
}
.btn_submit.edit button::after {
	content: "";
	display: inline-block;
	width: 37px;
	height: 10px;
	margin: 0 0 0 0.5em;
	color: #8a545b;
	background: #eee url(../img/common/btn_arrow1b.png) 58% center no-repeat;
}
.contact_block .btn_submit button:hover {
	box-shadow: 2px 2px 2px rgba(32, 32, 32, 0.61);
}
.contact_block .btn_submit.edit button:hover {
	box-shadow: 2px 2px 2px rgba(102, 102, 102, 0.61);
}


/* items */
.items_pc,
.items {
	display: flex;
	justify-content: space-around;
	flex-wrap: wrap;
	width: 100%;
	max-width: 1050px;
}
.items_pc > .item > a,
.items > .item > a {
	display: block;
}

/* items pc3 */
.items_pc.pc3 > .item,
.items.pc3 > .item {
	width: calc((100% - 150px) / 3);
	margin: 0 25px 50px;
}

/* items_pc4 */
.items_pc.pc4 > .item,
.items.pc4 > .item {
	width: calc((100% - 120px) / 4);
	margin: 0 15px 50px;
}

/* items pc5 */
.items_pc.pc5 > .item,
.items.pc5 > .item {
	width: calc((100% - 100px) / 5);
	margin: 0 25px 50px;
}


/* unit --------------------------- */
/* unit - block_logo */
.block_logo .inner {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	width: 1000px;
	margin: 0 auto 0;
	padding: 0 25px 0;
}
.block_logo .item {
	padding: 0 33px 25px;
}
.block_logo .item a {
	position: relative;
	display: block;
}
.block_logo .item a::after {
	content: "";
	position: absolute;
	top: -4%;
	left: -4%;
	display: block;
	width: 108%;
	height: 108%;
	background: rgba(0, 0, 0, 0);
	transition: all 500ms ease;
}
.block_logo .item a:hover::after {
	background: rgba(0, 0, 0, 0);
}


/* unit - block_logo2 */
.block_logo2 .inner {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	width: 100%;
	margin: 0 auto 0;
	padding: 65px 0 0;
}
.block_logo2 .item {
	padding: 0 25px 15px;
}
.block_logo2 .item a {
	position: relative;
	display: block;
}
.block_logo2 .item a::after {
	content: "";
	position: absolute;
	top: -4%;
	left: -4%;
	display: block;
	width: 108%;
	height: 108%;
	background: rgba(0, 0, 0, 0);
	transition: all 500ms ease;
}
.block_logo2 .item a:hover::after {
	background: rgba(0, 0, 0, 0.05);
}



/* individual setting ------------- */

/* top */
body#top {
}

#top header {
	position: absolute;
	top: 0;
	left: 0;
}
#top .main_img {
	position: relative;
	width: 100%;
	height:750px;
	margin: 0 auto 85px;
	padding: 0 0 0;
	overflow: hidden;
}
#top h1 {
	position: absolute;
	top: calc(270 / 1250 * 100vw);
	left: calc(50% - 146.5px);
	width: 293px;
	height: 87px;
	/*background: url(../img/common/logo2.png) center top / contain no-repeat;*/
	z-index: 2;
	text-indent: -9999px;
}
#top .swiper-slide img {
	width: 100%;
	height: auto;
}

/* top - block_news */
#top .block_news > .inner {
	position: relative;
	width: 970px;
	margin: 85px auto 85px;
	padding: 0 25px 0 250px;
}
#top .block_news h2 {
	position: absolute;
	top: 0;
	left: 25px;
}
#top .block_news .list_news {
	width: 100%;
	height: 130px;
	overflow-y: auto;
}
#top .block_news .list_news dl::after {
	content: "";
	display: block;
	clear: both;
}
#top .block_news .list_news dl dt {
	float: left;
	width: 200px;
}
#top .block_news .list_news dl dt > span {
	display: inline-block;
	line-height: 1;
}
#top .block_news .list_news dl dt .date {
	margin-right: 0.5em;
	font-family: Arial, Helvetica, sans-serif;
}
#top .block_news .list_news dl dt .category {
	display: inline-block;
	padding: 3px 5px;
	font-size: 92%;
}
#top .block_news .list_news dl dd {
	padding: 0 0 2em 210px;
}
#top .block_news .list_news dl dd a:hover {
	text-decoration: underline;
}
#top .block_news .btn_more {
	position: absolute;
	bottom: 0;
	left: 25px;
}



/* about */
#about h1 {
	display: none;
}
#about .block_concept {
	min-height: 781px;
	margin: 0 auto 150px;
	background: #f6f6f6 url(../img/about/main_visual_01.jpg) right center / auto 100% no-repeat;
}
#about .block_concept > .inner {
	width: 1070px;
	margin: 0 auto 0;
	padding: 80px 515px 0 25px;
}
#about .block_concept h2 {
	width: 100%;
	margin: 0 0 62px;
	text-align: center;
	line-height: 1;
}
#about .block_concept h3 {
	width: 100%;
	margin: 0 0 25px;
	text-align: center;
	font-size: 1.75rem;
	font-weight:normal!important;
	letter-spacing:0.9px;
	line-height: 1.3;
	text-shadow: 1px 1px 1px rgba(255, 255, 255, 0.9);
}
#about .block_concept p {
	margin-bottom: 2.5em;
	text-align: center;
	font-size: 1.35rem;
	letter-spacing:0.5px;
	line-height: 2.5;
	text-shadow: 1px 1px 1px rgba(255, 255, 255, 0.9);
}
#about .block_concept p:last-of-type {
	margin-bottom: 0;
}

.block_detail > .inner {
	width: 970px;
	margin: 0 auto 50px;
	padding: 0 25px 0;
}
.block_detail h2 {
	margin-bottom: 90px;
	text-align: center;
}
.block_detail h2 .ja {
	font-size: 1.4rem;
	font-weight: normal;
}
.block_detail dl {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
}
.block_detail dl::after {
	content: "";
	display: block;
	clear: both;
}
.block_detail dt {
	float: left;
	width: 240px;
	padding: 23px 25px 20px;
	border-bottom: 2px solid #8e908f;
}
.block_detail dd {
	width: calc(100% - 240px);
	padding: 23px 25px 20px 85px;
	border-bottom: 1px solid #d6d6d6;
	line-height: 2.2;
}
#about .block_detail .inner {
	margin-bottom: 148px;
}



/* contact */
#contact h1 {
	margin-bottom: 65px;
	text-align: center;
}
/* contact_block */
#contact .contact_block .inner {
	width: 1200px;
	margin: 0 auto;
	padding: 0 237px 0;
}
#contact .contact_block p {
	margin: 0 0 5em;
	text-align: center;
	line-height: 2.0;
}
#contact .contact_block p .att {
	font-size: 100%
}
#contact .contact_block span.req {
	color: #f00;
}
#contact .contact_block table {
	width: 100%;
	border-collapse: collapse;
}
#contact .contact_block table th {
	width: 175px;
	height: 50px;
	padding: 0 42px 0 0;
	vertical-align: top;
	text-align: right;
	color: #333;
	line-height: 50px;
}
#contact .contact_block table td {
	width: 550px;
	padding: 0 0 15px 0;
}
#contact .contact_block table td strong,
#contact .contact_block table td label {
	display: inline-block;
	margin: 0 3em 0 0;
	padding: 15px 0 0;
}
#contact .contact_block table td strong:nth-of-type(2) {
	padding: 25px 0 0;
}
#contact .contact_block table td label.error {
	margin: 0 0 0 0;
	padding: 0;
	color: #f60;
}
#contact .contact_block .corp strong,
#contact .contact_block .private strong {
	display: block;
}
#contact .contact_block .confirm_text {
	line-height: 50px;
}
#contact .contact_block table input[type="radio"] {
	display: inline-block;
	margin: 0 5px 0 0;
}
#contact .contact_block table input[type="text"] {
	width: 100%;
	height: 50px;
	margin: 0 0 0;
	padding: 5px;
	border: 1px solid #dadfe5;
}
#contact .contact_block table textarea {
	width: 100%;
	height: 10em;
	margin: 0;
	padding: 5px;
	border: 1px solid #dadfe5;
}
#contact .block_form {
	margin-bottom: 60px;
}
#contact .block_complete h2 {
	margin: 0 0 2em;
	text-align: center;
}
#contact .block_complete p:last-of-type {
	margin: 0 0 20em;
}
#contact .contact_block table td label.error {
	display: block;
}



/* news */
#news main > article {
	margin-bottom: 124px;
	padding-top: 75px;
}
#news.news_under .path {
	width:990px;
	margin:0 auto 70px;
	border-bottom:1px solid #333;
	border-top:1px solid #333;
	padding:9px 0 9px 5px;
	font-size:1.2rem;
}
#news h1 {
	margin-bottom: 75px;
	font-size: 2.4rem;
	text-align: center;
	line-height: 1;
}
#news .news_boxlist {
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	width: 990px;
	margin: 0 auto 0;
}
#news .news_boxlist .item {
	width: 260px;
	margin: 0 35px 25px;
}

#news.news_under .news_boxlist .item {
	width: 680px;
	margin: 0 155px 25px;
}

#news .news_boxlist .item a {
	display: block;
}
#news .news_boxlist .item .img {
	width: 100%;
	height: 185px;
	margin-bottom: 1em;
}
#news.news_under .news_boxlist .item .img {
	width: 100%;
	height: 484px;
	margin-bottom: 3em;
}

#news .news_boxlist .item .date_category {
	width: 100%;
	margin-bottom: 0.75em;
}
#news .news_boxlist .item .date {
	margin-right: 0.5em;
	font-family: Arial, Helvetica, sans-serif;
}
#news .news_boxlist .item .category {
	display: inline-block;
	padding: 3px 5px;
	font-size: 92%;
	line-height: 1;
}
#news .news_boxlist .item h2 {
	font-size: 1.4rem;
	font-weight: normal;
	line-height: 1.55;
}
#news.news_under .news_boxlist .item h2 {
	font-size: 1.8rem;
	font-weight: normal;
	line-height: 1.5;
	margin:0 0 30px 0;
}
#news .news_boxlist .item a h2 {
	transition: all 333ms ease;
}
#news .news_boxlist .item a:hover h2 {
	text-decoration: underline;
}
#news .pagination {
	padding-top: 75px;
}
#news .pagination ul {
	display: flex;
	justify-content: center;
}
#news .pagination ul li a {
	display: block;
	text-align: center;
	width: 31px;
	height: 27px;
	margin: 0 7px 0;
	padding-top: 3px;
	font-size: 1.5rem;
	line-height: 1;
}
#news .pagination ul li a:hover {
	text-decoration: underline;
}
#news .pagination ul li a.current,
#news .pagination ul li a.active {
	background: url(../img/common/page_bg.png) center top / contain no-repeat;
	color: #fff;
	text-decoration: none !important;
}



/* invew */
.inViewSec-out {
	opacity: 0;
	-webkit-transform: translate(0, 40px);
	transform: translate(0, 40px);
	transition: all 500ms ease 0ms;
}
.inViewSec-in {
	opacity: 1.0;
	-webkit-transform: translate(0, 0);
	transform: translate(0, 0);
}

/* news only */
.inViewNewsList-out .item {
	opacity: 0;
	transition: all 500ms ease;
}
.inViewNewsList-in .item {
	opacity: 1;
}
.inViewNewsList-out .item:nth-of-type(1) {transition-delay: 0ms;}
.inViewNewsList-out .item:nth-of-type(2) {transition-delay: 50ms;}
.inViewNewsList-out .item:nth-of-type(3) {transition-delay: 100ms;}
.inViewNewsList-out .item:nth-of-type(4) {transition-delay: 150ms;}
.inViewNewsList-out .item:nth-of-type(5) {transition-delay: 200ms;}
.inViewNewsList-out .item:nth-of-type(6) {transition-delay: 250ms;}
.inViewNewsList-out .item:nth-of-type(7) {transition-delay: 300ms;}
.inViewNewsList-out .item:nth-of-type(8) {transition-delay: 350ms;}
.inViewNewsList-out .item:nth-of-type(9) {transition-delay: 400ms;}
.inViewNewsList-out .item:nth-of-type(10) {transition-delay: 450ms;}
.inViewNewsList-out .item:nth-of-type(11) {transition-delay: 500ms;}
.inViewNewsList-out .item:nth-of-type(12) {transition-delay: 550ms;}
.inViewNewsList-out .item:nth-of-type(13) {transition-delay: 600ms;}
.inViewNewsList-out .item:nth-of-type(14) {transition-delay: 650ms;}
.inViewNewsList-out .item:nth-of-type(15) {transition-delay: 700ms;}


/* about only */
.inViewConcept-out h2 {
	opacity: 0;
	transition: all 500ms ease 500ms;
}
.inViewConcept-in h2{
	opacity: 1;
}
.inViewConcept-out h3 {
	opacity: 0;
	transition: all 500ms ease 750ms;
}
.inViewConcept-in h3 {
	opacity: 1;
}
.inViewConcept-out p {
	opacity: 0;
	transition: all 500ms ease 1000ms;
}
.inViewConcept-in p {
	opacity: 1;
}
.inViewConcept-out .block_logo2 {
	opacity: 0;
	transition: all 500ms ease 1000ms;
}
.inViewConcept-in .block_logo2 {
	opacity: 1;
}


.inViewMainImg-out h1 {
	opacity: 0;
	transition: all 500ms ease 1000ms;
}
.inViewMainImg-in h1 {
	opacity: 1;
}

