﻿@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@900&family=Poppins:wght@900&family=Sawarabi+Mincho&display=swap');

body,h1, h2, h3, h4, h5, h6,.font_bold{font-family: 'Noto Sans JP',"游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic",  sans-serif;font-weight: 900;}
.font2,#page_title h2{font-family: 'Poppins', sans-serif;font-weight: 900;}
.load_logo{
width: 100%;
max-width: 1300px;
height: 175px;
overflow: hidden;
}
.load_logo figure{width: 100%;}
/*--------------------------------
疑似要素にオブジェクト
--------------------------------*/
#intro,#contents1,#top_cms,#top_info{position: relative;}
/*リピートなし*/

#intro:before,#contents1:before,#top_cms:before,#top_info:before{
content: "";
display: block;
background-size: cover;
background-repeat: no-repeat;
position: absolute;
}

#intro:before{
background-image: url(./Dup/img/obj4.png);
background-size: 100%;
width: 50vw;
height: 34vw;
top: -11vw;
left: -5vw;
transform: rotate(-10deg);
}
#contents1:before{
background-image: url(./Dup/img/obj3.png);
background-size: 100%;
width: 50vw;
height: 34vw;
top: -17vw;
right: -5vw;
}
#top_cms:before{
background-image: url(./Dup/img/obj5.png);
background-size: 100%;
width: 25vw;
height: 31vw;
bottom: 0;
left: 0;
z-index: 1;
}

#top_info:before{
background-image: url(./Dup/img/txt2.png);
width: 800px;
height: 350px;
bottom: -20px;
right: 0;
}
/*--------------------------------
全体
--------------------------------*/
header{
position: fixed;
top: 0;
left: 0;
}
header .inner{box-shadow: none;}
.et_divi_100_custom_hamburger_menu--type-4{
top:50%;
right: 0;
-ms-transform: translate(0,-50%);
-webkit-transform: translate(0,-50%);
transform: translate(0,-50%);
z-index: 101;
}
.et_divi_100_custom_hamburger_menu{
position: relative;
display: inline-block;
width: 3.5rem;
height: 3.5rem;
right: 0;
box-sizing: border-box;
cursor: pointer;
padding: 0.25rem;
clear: both;
}

