@charset "utf-8";
*, *:before, *:after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
    backface-visibility: hidden;
}
html{ margin: 0; padding: 0; /*scroll-padding-top: 100px;*/}
body {
	margin: 0;
	padding: 0;
	font-family: 'Noto Sans JP', "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
    font-size: 16px;
	font-weight:400;
    color:#222;
    line-height:180%;
    word-break: break-all;
    overflow-x: hidden;
}
img {
	border: none;
	vertical-align:bottom;
}
div, p, ul, ul li, h1, h2, h3, h4, h5, dl, dt, dd {
	margin: 0;
	padding: 0;
	font-size: 100%;
	list-style:none;
	box-sizing:border-box;
}
img, video, object {
    max-width: 100%;
    height: auto;
    border: none;
}
img {
	display: block;
    width: 100%; height: auto;
	image-rendering: smoothe !important;
}
iframe { border: none;}

a:link {color: blue; outline:none; text-decoration: none;}
a:visited {color: blue;}
a:hover {color: #222; text-decoration: underline;}
a:hover img { opacity: 0.7; filter: alpha(opacity=70);}
a[href^="tel:"] { text-decoration:none; pointer-events:none ; text-emphasis: none !important;}
a[href^="fax:"] { text-decoration:none; pointer-events:none ;}

i.material-icons { vertical-align: middle;}

.pc {display: inherit;}
.pctb {display: inherit;}
.tb {display: none;}
.tbsp {display: none;}
.sp {display: none;}
@media only screen and (min-width:768px){
    a:hover {color:red; text-decoration: underline; transition:0.3s; }
    a:hover img { opacity: 0.7; filter: alpha(opacity=70); -moz-opacity: 0.7;}
}
@media only screen and (max-width:768px){
    .pc {display:none;}
    .pctb {display:inherit;}
    .tb {display:inherit;}
    .tbsp {display: none;}
    .sp {display:none;}
}
@media only screen and (max-width:468px){
    .pc {display:none;}
    .pctb {display:none;}
    .tb {display:none;}
    .tbsp {display:inherit;}
    .sp {display:inherit;}
}



/* =========================================================================================
Layout
=========================================================================================*/
#wrapper{
    position:relative;
    overflow: hidden;
}
#container{
}
article {
}
section {
}
.inner {
    position:relative;
    margin: 0 auto;
    padding: 100px 0;
    width: 96%;
    max-width: 1200px;
    box-sizing:border-box;
}
@media only screen and (max-width:768px){
}
@media only screen and (max-width:468px){
}



/*====================================================================================================
  HEADER
====================================================================================================*/
#header {
    position: relative;
	z-index: 999;
    background: #000;
    border-bottom:3px solid rgba(255,0,4,1.00);
}
#header .inner { position: relative; padding:60px 0 0; width: 100%; max-width: none; }

/* LOGO */
#header h1,
#header h1 a { width:100%; max-width:180px; height: auto; aspect-ratio: 489 / 535;}
#header h1 { position: absolute; top: 20px; left: 0; right: 0; margin: auto;}
#header h1 a {
    display: block;
    text-indent: -9999px;
    background: url("../image/logo.png") no-repeat left center;
    background-size: 100% auto;
}

