/*
common.css

//webfont
font-family: 'Lato', sans-serif;
font-family: 'Libre Franklin', sans-serif;

//media size
 - 〜479px：SP縦
 - 480px〜599px：SP横
 - 600px〜959px：タブレット
 - 960px〜1279px：小型PC
 - 1280px〜：大型PC
*/

body { background:#FFF; }

#masthead { position:fixed; left:0; top:0; z-index:100; width:100%; padding:23px 40px; background:none; height:100px;background:#fff; }
#masthead .lead { transition:opacity 0.25s linear 0s, margin 0.25s linear 0s; margin-bottom:0; }

body.scroll #masthead .lead,
body.menu_open #masthead .lead { opacity:0; margin-top:-5px; }

#mastnav { position:fixed; right:0; top:0; z-index:101; padding:23px 40px;; }
#mastnav .nav_gm { display: flex; }
#mastnav .nav_gm li { line-height:1; margin-left: 20px; margin-bottom:1em; }
#mastnav .nav_gm li a { font-weight:600; padding:0 2px; position:relative; }
#mastnav .nav_gm li a:hover { color:#FFF; }
#mastnav .nav_gm li a::before { content:' '; display:block; position:absolute; left:0; top:0; width:0%; height:100%; mix-blend-mode:difference; transition:width 0.2s ease-in-out 0s; background:#000; }
#mastnav .nav_gm li a:hover::before { width:100%; }

#mastnav .nav_gm li a.on::before { left:inherit; right:0; }

#mainlist2 .slick-slide{
  background:#fff;
}
#mainlist2 .slick-slide a:hover img{
  opacity:0.75;
}
#mainlist2 {
  background:#000;
  margin:0;
  overflow:hidden;
}
#next{display:none;}
#mainlist2 .slick-slide img{
  width: 100%;
  margin: 0 auto;
/*
max-width: 100%;
    max-height: 100%;
  height: calc( 100vh - 100px );


    height: 100vh;
  width:auto;
*/
}
//.slick-initialized .slick-slide{
//  width:calc(( 100vh - 100px ) / 0.66 )!important;
//}


.home #mastnav .nav_gm li.gm_home a,
.single-post .nav_gm li.gm_home a,
.post-type-archive-news #mastnav .nav_gm li.gm_news a,
.single-news #mastnav .nav_gm li.gm_news a { color:#FFF; background:#000; }

#mastnav .nav_lang { text-align:right; }
#mastnav .nav_lang li { display:inline-block; line-height:1; font-size:75%; }
#mastnav .nav_lang li::before { content:'/'; display:inline-block; padding:0 0.5em; }
#mastnav .nav_lang li:first-child::before { display:none; }
#mastnav .nav_lang li a { font-weight:800; color:#AFAFAF; }
#mastnav .nav_lang li.current a { color:#000; }

#btn_gm_sp { display:none; }

@media (max-width:480px) {
	#masthead { padding:20px 20px 0; }
	#mastnav { padding:20px; }

	#masthead { z-index:1002; }

	#mastnav { width:100%; height:100vh; z-index:1001; padding:50px 0 40px; background:#C8C8C8; display:flex; flex-direction:column; justify-content:center; align-items:center; transition:opacity 0.25s linear 0s; opacity:0; right:100vw; }
	#mastnav .nav_gm { display:flex; flex-direction:column; height:calc(100vh - 50px - 40px - 45%); align-items:center; justify-content:space-around; }
	#mastnav .nav_gm li { text-align:center; }
	#mastnav .nav_gm li a {font-size:1.2rem; }
	#mastnav .nav_lang { margin-bottom:0; }
	#mastnav .nav_lang li a { font-weight:700; color:#FFF; }


	#btn_gm_sp { position:fixed; right:20px; top:20px; z-index:2000; width:30px; height:21px; display:block; }
	#btn_gm_sp small { display:block; width:25px; height:1px; background:#000; position:absolute; right:0; top:10px; transition:all 0.20s linear 0s; opacity:1; }
	#btn_gm_sp::before { content:' '; display:block; width:30px; height:1px; background:#000; position:absolute; right:0; top:0; transition:all 0.25s linear 0s; transform-origin:100% 0; }
	#btn_gm_sp::after { content:' '; display:block; width:15px; height:1px; background:#000; position:absolute; right:0; top:20px; transition:all 0.25s linear 0s; transform-origin:100% 100%; }

	body.menu_open { height:100%; }

	body.menu_open #mastnav { opacity:1; right:0; }

	body.menu_open #btn_gm_sp small { opacity:0; transform:rotate(45deg); right:-4px; top:8px; }
	body.menu_open #btn_gm_sp::before { width:25px; transform:rotate(-45deg); top:1px; }
	body.menu_open #btn_gm_sp::after { width:25px; transform:rotate(45deg); top:18px; }
}

.site-content-contain { padding-top:100px; }

#main { margin:0; }