.et_divi_100_custom_hamburger_menu div {
  background: #fff;
  width: 5px;
  height: 5px;
  margin: 0.5rem auto;
  border-radius: 10px;
  transition: 0.3s cubic-bezier(0.28, 0.55, 0.385, 1.65);
  transition-timing-function: cubic-bezier(0.28, 0.55, 0.385, 1.65);
  transform: 0;
  transform-origin: center;
}
.et_divi_100_custom_hamburger_menu.et_divi_100_custom_hamburger_menu--toggled div:first-child,
.et_divi_100_custom_hamburger_menu.et_divi_100_custom_hamburger_menu--toggled div:last-child{background: #fff!important;}

.et_divi_100_custom_hamburger_menu div:before,
.et_divi_100_custom_hamburger_menu div:after {
  transition: 0.3s cubic-bezier(0.28, 0.55, 0.385, 1.65);
  transition-timing-function: cubic-bezier(0.28, 0.55, 0.385, 1.65);
}
.et_divi_100_custom_hamburger_menu--type-4 .et_divi_100_custom_hamburger_menu div {
  margin-right: auto;
  margin-left: auto;
}
/* Toggled */

.et_divi_100_custom_hamburger_menu.et_divi_100_custom_hamburger_menu--toggled div {
  width: 100%;
  animation-duration: 0.6s;
  animation-timing-function: cubic-bezier(0.28, 0.55, 0.385, 1.65);
}

.et_divi_100_custom_hamburger_menu.et_divi_100_custom_hamburger_menu--toggled div:after,
.et_divi_100_custom_hamburger_menu.et_divi_100_custom_hamburger_menu--toggled div:before {
  width: 100%;
}

.et_divi_100_custom_hamburger_menu.et_divi_100_custom_hamburger_menu--toggled div:first-child {
  transform: translateY(0.75rem) rotate(45deg);
  height: 3px;
}

.et_divi_100_custom_hamburger_menu.et_divi_100_custom_hamburger_menu--toggled div:not(:first-child):not(:last-child) {
  opacity: 0;
}

.et_divi_100_custom_hamburger_menu.et_divi_100_custom_hamburger_menu--toggled div:last-child {
  transform: translateY(-0.75rem) rotate(-45deg);
  height: 3px;
}

.mobile_menu_bar {
  padding-bottom: 0;
  margin-bottom: 26px;
}

.mobile_menu_bar:before {
  display: none;
}

#logo{width: 150px;}
#logo2 a{max-width: 1200px;box-sizing: border-box;}


.more_bt a:hover{color: #000;}

.shadow,.shadow-l,.more_bt a{box-shadow: none;}

footer .con_item > div{position: relative;padding-left: 25%;}
footer .con_item > div:before{
content: "";
display: block;
background-color: black;
width: 20%;
height: 1px;
position: absolute;
top:50%;
left: 0;
-ms-transform: translate(0,-50%);
-webkit-transform: translate(0,-50%);
transform: translate(0,-50%);
}
#page-top{right: 20px;}
.fix_banner{
width: 400px;
position: fixed;
bottom: 0;
right: 0;
z-index: 10;
}
.youtube{
position: relative;
width: 100%;
text-align: center;
margin: 0 auto 4%;
}
.youtube:before {
content: "";
display: block;
width: 100%;
padding-top: 56.25%;
}
.youtube iframe{
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}

.portrait_img{
display: block;
overflow: hidden;
position: relative;
width: 100%;
height: 80vh;
}
.portrait_img img{
width: 100%;
height: auto;
position: absolute;
top: 50%;
left: 50%;
-ms-transform: translate(-50%,-50%);
-webkit-transform: translate(-50%,-50%);
transform: translate(-50%,-50%);
}

/* lightbox */
.lb-outerContainer,.lightbox .lb-image{border-radius: 0;}
.lb-nav a.lb-prev{
width: 100px;
position: absolute;
left: -85px;
}
.lb-nav a.lb-next{
width: 100px;
position: absolute;
right: -85px;
}
/*--------------------------------
TOP
--------------------------------*/
#main_img,
.video_wrap{
width: 100%;
height: 100vh;
position: fixed;
top: 0;
left: 0;
z-index: -1;
}
/*スクロールダウン全体の場所*/
.scrolldown1{
/*描画位置※位置は適宜調整してください*/
position:absolute;
left:50%;
bottom:10px;
/*全体の高さ*/
height:50px;
z-index: 2;
}

/*Scrollテキストの描写*/
.scrolldown1 span{
position: absolute;
left: -24px;
top: -28px;
color: #fff;
font-size: 15px;
letter-spacing: 1px;
transform: rotate(90deg);
}

/* 線の描写 */
.scrolldown1::after{
content: "";
/*描画位置*/
position: absolute;
top: 10px;
/*線の形状*/
width: 1px;
height: 20px;
background: #eee;
/*線の動き1.4秒かけて動く。永遠にループ*/
animation: pathmove 1.4s ease-in-out infinite;
opacity:0;
}

/*高さ・位置・透過が変化して線が上から下に動く*/
@keyframes pathmove{
	0%{
		height:0;
		top:10px;
		opacity: 0;
	}
	30%{
		height:20px;
		opacity: 1;
	}
	100%{
		height:0;
		top:60px;
		opacity: 0;
	}
}


.pc_nav{
z-index: 1;
position: relative;
}
.pc_nav .pc_nav_wrap{height: 100vh;}
.pc_nav ul{
font-size: 40px;
padding: 10%;
}
.pc_nav li:last-of-type{margin-bottom: 0;}
.pc_nav a,#sp_nav ul.font2 > li > a{
position: relative;
display: inline-block;
line-height: 1.5;
transition: .3s;
color: white;
}
.pc_nav a::before,
.pc_nav a::after,
#sp_nav ul.font2 > li > a:before,
#sp_nav ul.font2 > li > a:after{
position: absolute;
content: '';
width: 0;
height: 5px;
background-color: #EACD00;
transition: .3s;
}
#sp_nav ul.font2 > li > a:before,
#sp_nav ul.font2 > li > a:after{background-color: white;}

.pc_nav a::before,#sp_nav ul.font2 > li > a:before{
  top: 0;
  left: 0;
}
.pc_nav a::after,#sp_nav ul.font2 > li > a:after{
  bottom: 0;
  right: 0;
}
.pc_nav a:hover{color: #EACD00;}
.pc_nav a:hover::before,
.pc_nav a:hover::after,
#sp_nav ul.font2 > li a:hover:before,
#sp_nav ul.font2 > li a:hover:after{
  width: 100%;
}