/* NAV */
#header #nav {
    padding: 30px;
    background: #222;
}
#header #nav .nav_cont {
    display: flex; flex-wrap: wrap; gap:240px;
    margin: auto;
    width:100%;
    max-width: 1200px;
}
#header #nav ul {
    display: flex; justify-content: space-between;
    width:calc(50% - 120px);
}
#header #nav ul li a { color:#fff; text-decoration: none; text-align: center; line-height: 130%;}
#header #nav ul li b,
#header #nav ul li small { display: block;}
#header #nav ul li b {
    font-family: "Roboto", sans-serif;
    font-size: clamp(100%, 2vw, 162.5%);
    font-weight: 900;
}
#header #nav ul li small { font-size: 75%;}
#header .sns {
    display: flex; gap:15px;
    position: absolute; top:20px; right:20px; 
    width: 115px;
}
#header .sns p { width: 30px;}
@media only screen and (min-width:768px){
    #header #nav ul li a:hover { opacity: 0.7;}
}
@media only screen and (max-width:768px){
    #header h1 { width:16%;}
    #header #nav { padding: 20px; background: #222;}
    #header #nav .nav_cont { gap:150px;}
    #header #nav ul { width:calc(50% - 75px);}
}
@media only screen and (max-width:468px){
    #header { border-bottom:none;}
    #header .inner { display:block; padding:70px 0 0;}
    #header .nav_btn {
        position: absolute; top:0; right:0; cursor: pointer; z-index: 999;
        width:70px; height: 70px;
    }
    #header .nav_btn span {
        display: inline-block;
        position: absolute; left:0; right: 0; margin:auto;
        width:30px; height: 3px;
        background: #fff;
        border-radius: 3px;
        transition: all .3s;
    }
    #header .nav_btn span:nth-of-type(1) {top:25px;}
    #header .nav_btn span:nth-of-type(2) {top:35px;}
    #header .nav_btn span:nth-of-type(3) {top:45px;}
    #header .nav_btn.active span:nth-of-type(1) { top:35px; transform:rotate(-45deg);}
    #header .nav_btn.active span:nth-of-type(2) { opacity: 0;}
    #header .nav_btn.active span:nth-of-type(3) { top:35px; transform:rotate(45deg);}
    #header h1 { top: 10px;}
    #header #nav { display: none; position:fixed; top: 0; left: 0; width: 100%; padding:0; z-index: 99;}
    #header #nav .nav_cont { display:block;}
    #header #nav ul { display: block; margin: auto; width:80%; padding:0; border-bottom:1px solid #ddd; }
    #header #nav ul:nth-child(1) { padding:80px 0 0; }
    #header #nav ul:nth-child(2) { margin-bottom: 50px; padding: 0; }
    #header #nav ul li + li { border-top:1px solid #ddd; }
    #header #nav ul li a { display: block; padding: 15px 0; text-align: left; }
    #header #nav ul li b,
    #header #nav ul li small { display: inline-block;}
    #header #nav ul li b { margin-right: 20px;}
    #header .sns { display: none;}
}


/*====================================================================================================
  CONTENT
====================================================================================================*/
#content { clear:both; width:100%; }



/*====================================================================================================
  FOOTER
====================================================================================================*/
#footer { clear:both; width:100%; color:#fff; background:#000;}
#footer a { color:#fff; text-decoration: none;}
#footer .f_box1 {
    display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap:20px 100px;
    margin: auto;
    padding: 80px 0;
    width: 96%; max-width: 1200px;
}
#footer .logo {
    display: flex; align-items: center;
    padding-left: 170px;
    min-height: 181px;
    width: 400px;
    background: url("../image/logo.png") no-repeat left center;
    background-size: 150px auto;
}
#footer .logo b,
#footer .logo small { display: block;}
#footer .logo b { font-size: 150%;}
#footer .logo small { font-size: 87.5%;}
#footer .nav {
    display: flex; flex-wrap: wrap;
    width: calc(100% - 400px - 115px - 100px)
}
#footer .nav li { width: 33.3%;}
#footer .nav li + li::before { content:"― ";}
#footer .sns {
    display: flex; gap:15px;
    width: 115px;
}
#footer .sns p { width: 30px;}
#footer .copy { padding: 20px 0; text-align: center; font-size: 75%;}
@media only screen and (min-width:768px){
    #footer .nav li a:hover { opacity: 0.7;}
}
@media only screen and (max-width:768px){
    #footer .f_box1 { display: block; padding: 50px 0;}
    #footer .logo {
        display: block;
        margin: auto;
        width: 100%;
        min-height: inherit;
        padding: 150px 0 0 ;
        text-align: center;
        background-position: top center;
        background-size:120px auto;
    }
    #footer .nav { display: none;}
    #footer .sns { margin:20px auto;}
}


/*====================================================================================================
  PAGE
====================================================================================================*/
#page,
#page a { display:block; width:50px; height:50px;}
#page { position: fixed; bottom:90px; right:20px; z-index: 999999;}
#page a { text-indent: -9999px; background:#E60012 url(../image/page_top.png) no-repeat;}
@media only screen and (max-width:750px){
    #page { bottom:100px; right:10px;}
}


/*====================================================================================================
  COLOR eto.. [No Touch]
====================================================================================================*/
.light-blue { color: #40A6DD;}
.blue { color: #0000FF;}
.dark-blue { color: #000099;}
.purple { color: #660099;}
.pink { color: #FF6699;}
.red { color: #FF0000;}
.orange { color: #FF6600;}
.yellow { color: #FFCC00;}
.white { color: #FFFFFF;}
.gray { color: #666666;}
.brown { color: #663300;}
.green { color: #339900;}
.italic { font-style: italic;}
.strong { font-weight: bold;}
.large { font-size: 115%; line-height: 140%;}
.small { font-size: 80%;}
.underline { text-decoration: underline;}
.line-through { text-decoration: line-through;}
.left { text-align: left;}
.center { text-align: center;}
.right { text-align: right;}