/* index */
#mainlist { display:flex; flex-wrap:wrap; justify-content:space-between; width:100%; max-width:1000px; margin:0 auto; }
#mainlist li { width:calc(33.333% - 14px); margin-bottom:20px; max-width:320px; position:relative; opacity:0; position:relative; top:50px; transition:top 0.7s ease-out 0.25s, opacity 0.55s ease-out 0.25s; }
#mainlist li.on { opacity:1; top:0; }
#mainlist li:nth-of-type(4n+3) { margin-left:0; }
#mainlist li::before { content:' '; display:block; padding-top:131.25%; }
#mainlist li a { display:flex; justify-content:center; align-items:center; width:100%; position:absolute; left:0; top:0; right:0; bottom:0; background-size:cover; transition:opacity 0.15s linear 0s; opacity:1; }
#mainlist li a span { position:relative; color:#FFF; font-weight:800; display:flex; width:100%; height:100%; justify-content:center; align-items:center; transition:background-color 0.25s ease-out 0s; background-color:rgba(0,0,0,0); }
#mainlist::after { content:' '; display:block; width:calc(33.333% - 14px); }

#mainlist li a:hover { }
#mainlist li a:hover span { background-color:rgba(0,0,0,0.4); }

#next { text-align:center; margin:0 0 50px; }
#next a { display:none; width:110px; height:40px; line-height:40px; background:#000; color:#FFF; font-size:0.8rem; margin:15px auto 0; transition:opacity 0.15s linear 0s; }
#next a.on { display:block; }
#next a:hover { opacity:0.75; }

#loading_first { transition:opacity 0.25s linear 0s; text-align:center; position:fixed; left:0; top:0; opacity:1; }
#loading_first.off { opacity:0; }

/* DESIGN */
body.single-post {}

body.single-post .site-content-contain { padding-top:0; }
body.single-post #mastfoot { position:fixed; left:0; bottom:0; }

#mainvisual { display:block; overflow:hidden; position:fixed; left:0; width:100%; }
#mainvisual li { text-align:center; }
#mainvisual li img { margin:0 auto; width:auto; max-height:100%; height:100%; height:100vh; }
#mainvisual .slick-arrow { display:block; width:40px; height:40px; }
#mainvisual .slick-next { background:url('/js/img/arrow_R.png') no-repeat 100% 0; right:calc((100vw - (100vh * 0.72))/2 - 68px); z-index:100; }
#mainvisual .slick-prev { background:url('/js/img/arrow_L.png') no-repeat 0 0; left:calc((100vw - (100vh * 0.72))/2 - 68px); z-index:100; }
#mainvisual .slick-next:before,
#mainvisual .slick-prev:before { content:none; display:none; }
#mainvisual .slick-disabled { display:none !important; }

#mainvisual .slick-dots { position:absolute; bottom:40px; }
#mainvisual .slick-dots li { width:80px; height:10px; margin:0; }
#mainvisual .slick-dots li button::before { width:80px; height:10px; font-size:0; border:1px solid #FFF; border-left:0; opacity:1; }
#mainvisual .slick-dots li:first-child button::before { border-left:1px solid #FFF; }
#mainvisual .slick-dots li.slick-active button::before { background:#FFF; }

body.single-post .entry-box { position:fixed; right:10px; bottom:100px; width:calc((100vw - (100vh * 0.72))/2 - 38px); }
body.single-post .entry-box .entry-header { padding:0 0 1em; }
.entry-box .entry-header h1 { font-size:1.066rem; }
.entry-box .entry-text .dl_design { margin:0; }
.entry-box .entry-text .dl_design li { margin-top:0.5em; }
.entry-box .entry-text .dl_design dl { display:flex; flex-wrap:wrap; width:100%; margin:0; }
.entry-box .entry-text .dl_design dt { width:4rem; font-size:0.666rem; }
.entry-box .entry-text .dl_design dd { flex-basis:auto; font-size:0.666rem; margin:0 0 0 1em; }

@media (min-width:479px) and (max-width:1024px) {
	body.single-post .entry-box { width:auto; right:40px; }
}
@media (max-width:480px) {
	body.single-post .site-content-contain { padding-top:220px; }
	#mainvisual { position:relative; }
	#mainvisual li img { margin:0 auto; width:100%; max-height:100%; height:auto; }
	body.single-post .entry-box { position:relative; right:inherit; bottom:inherit; width:100%; }
	body.single-post #mastfoot { position:relative; left:0; bottom:0; }
}

/* NEWS */
.post-type-archive-news .page-header  { display:none; }

#newslist { }
#newslist li { border-top:1px solid #000; padding:40px 0; }
#newslist li:first-child { border-top:0; padding-top:0; }

.page_news #newslist { max-width:700px; margin:0 auto; }
.page_news .entry-visual { height:300px; display:flex; align-items:center; overflow:hidden; }
.page_news .entry-visual img { width:100%; vertical-align:bottom; }
.page_news .entry-title { font-size:1.066rem; margin:30px 0 0; }
.page_news .entry-date { display:block; font-size:0.8rem; font-weight:500; margin:20px 0 0; line-height:1; }