#sp_nav nav{
width: 600px;
right: -601px;
}
#sp_nav ul{font-size: 40px;}
#sp_nav ul.font2 > li > a{color: black;}
#sp_nav ul.font2 > li > a:hover{color: white;}
#sp_nav li.last{
font-size: 20px;
padding-left: 25%;
position: relative;
}
#sp_nav li.last:before{
content: "";
display: block;
background-color: black;
width: 20%;
height: 1px;
position: absolute;
top:50%;
left: 0;
-ms-transform: translate(0,-50%);
-webkit-transform: translate(0,-50%);
transform: translate(0,-50%);
}
#sp_nav li.last a:before,
#sp_nav li.last a:after{display: none;}

.right .slide{height: 110vh;}
.pc_nav img.object_fit_img {
	max-height: 120vh;
	min-height: 120vh;
	position: relative;
	object-fit: cover;
}
.object_fit_img{
  object-fit: cover;
  font-family: 'object-fit: cover;'
}

#top_news .box_wrap{padding: 2% 2% 0 2%;}
#top_news .cate_box{
width: calc(25% - 1.5%);
padding-right: 2%;
}
#top_news .cate_box:last-of-type{padding-right: 0;}

.catch_title{font-size: 100px;line-height: 1.5;font-weight: 900;}
.bg_none{background-image: none!important;}

#video{ height: 100vh; }
#video video{
height: auto;
top: 50%;
left: 50%;
    -ms-transform: translate(-50%,-50%);
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
}
@media  screen and (max-width: 1600px){
#video video{
width: auto!important;
height: 100%;
}
}

/*タブレット用（768px以下）
--------------------------------------------------------------------------*/
@media  screen and (max-width: 768px){
#main_img,#video,#main_img_space{ height: 40vh; }
#video video{
width: 100%!important;
height: auto;
}
}

#top_menu{font-size: 100px;}
#top_menu .middle .bg1,#top_menu .middle .bg2{
content: "";
background-color: rgba(235,205,0,0.6);
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
mix-blend-mode: multiply;
transition: background-color 0.3s;
}
#top_menu .middle a:hover .bg2{background-color: rgba(0,0,0,0.6);}
#top_menu .middle h3{
writing-mode: vertical-rl;
position: absolute;
bottom: 11px;
right: -27px;
transform: rotate(180deg);
}

/*マウスホバーで、イメージ画像にゆっくりズームアップ*/
#top_menu img{
	-webkit-transform: translate(-50%,-50%) scale(1.1);
	transform: translate(-50%,-50%) scale(1.1);
	vertical-align: top;
	-webkit-transition: all 3s ease-out;
	transition: all 3s ease-out;
}
#top_menu .top a:hover .right img,
#top_menu .middle a:hover img,
#top_menu .bottom a:hover .left img{
	-webkit-transform: translate(-50%,-50%) scale(1.2);
	transform: translate(-50%,-50%) scale(1.2);
}

#top_info.bg_color2{background-color: #1a1a1a;}
/*--------------------------------
下層
--------------------------------*/
#page_title{background: #eacd00;}
#page_title::before{background: transparent;}
#page_title h2{
font-size: 100px;
line-height: 1;
border-top: 10px solid;
border-bottom: 10px solid;
}

.cate_img1,.sub_cate_img1,.sub_cate_img2{max-width: 1024px;}

