@charset "UTF-8";
/* CSS Document */

/*--------------------------------------------------------
　基本設定
--------------------------------------------------------*/

html{ font-size: 62.5%; scroll-behavior: smooth;visibility: hidden;}
html.wf-active,html.wfno-load{visibility: visible;}

body {
	width: 100%;
	height: 100%;
	font-family: 'Noto Sans JP', "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro", "メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
	color:#000;
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: 400;
	font-feature-settings: "palt";
	text-align: justify;
	background:#FFF;
	line-height:1.6;
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-o-text-size-adjust: 100%;
	text-size-adjust: 100%;
	-webkit-font-smoothing: subpixel-antialiased;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

*{-webkit-box-sizing:border-box; -moz-box-sizing:border-box; box-sizing:border-box;}

img{
	width: 100%;
	height: auto;
}
img { -ms-interpolation-mode: bicubic; }

a{
	text-decoration: none;
	outline: none;
}

a:hover{
	text-decoration: none;
}

header {
	width: 100%;
}

main{
	width: 100%;
	contain: paint;
}

footer{
    width: 100%;
	line-height: 1;
}

.bebas {
  font-family: "Bebas Neue", serif;
  font-weight: 400;
  font-style: normal;
}


/*--------------------------------------------------------
　PC
--------------------------------------------------------*/

@media print, screen and (min-width: 768px){
	.sp{
		display: none!important;
	}
	
	a.tel[href^="tel:"] {
       pointer-events: none;
       text-decoration: none;
    }
	
	body {
		padding-top: 7.9vw;
	}
	
	a.over {
		border: 2px solid #0061ac;
		transition: all .3s;
	}
	
	a.over:hover {
		border: 2px solid #0061ac;
		background: #FFF!important;
		color: #0061ac!important;
	}
	
	#fixed_entry {
		display: none;
	}
	
	header, main, footer {
		min-width: 100%;
	}
	
	header {
		width: 100%;
		height: 7.9vw;
		position: fixed;
		top: 0;
		left: 0;
		z-index : 9999;
		background: #FFF;
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-end;
		align-items: center;
	}
	
	header h1{
		width: 10.2%;
		line-height: 0;
		position: absolute;
		top: 16.5%;
		left: 4%;
	}
	
	header nav.globalMenu{
		width: 80%;
		max-width: 1170px;
		height: 100%;
		display: block;
	}
	
	header nav.globalMenu ul{
		height: 100%;
		list-style: none;
		display: flex;
		justify-content: space-between;
		align-items: center;
		line-height: 1;
		/*asahi公開時に下は削除*/
		padding-left: 9em;
	}
	
	header nav.globalMenu ul li:not(.entry){
		height: 100%;
		font-size: 1.6rem;
		font-size: clamp(1.1rem, 1.1vw, 1.6rem);
		font-weight: 500;
		line-height: 1;
		letter-spacing: 0.02em;
		display: flex;
		justify-content: center;
		align-items: center;
		text-align: center;
		position: relative;
	}
	
	header nav.globalMenu ul li:not(.entry):not(.hama) a{
		color: #000;
		cursor: pointer;
	}
	
	header nav.globalMenu ul li:not(.entry):not(.hama) a::after{
		content: "";
		width: 0;
		height: 3px;
		background: #0061ac;
		position: absolute;
		bottom: 0;
		left: 0;
		transition: all .3s;
	}
	
	header nav.globalMenu ul li:not(.entry):not(.hama) a:hover::after{
		width: 100%;
	}
	
	header nav.globalMenu ul li.hama{
		width: 9.2%;
		max-width: 136px;
		height: 100%;
	}
	
	header nav.globalMenu ul li.entry{
		width: 20%;
		max-width: 214px;
		height: 100%;
	}
	
	header nav.globalMenu ul li.entry a {
		height: 100%;
		font-size: 1.6rem;
		font-size: clamp(1.1rem, 1.1vw, 1.6rem);
		font-weight: 500;
		letter-spacing: 0.1em;
		line-height: 1;
		color: #FFF;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		background: #0061ac;
	}
	
	article {
		width: 100%;
	}
	
	section {
		width: 100%;
		margin: 0 auto;
	}
	
	section#page_title {
		max-width: 100%;
		padding-top: 0!important;
	}
	
	div#fixed_entry {
		width: 20vw;
		height: 8.13vw;
		max-height: 82px;
		position: fixed;
		bottom: 14vw;
		left: calc(50% - 10vw);
	}
	
	div#fixed_entry a{
		width: 100%;
		height: 100%;
		background: #0061ac;
		font-size: 1.6rem;
		font-size: clamp(1.24rem, 1.33vw, 1.6rem);
		font-weight: 500;
		letter-spacing: 0.18em;
		line-height: 1;
		color: #FFF;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
	}

	
	footer {
		padding: 2.75vw 0;
		background: #0061ac;
		margin-top: 22vw;
	}

	footer div.f_block{
        width: 94%;
		margin: 0 auto;
		position: relative;
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		align-items: flex-end;
		color: #FFF;
    }
	
	footer div.f_block div.f_block_l{
        width: 10.8%;
		margin-right: 4.8%;
    }
	
	footer div.f_block div.f_block_l h2{
		line-height: 0;
    }
	
	footer div.f_block div.f_block_r{
        width: 78%;
    }
	
	footer div.f_block div.f_block_r ul{
		width: 70%;/*asahi追加時削除*/
        list-style: none;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		margin-bottom: 1vw;
    }
	
	footer div.f_block div.f_block_r ul li{
		display: inline-block;
    }
	
	footer div.f_block div.f_block_r ul li a{
		font-size: 1.4rem;
		font-size: clamp(0.96rem, 0.96vw, 1.4rem);
		line-height: 1;
		color: #FFF;
    }
	
	footer div.f_block div.f_block_r p{
		font-size: 1.2rem;
		font-size: clamp(0.83rem, 0.82vw, 1.2rem);
		line-height: 1;
		letter-spacing: 0.2em;
    }
	
	footer div.f_block a.pagetop {
		width: 9.6vw;
		max-width: 140px;
		line-height: 0;
		position: absolute;
		top: -6vw;
		right: 0;
	}
}

