@charset "UTF-8";

@media all and (max-width: 736px) {
    .pcOnly {
        display: none;
    }
}

@media all and (min-width: 737px) {
    .spOnly {
        display: none;
    }
}

body {
/*    background-color: #f4f4f4;*/
    font-family: 'Noto Sans JP', "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, Sans-Serif;
	overflow-x: hidden;
	color: #444;
	line-height: 1.8;
	height: 100vh;
}

a { 
-webkit-transition: all 0.3s ease;
-moz-transition: all 0.3s ease;
-o-transition: all 0.3s ease;
transition: all  0.3s ease; }

.inner {
    max-width: 900px;
    margin: 0 auto;
    padding-left: 20px;
    padding-right: 20px;
}


#footer {
    padding: 35px 0 30px;
    border-left: 17px solid #e1242a;
    background:#fff;
	width: 100%;
    font-family: Noto Sans CJK JP, Open Sans, sans-serif;
    color: #000;	
	position: absolute;
	bottom: 0;
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
}

#footer ul {
    font-size: 15px;
    line-height: 20px;
    overflow: hidden;
}


@media all and (max-width: 736px) {
#footer { background: #fff; }
    .right.note span {
        padding: 5px 10px;
    }
}

@media all and (min-width: 737px) {
    .right.note {
        text-align: right;
    }
}

a {
    color: #333;
    -webkit-transition: all 0.1s;
    -moz-transition: all 0.1s;
    -ms-transition: all 0.1s;
    -o-transition: all 0.1s;
    transition: all 0.1s;
    text-decoration: none;
}

.link_normal {
    color: #005689;
    -webkit-transition: all 0.1s;
    -moz-transition: all 0.1s;
    -ms-transition: all 0.1s;
    -o-transition: all 0.1s;
    transition: all 0.1s;
    text-decoration: underline;
}

img {
    vertical-align: bottom;
    max-width: 100%;
}


@media all and (min-width: 737px) {
    #footer {
        padding: 16px 0 24px;
        border-left: 17px solid #e1242a;
        font-family: Noto Sans CJK JP, Open Sans, sans-serif;
        color: #000;
    }

    #footer .footer-inner {
        margin: 0 auto;
        padding: 0 20px;
        width: 100%;
    }

    #footer ul {
        font-size: 15px;
        line-height: 20px;
        overflow: hidden;
    }

    #footer ul li {
        float: left;
        list-style-type: none;
        font-size: 13px;
    }   

    #footer ul li ~ li::before {
        margin: 0 0.5em;
        content: "|";
    }    
    #footer p {
        margin-top: 16px;
        font-size: 11px;
        line-height: 18px;
    }
}


@media all and (max-width: 736px) {
    
    header .logo_wrapper ul {
        display: none;
    }
    
    #footer {
        padding: 13px 10px 13px 25px;
        border-left: 8px solid #e1242a;
    }

    #footer .footer-inner {
        padding: 0;
        width: auto;
    }

    #footer ul {
        font-size: 12px;
    }
    
    #footer p {
        margin-top: 15px;
        font-size: 12px;
    }

    #footer ul li {
        float: left;
        list-style-type: none;    
    }   

    #footer ul li ~ li::before {
        margin: 0 0.5em;
        content: "|";
    }    
}

@media all and (max-width: 420px) {
    header .inner {
        padding-left: 10px;
        padding-right: 10px;
    }
}

header {
    background-color: #fff;
	border-bottom: 1px solid #dbdcdc;
}

@media all and (min-width: 737px) {
    header {
        border-top: 14px solid #e1242a;
	border-bottom: 1px solid #dbdcdc;     
    }
}

@media all and (max-width: 736px) {
    header {
        position: fixed;
        z-index: 990;
        width: 100%;
    }
	header .inner { padding: 0 !important; }
    header:before {
        content: '';
        width: 100%;
        height: 7px;
        background-color: #e1242a;
        position: absolute;
        top: 0;
        left: 0;
        z-index: 999;
    }
	.header-contents { padding: 0 20px; }
}

header .logo_wrapper {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-flow: column;
}