.cate_list li a{background-color: #000000;color: #fff000;}
.cate_list li a:hover{background-color: #eacd00;color: #000;}

.pager li{margin: 0;}
.pager li a{
box-sizing: border-box;
}
.news_box .date{
width: 110px!important;
box-sizing: border-box;
}
.news_box .box_title1{
width: calc(95% - 110px);
box-sizing: border-box;
}
#cms_6-d .cate_title{font-size: 30px;}
#cms_2-c .cate_title > span,
#cms_4-a .cate_title > span,
#cms_6-d .cate_title > span{
color: #000;
border-bottom: 5px solid;
line-height: 1.5;
}
#cms_5-f .cate_title{border-left: 5px solid;}
#cms_5-f .cate:before, .cms_5-f .cate:before{z-index: -1;}

#cms_6-d .cate_box:before, .cms_6-d .cate_box:before,
#cms_6-d .cate_box .box_description1:before, .cms_6-d .cate_box .box_description1:before{display: none;}
#cms_6-d .cate_box,.cms_6-d .cate_box,
#cms_6-d .cate_box:last-of-type, .cms_6-d .cate_box:last-of-type{border-color: #f0f0f0;}

#cms_6-d .cate_box:nth-of-type(odd):after, .cms_6-d .cate_box:nth-of-type(odd):after,
#cms_6-d .cate_box:nth-of-type(even):after, .cms_6-d .cate_box:nth-of-type(even):after{display: none;}
#cms_6-d .cate_box:nth-of-type(even) .box_img_wrap, .cms_6-d .cate_box:nth-of-type(even) .box_img_wrap{transform: translate(0,0);}
#cms_6-d .cate_box:nth-of-type(odd) .box_img_wrap, .cms_6-d .cate_box:nth-of-type(odd) .box_img_wrap{transform: translate(0,0);}
#cms_6-d .cate_box:after, .cms_6-d .cate_box:after{    font-size: 5em;}
#page6.width_1280-max{max-width: 1600px;}

/* access */
#cms_2-g .cate_title_wrap::before{display: none;}
.cate_map{height: 500px;}
.cate_map iframe{
width: 100%;
height: 100%;
}

/*タブレット用（768px以下）*/
@media  screen and (max-width: 768px){

.pc_nav .pc_nav_wrap{height: 80vh;}
.pc_nav ul{font-size: 30px;}
.pc_nav img.object_fit_img{
max-height: 80vh;
min-height: 80vh;
}
.right .slide{height: 80vh;}

#f_contact a.txt_white{color: #000;}
footer .con_item > div:before{
left: auto;
right: 170px;
}
.fix_banner{width: 300px;}

#top_news .cate_box{
width: calc(50% - 1%);
padding-right: 2%;
margin-bottom: 2%;
}
#top_news .cate_box:nth-of-type(2n){padding-right: 0;}


.catch_title{font-size: 60px;}
#intro:before{
width: 70vw;
height: 47vw;
top: -16vw;
left: -5vw;
}
#contents1:before{
width: 60vw;
height: 43vw;
top: -29vw;
right: -5vw;
}
#top_cms:before{
width: 32vw;
height: 40vw;
bottom: -45px;
left: 0;
z-index: -1;
}

#top_menu{font-size: 40px;}
#top_menu .middle h3{right: -7px;}
.portrait_img{height: 40vh;}


#cms_6-d .cate_title{font-size: 26px;}
.cate_map{height: 400px;}

}

/*スマホ用（667px以下）*/
@media  screen and (max-width: 667px){

#video video{width: auto!important;}
.ip678 #main_img, .ip678 #video,.ip678 #video video,.ip678 #main_img_space{height: 72vh;}
.ipX #main_img,.ipX #video,.ipX #video video,.ipX #main_img_space{height: 72vh;}
.ip11 #main_img,.ip11 #video,.ip11 #video video,.ip11 #main_img_space{height: 74vh;}
.ip678 .pc_nav .pc_nav_wrap,.ip678 .pc_nav .right{height: 70vh;}
.ipX .pc_nav .pc_nav_wrap,.ipX .pc_nav .right{height: 65vh;}
.ip11 .pc_nav .pc_nav_wrap,.ip11 .pc_nav .right{height: 58vh;}

/* モーダル */
.modal-box{width: 100%;top: 5%;}
.modal-box:before{
	height: 5%;
}
.modal_title_wrap{left: -20px;}

header{    padding-left: 10px;}
#logo{width: 100px;padding: 10px;}
.et_divi_100_custom_hamburger_menu--type-4{
top: 53%;
right: -20px;
}

.scrolldown1{bottom: -20px;}
.scrolldown1 span{
left: -15px;
top: -3px;
font-size: 10px;
}

.pc_nav ul{font-size: 20px;}
#sp_nav nav{
width: 300px;
right: -301px;
}
#sp_nav ul{font-size: 30px;}
#page-top{right: 10px;}
#page-top a{
width: 40px;
height: 40px;
}
.fix_banner{
width: 230px;
bottom: 0;
}
footer .con_item > div:before{
right: 150px;
}

#top_news .box_wrap{padding: 3% 3% 0 3%;}