@media screen and (min-width: 999.1px){
	body #modal,.hamburger {
		display: none;
	}
}

@media screen and (max-width: 999px){
	header nav.globalMenu ul li:not(.entry):not(.hama) a::after{
		content: "";
		display: none;
	}
}




/*--------------------------------------------------------
　SP
--------------------------------------------------------*/

@media screen and (max-width: 767px){
	
	.pc{
		display: none!important;
	}
	
	a:hover{
		text-decoration: none;
		opacity: 1;
	}
	
   a.tel[href^="tel:"] {
       pointer-events: auto;
       text-decoration: none;
    }
	
	body {
		padding-top: 16vw;
		padding-bottom: 15vw;
	}
	
	header {
		width: 100%;
		height: 16vw;
		padding: 0 5%;
		background: #FFF;
		position: fixed;
		top: 0;
		left: 0;
		z-index : 9999;
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		align-items: center;
	}
	
	header h1{
		width: 22%;
		max-width: 150px;
		line-height: 0;
	}

	article {
		width: 100%;
	}
	
	footer{
		padding: 10vw 0 25vw;
    }

	footer div.f_block{
        width: 94%;
		margin: 0 auto;
		position: relative;
    }
	
	footer div.f_block h2{
		width: 70%;
		max-width: 246px;
		margin: 0 auto;
    }
	
    footer small{
		font-size: 1rem;
		font-size: clamp(1rem, 1.82vw, 1.4rem);
		line-height: 1;
		text-align: center;
		display: block;
		letter-spacing: 0.1em;
		margin-top: 20px;
    }
	
	footer div.f_block a.pagetop {
		width: 10vw;
		position: absolute;
		top: -15.2vw;
		right: 0;
	}
	
	 #fixed_entry {
        width: 100%;
        height: 15vw;
        position: fixed;
        bottom: 0;
        left: 0;
		z-index: 99;
    }
	
	#fixed_entry a{
		height: 100%;
		font-size: 1.4rem;
        font-size: clamp(1.4rem, 3.38vw, 2.6rem);
        font-weight: 700;
        letter-spacing: 0.22em;
        line-height: 1;
        color: #FFF;
        display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		background: #0061ac;
    }
	
	
	
	footer {
		padding: 5vw 0;
		background: #0061ac;
		margin-top: 22vw;
	}

	footer div.f_block{
        width: 94%;
		margin: 0 auto;
		position: relative;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		color: #FFF;
    }
	
	footer div.f_block div.f_block_l{
        width: 100%;
		margin-bottom: 2.5vw;
    }
	
	footer div.f_block div.f_block_l h2{
		width: 25%;
		margin: 0 auto;
		line-height: 0;
    }
	
	footer div.f_block div.f_block_r{
        width: 78%;
    }
	
	footer div.f_block div.f_block_r ul{
        list-style: none;
		margin-top: 5vw;
    }
	
	footer div.f_block div.f_block_r ul li{
        text-align: center;
    }
	
	footer div.f_block div.f_block_r ul li a{
		font-size: 1rem;
		font-size: clamp(1rem, 1.82vw, 1.4rem);
        color: #FFF;
    }
	
	footer div.f_block div.f_block_r p{
		font-size: 1rem;
		font-size: clamp(1rem, 1.82vw, 1.4rem);
		line-height: 1;
		letter-spacing: 0.2em;
    }
	
	footer div.f_block a.pagetop {
		width: 25vw;
		max-width: 140px;
		line-height: 0;
		position: absolute;
		top: -12vw;
		right: 0;
	}

}