@media all and (min-width: 737px) {
    header .logo_wrapper {
        margin-bottom: 15px;
        position: relative;
    }
    
    header .logo_wrapper ul {
        position: absolute;
        right: 0;
        bottom: 10px;
    }
    
    header .logo_wrapper ul li {
        display: inline-block;
        list-style: none;
        background: none;
        margin: 0 0 0 10px;
        font-size: 13px;
    }
    
    header .logo_wrapper ul li::before {
        content: "";
		width: 7px; height: 11px;
		background-image: url(../../assets/img/common/ico-arrow-right.jpg);
		background-size: 7px 11px;
		background-repeat: no-repeat;
		background-position: center center;
        display: inline-block;
    }
    
    header .logo_wrapper ul li a:hover {
        color: #e1242a;
    }

}

header .logo_wrapper .logo {
    margin-right: auto;
}

@media all and (max-width: 736px) {
    header .logo_wrapper .logo a {
        padding: 5px 10px 10px;
        margin-left: -10px;
		margin-top: -8px
    }
}

@media all and (max-width: 736px) {
    header .logo_wrapper {
        -webkit-flex-direction: column;
        -moz-flex-direction: column;
        -ms-flex-direction: column;
        -o-flex-direction: column;
        flex-direction: column;
    }
}

header .logo_comp a {
    display: block;
    font-size: 0;
    line-height: 0;
    padding: 5px 0 17px;
}

header .logo_comp a img {
    width: 200px;
    height: auto;
}

.index_page header .logo_comp a { padding: 20px 0 28px; }
.index_page header .logo_comp a img { width: 320px !important; }

header .logo_comp {
    margin-bottom: -5px;
    padding-top: 10px;
}


@media all and (min-width: 737px) {
    header .logo_comp {
        width: 320px;
        margin-bottom: 10px;        
            
    }
	.index_page header .logo_comp { width: 320px !important; margin: 14px 0 -6px !important; }
	.index_page header .logo_comp a { padding: 5px 0 20px; }
    
    header .logo_comp a {
        width: 100%;
		padding: 20px 0 0;
    }
    header .logo_comp a img {
        display: none;
        width: 100%;
        height: auto;
    }
    header .logo_comp a:before {
        content: '';
        background-image: url(../../assets/img/common/logo-com.png);
        background-size: contain;
        background-repeat: no-repeat;
        display: block;
        vertical-align: bottom;
        width: 100%;
        height: 19.5px;
    }
    .index_page header .logo_comp a:before { height: 24px; }
}


@media all and (max-width: 420px) {
header .logo_comp a {
    display: block;
    font-size: 0;
    line-height: 0;
    padding: 5px 0 15px;
}

header .logo_comp a img {
    width: 180px;
    height: auto;
}
.index_page header .logo_comp a { padding: 15px 0 22px; }
.index_page header .logo_comp a img { width: 270px !important; }
}

header .logo a {
    display: block;
    font-size: 0;
    line-height: 0;
}

header .logo a img {
    width: 180px;
    height: auto;
}

@media all and (min-width: 737px) {
    header .logo a img {
    width: 210px;
    height: auto;
    }
}


@media all and (max-width: 420px) {
header .logo a img {
    width: 160px;
    height: auto;
} }

.drawer-open header {
    border-bottom: 1px solid #ccc;
}



main {
    background-color: #fff;
}

@media all and (max-width: 736px) {
    main {
        padding-top: 118px;
        background-color: inherit;
    }
	.index_page main { padding-top: 93px !important; }
	.link_anch { margin-top:-52px; padding-top:52px; }
}

@media all and (max-width: 420px) {
    main {
        padding-top: 106.5px;
    }
	.index_page main { padding-top: 76px !important; }
	.link_anch { margin-top:-40px; padding-top:40px; }
}


footer {
    background-color: #FFFFFF;
    font-size: 14px;
    padding-bottom: 10px;
}

footer nav {
    display: table;
    margin: 0 auto;
    max-width: 1080px;
    padding: 0 0 25px;
}

footer ul {
    display: table-cell;
    list-style-type: none;
    -webkit-justify-content: center;
    justify-content: center;
    -ms-flex-pack: center;
    margin-bottom: 1em;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    border-right: 1px #FA9B31 solid;
    width: 340px;
    padding: 0 0 0 40px;
}

footer ul:last-child {
    border-right: none;
}

footer ul a {
    line-height: 2;
}

footer .footer-inner {
    font-size: 12px;
}


@media all and (max-width: 736px) {
    footer ul li {
        margin: 0 0 2px;
    }
    footer ul li a {
        font-size: 15px;
    }
    footer ul li + li {
        border-left: 1px solid #333;
    }
    footer ul li a {
        display: block;
        margin: 0 1em;
        line-height: 1;
        color: #333;
        font-size: 13px;
    }
}