.catch_title{font-size: 30px;}
#intro:before{
width: 80vw;
height: 50vw;
top: -26vw;
left: -5vw;
}
#contents1:before{
width: 70vw;
height: 50vw;
top: -36vw;
right: -3vw;
}
#top_cms:before{
width: 45vw;
height: 56vw;
bottom: -25px;
}

#top_menu{font-size: 22px;}
#top_menu .middle h3{bottom: 7px;right: -4px;}
.portrait_img{height: 30vh;}

#page_title .box{padding: 100px 0 50px;}
#page_title h2{
font-size: 36px;
border-top: 5px solid;
border-bottom: 5px solid;
line-height: 0.9;
}
#cms_2-c .cate_title > span, #cms_4-a .cate_title > span, #cms_6-d .cate_title > span{border-bottom: 3px solid;}
.pager li a{height: 45px;}
.news_box .date{width: 52px!important;padding: 8px 2px;}
.news_box .date .top{font-size: 10px;letter-spacing: -1.5px;line-height: 0.5;}
.news_box .date .middle{font-size: 24px;letter-spacing: -1px;}
.news_box .date .bottom{font-size: 13px;letter-spacing: -1px;}
.news_box .box_title1{
width: calc(95% - 47px);
line-height: 1.5;
font-size: 10px;
}
#page3 .box_txt1 span{
background-color: #000;
color: #fff000;
display: inline-block;
padding: 5px;
line-height: 1.5;
}
#cms_6-d .cate_title{font-size: 20px;}
#cms_6-d .cate_box:nth-of-type(even):after, .cms_6-d .cate_box:nth-of-type(even):after{top: -35px;}

.cate_map{height: 300px;}

/* lightbox */

.lb-nav a.lb-prev{
background-size: 35px;
width: 40px;
left: -42px;
}
.lb-nav a.lb-next{
background-size: 35px;
width: 40px;
right: -42px;
}

}

/*IE*/
@media all and (-ms-high-contrast: none) {}




/*--------------------------------
自動リンク
--------------------------------*/
/* color */
.linkStyle{color: #f3d500; text-decoration: underline;}
.txt_color_nomal .linkStyle{color: #f3d500;}
.txt_white .linkStyle{color: white;}
.txt_red .linkStyle{color: red;}
.bg_color1 .linkStyle{color: #f3d500;}
.bg_color2 .linkStyle{color: #fff;}
.bg_color3 .linkStyle{color: #000;}
.bg_color4 .linkStyle{color: #000;}

/*IEのみ*/
@media all and (-ms-high-contrast: none) {
.linkStyle{display: inline-block;}
}

/*--------------------------------
カラー
--------------------------------*/
body,.txt_color_nomal,.hvr_txt_color_nomal:hover{color: #000000;}
.txt_black,.hvr_txt_black:hover{color: black;}
.txt_white,.hvr_txt_white:hover{color: white;}
.txt_red,.hvr_txt_red:hover{color: red;}
.txt_color1,.hvr_txt_color1:hover{color: #000000;} /* メインカラー */
.txt_color2,.hvr_txt_color2:hover{color: #FA8200;} /* サブカラー */
.txt_color3,.hvr_txt_color3:hover{color: #EACD00;} /* アクセントカラー1 */
.txt_color4,.hvr_txt_color4:hover{color: #f9f9f9;} /* アクセントカラー2 */

/* background-color */
.bg_white,.hvr_bg_white:hover{background-color: white;} /* 白背景 */
.bg_black,.hvr_bg_black:hover{background-color: black;} /* 黒背景 */
.bg_color1,.hvr_bg_color1:hover{background-color: #000000;} /* メインカラー */
.bg_color2,.hvr_bg_color2:hover{background-color: #FA8200;} /* サブカラー */
.bg_color3,.hvr_bg_color3:hover{background-color: #EACD00;} /* アクセントカラー1 */
.bg_color4,.hvr_bg_color4:hover{background-color: #f9f9f9;} /* アクセントカラー2 */
.bg_color_clear,.hvr_bg_color_clear:hover{background-color: transparent!important;}

/* border-color */
.border_white,.hvr_border_white:hover{border-color: white;}
.border_black,.hvr_border_black:hover{border-color: black;}
.border_color1,.hvr_border_color1:hover{border-color: #000000;}
.border_color2,.hvr_border_color2:hover{border-color: #FA8200;}
.border_color3,.hvr_border_color3:hover{border-color: #EACD00;}
.border_color4,.hvr_border_color4:hover{border-color: #f9f9f9;}