/*ハンバーガーナビ*/
@media screen and (max-width: 999px){
	body #modal {
        width: 100%;
        height: 100%;
        position: fixed;
        top: 0;
        left: 0;
        z-index: -888;
        background: rgba(0,0,0,0.7);
        opacity: 0;
        transition-duration: 0.5s;
        transition-property: opacity, color;
        visibility: hidden; 
    }

    body.nav_open #modal {
        z-index: 888;
        opacity: 1;
        visibility: visible;
    }

    body.nav_open {
        overflow: hidden;
    }
	
    .hamburger {
		display : block;
		position: absolute;
		z-index : 9999;
		width : 13.8vw;
		max-width: 90px;
		height: 13.8vw;
		max-height: 90px;
		text-align: center;
        top: 10%;
		right: 2.5%;
		cursor: pointer;
    }
	
    .hamburger span {
		display : block;
		position: absolute;
		width   : 62.5%;
		height  : 2px ;
		left    : 18.75%;
		background : #1a1a1a;
		-webkit-transition: 0.3s ease-in-out;
		-moz-transition   : 0.3s ease-in-out;
		transition        : 0.3s ease-in-out;
    }
    .hamburger span:nth-child(1) {
		top: 23.4%;
    }
    .hamburger span:nth-child(2) {
		top: 46.8%;
    }
    .hamburger span:nth-child(3) {
		width   : 45%;
		top: 71.8%;
    }

    .hamburger.active span:nth-child(1) {
		top: 48.4%;
		left: 18.75%;
		-webkit-transform: rotate(-45deg);
		-moz-transform   : rotate(-45deg);
		transform        : rotate(-45deg);
    }

    .hamburger.active span:nth-child(3) {
		width : 62.5%;
		top: 48.4%;
		-webkit-transform: rotate(45deg);
		-moz-transform   : rotate(45deg);
		transform        : rotate(45deg);
    }
	
	.hamburger.active span:nth-child(2) {
		opacity: 0;
	}
	
	header nav.globalMenu {
        padding: 0 4.5%;
    }

    header nav.globalMenu {
        width: 85%;
        max-width: 800px;
        height: 100%;
        position: fixed;
        z-index : 9998;
        top  : 0;
        right : 0;
        color: #1a1a1a;
        text-align: left;
        transform: translateX(110%);
        transition: all 0.6s;
        overflow-y: scroll;
        -webkit-overflow-scrolling: touch;
        padding-left: 5%;
        background: #FFF;
    }

    header nav.globalMenu ul{
        list-style: none;
		display: block;
    }

    header nav.globalMenu ul.internal_link_box {
        margin-top: 10vw;
    }

    header nav.globalMenu ul.internal_link_box li {
        padding: 2.5vw 0;
		height: auto;
		justify-content: flex-start;
		text-align: left;
    }
	
	header nav.globalMenu ul li.entry {
        width: 100%!important;
        max-width: 100%!important;
    }
	
	header nav.globalMenu ul li.hama {
        width: 30%!important;
        max-width: 30%!important;
    }

    header nav.globalMenu ul.internal_link_box li a{
		font-weight: 500;
		font-style: normal;
		font-size: 1.4rem;
        font-size: clamp(1.4rem, 3.9vw, 3.9rem);
        line-height: 1;
        color: #000;
        letter-spacing: 0.025em;
    }
	
	header nav.globalMenu ul li.entry a{
		display: block;
		padding: 5vw;
        color: #FFF;
		background: #0061ac;
		text-align: center;
    }

    nav.globalMenu.active {
      transform: translateY(0%);
    }
}

@media screen and (min-width: 768px){
	.hamburger {
        width: 6.8vw;
        height: 6.8vw;

    }
}