@media all and (min-width: 737px) {
    footer {
        padding: 0 0 0;
        border-top: 1px solid #d2d2d2;
		margin-top: -24px;
    }
    footer {
        border-top: none;
    }
    footer ul {
        padding: 0 0 0 16px;
    }
/*
    footer ul:last-child li:last-of-type {
        margin: 21px 0 0 0;
    }
*/
}

@media all and (max-width: 736px) {
footer { 	
	position: absolute;
	bottom: 72px;
	width: 100%; }
    footer nav {
        display: inline;
        margin: 0;
        max-width: 100%;
    }
    footer ul {
        list-style-type: none;
        -webkit-justify-content: center;
        justify-content: center;
        -ms-flex-pack: center;
        margin-bottom: 1em;
        border-right: none;
        width: 100%;
        padding: 0;
        background-color: #fff;
        display: flex;
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-justify-content: flex-start;
        justify-content: flex-start;
        -ms-flex-pack: flex-start;
        border-bottom: 1px solid #d4d4d4;
        margin-bottom: 0;
    }
    footer ul li {
        width: 50%;
        margin-bottom: -1px;
        border-bottom: 1px solid #d4d4d4;
        box-sizing: border-box;
        display: flex;
        align-items: center;    

    }
    footer ul li:nth-child(2n+1) {
        border-right: 1px solid #d4d4d4;
    }
    footer ul li a {
        font-size: 11px;
        display: block;
        margin: 0;
        padding: 15px 20px;
    }
    
    
    
    footer ul:first-of-type li a:before {
        content: '';
        display: inline-block;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 3px 0 3px 4px;
        border-color: transparent transparent transparent #333333;
        vertical-align: middle;
        margin-right: 6px;
        margin-left: -10px;
    }
    footer ul li + li {
        border-left: none;
    }
    
    footer ul:nth-of-type(2) {
        background-color: #f4f4f4;
    }
    
    footer ul:nth-of-type(2) li {
        text-align: center;
    }

    footer ul:nth-of-type(2) li a {
        width: 100%;
    }
    
    
}
@media all and (max-width: 520px) {
footer { bottom: 94px; }
footer .copyrights {
    background-color: #d4d4d4;
    font-weight: bold;
    text-align: center;
    line-height: 1;
    padding: 30px 0;
}}

@media all and (max-width: 736px) {
    footer .copyrights {
        font-weight: normal;
        font-size: 9px;
    }
}


/* メニュー */
.f-nav .submenu, .side-index .submenu, .index-nav .submenu { display: block; }

@media all and (min-width: 737px) {
.f-nav .menu-base.menu-cat1 .cat-top a, .f-nav .menu-base.menu-cat1 .cat-top span { background-image: url("../img/common/menu_ttl_f.jpg"); font-size: 120%; }
.f-nav .menu-base .cat-top a, .f-nav .menu-base .cat-top span { padding: 12px 36px; border-bottom: 3px solid #364c5b; }
.f-nav .menu-base.menu-cat1 ul { display: flex; justify-content: space-between; flex-wrap: wrap; padding: 23px 40px; }
.index-nav .menu-base.menu-cat1 ul { display: flex; justify-content: space-between; flex-wrap: wrap; padding: 24px 32px; }
.f-nav .menu-base.menu-cat1 ul li, .index-nav .menu-base.menu-cat1 ul li { width: 48%; }
.f-nav .menu-base.menu-cat1 ul .half_menu, .index-nav .menu-base.menu-cat1 ul .half_menu { width: 48%; }
.f-nav .menu-base.menu-cat1 ul .half_menu li, .index-nav .menu-base.menu-cat1 ul .half_menu li { width: 100%; }
.f-nav .menu-base.menu-cat1 ul li ul { padding: 13px 18px; }
.f-nav .menu-base.menu-cat1 ul li ul li { width: 100%; font-size: 90%; }
}

.kv-box { padding: 80px 30px; }
.kv-box h1 { margin-bottom: 30px; }
.kv-box p { font-size: 18px; }
@media all and (max-width: 736px) {
.kv-box p { font-size: 16px; }
.kv-box h1 { text-align: center; }
.kv-box h1 img { max-width: 480px; width: 90%; }
}
@media all and (max-width: 560px) {
.kv-box h1 { margin-bottom: 0; }
.kv-box { padding: 40px 30px; }
.kv-box p { font-size: 14px; }
}