.single-news .page_news .entry-header,
.single-news .page_news .entry-text,
.single-news .page_news .nav-links { max-width:700px; margin:0 auto; }
.single-news .page_news .entry-header { position:relative; }
.single-news .page_news .entry-date { position:absolute; left:100%; top:0; transform-origin:0% 0%; transform:rotate(90deg); margin:15px 0 0 5px; }
.page_news .entry-text img:first-child { display:none; }
.single-news .page_news .nav-links { border-top:1px solid #000; padding:30px 0 30px; margin-top:50px; position:relative; }
.single-news .page_news .nav-links a { color:#000; line-height:1; }
.single-news .page_news .nav-links a span { color:#000; }
.single-news .page_news .nav-links .nav-next { position:absolute; left:0; margin:0; }
.single-news .page_news .nav-links .nav-previous { position:absolute; right:0; margin:0; }

@media (max-width:480px) {
	#main { margin:0 20px; }
	#mainlist li { width:100%; max-width:none; }
}

/* BIOGRAPHY */
body.page-template-page-biography { }

body.page-template-page-biography .entry-text { max-width:1000px; margin:0 auto; }
body.page-template-page-biography .entry-text .img_01 img { vertical-align:bottom; }
body.page-template-page-biography .entry-text h1 { padding-top:20px; }
body.page-template-page-biography .entry-text p.profile {  }

body.page-template-page-biography .entry-text .history { margin:60px 0 0; display:flex; justify-content:space-between; }
body.page-template-page-biography .entry-text .history ul { margin:150px 20px 0 10%; }
body.page-template-page-biography .entry-text .history ul li { margin-top:1em; display:flex; }
body.page-template-page-biography .entry-text .history ul li:first-child { margin-top:0; }
body.page-template-page-biography .entry-text .history ul li strong { padding-right:1em; font-weight:normal; font-family:Consolas, 'Courier New', Courier, Monaco, monospace; }
body.page-template-page-biography .entry-text .history ul li p { margin:0; }
body.page-template-page-biography .entry-text .history .img_02 { width:580px; min-width:580px; }
body.page-template-page-biography .entry-text .history .img_02 img { width:100%; }

body.page-template-page-biography .nav_lang { }
body.page-template-page-biography .nav_lang li { display:inline-block; line-height:1; font-size:75%; }
body.page-template-page-biography .nav_lang li::before { content:'/'; display:inline-block; padding:0 0.5em; }
body.page-template-page-biography .nav_lang li:first-child::before { display:none; }
body.page-template-page-biography .nav_lang li a { font-weight:800; color:#AFAFAF; }
body.page-template-page-biography .nav_lang li.current a { color:#000; }

@media (max-width:480px) {
	body.page-template-page-biography .entry-text .history { flex-direction:column-reverse; }
	body.page-template-page-biography .entry-text .history .img_02 { width:calc(100% + 40px); margin-left:-20px; min-width:auto; }
	body.page-template-page-biography .entry-text .history ul { margin:20px 0 0; }
}

/* Footer */
#mastfoot { padding:40px; border:0; }
@media (max-width:480px) {
		#mastfoot { padding:20px; text-align:center; }
}

.not-found { text-align:center; padding:50px 0; }


/* Contact Form */

.page-template-page-contact #main { max-width:1000px; margin-left:auto; margin-right:auto; position:relative; z-index:101; }
.page-template-page-contact .description { display:flex; justify-content:center; }

.form-table,
.form-table tbody,
.form-table tr,
.form-table th,
.form-table td { display:block; }

.form-table { width:60%; margin:50px auto; }
.form-table tr { border:0; }
.form-table th { padding:0 0 15px; }
.form-table td { padding:0 0 30px; }

input[type='text'].form-item-text,
input[type='email'].form-item-text,
input[type='tel'].form-item-text,
textarea.form-item-textarea {
	width: 100%;
	min-height: 3em;
	padding: 5px 10px;
	border: 1px solid #898989;
	border: 0;
	border-radius: 2px;
	background: #eee;
	box-sizing: border-box;
	font-size: 16px;
	font-size: 1rem;
}

.form-item-btn {
	text-align:center;
}
.form-item-btn input[type='submit'] {
	min-width: 300px;
	padding: 20px 50px;
	color:#000;
	font-size: 16px;
	font-size: 1rem;
	text-align: center;
	cursor: pointer;
	background: #fff;
	border: 1px solid #000;
	transition: all .3s;
}
div.wpcf7 .ajax-loader { display:block !important; text-align:center; margin-left:auto !important; margin-right:auto !important; }

@media (max-width:768px) {
	.page-template-page-contact #main { margin-left:20px; margin-right:20px; }
	.page-template-page-contact .description { display:block; }
	.form-table { width:100%; }

}
