@charset "utf-8";

@import url("base.css");
@import url("fontawesome.css");

/* @import url(//fonts.googleapis.com/earlyaccess/notosansjapanese.css);
*/

/***************************************************************************
 *
 * COMMON STYLE
 *
 ***************************************************************************/

a > i.link::after{
	font-family: "Font Awesome 5 Free";
	font-style: normal;
	content: "\f2d2";
	margin-left: 10px;
}

a > i.link{
	font-style:unset;
}

.sawarabi{
	font-family: 'Sawarabi Gothic', sans-serif;
}

body {
    background-color: #FFFFFF;
    font-size: 14px;
    line-height: 1.5;
    color: #000;;
    font-family: 'Yu Gothic', sans-serif;
}

.inner {
    width: 900px;
    margin: 0 auto;
}


/*VALIDATE CONTACT*/
.error {
    display: block;
    font-size: 12px;
    color: red;
}

.text{
	font-family: 'Sawarabi Gothic', sans-serif;
}

/* SIDEBAR */
#sidebar {
    width: 230px;
    box-shadow: 0px 0px 15px #999;
    position: fixed;
    top: 0;
    left: 0;
    background: #fff;
    height: 100%;
    max-height: 100%;
    overflow-y: auto;
    overflow-x: hidden;
    z-index: 9999;
}

#sidebar .menu > li{
    border-bottom: 1px solid #d9d9d9;
    position: relative;

/* 20201021 */
	height:70px;
}

#sidebar .menu > li:before{
    content: "";
    position: absolute;
    left: 2px;
    top: 2px;
    width: 2px;
    height: calc(100% - 4px);
/* 20201021 */
/*    background: #0083C2; */
}

#sidebar .menu > li .arrow{
    content: "";
    position: absolute;
    right: 10px;
/* 20241001 */
    top: 24px;
/*    width: 45px;
    height: 45px; */
/*    background: url('../img/common/sidebar_arrow_01.png.webp') no-repeat center center/10px 12px; */
    transition: right 200ms linear;
    cursor: pointer;
    transition: all 200ms linear;
    color:#0083C2;
    font-size:1.5em;
}

#sidebar .menu li .arrow.toggle{
    transform: rotate(90deg);
    transform-origin:center center;
}

#sidebar .menu >li:last-child{
    border-bottom: none;
}

#sidebar .menu >li > a{
    font-size: 16px;
    font-weight: bold;
    display: block;
    position: relative;
    line-height: 44px;
    height: 44px;
    padding-left: 16px;
}

#sidebar .menu > li.active a{
    color: #0083C2;
}

#sidebar .menu li .menuSub{
    display: block;
    padding-left: 34px;
/* 20201021 */
	position:relative;
}

#sidebar .menu li .menuSub li{
    margin-bottom: 12px;
}

#sidebar .menu li .menuSub li a{
    font-size: 16px;
    font-weight: bold;
    display: block;
    position: relative;
}


#sidebar .menu li .menuSub li.active a{
    color: #0083C2;
}

#sidebar .sidebarInfo{
    background: #0083C2;
    text-align: center;
    padding: 15px;
}

#sidebar .sidebarInfo .sub1{
    color: #fff;
    margin-top: 12px;
    font-weight: bold;
}

#sidebar .sidebarInfo .phone a{
    color: #fff;
    font-size: 26px;
    font-weight: bold;
    display: block;
    background: url('../img/common/sidebar_phone.png.webp') no-repeat left center/14px 19px;
    line-height: 1.2;
    padding-left: 20px;
    letter-spacing: 0.5px;
}

/* CONTENT WRAPPER */
#contentWrapper {
    width: calc(100% - 230px);
    margin-left: 230px;
}

#content{
    margin-top: -165px;
}

/* FOOTER */
#footer {
    width: 100%;
    font-family: 'Yu Gothic', 'YuGothic' serif;
}

#footer .footerTop{
    color: #fff;
    background: #c9c9c9 url('../img/common/footer_photo_01.jpg.webp') no-repeat center center/cover;
    padding: 20px 0 30px;
}

#footer .footerTop .title{
    text-align: center;
    font-size: 40px;
    padding-bottom: 10px;
    position: relative;
    display: block;
}

#footer .footerTop .title:after{
    content: "";
    height: 3px;
    width: 103px;
    background: #fff;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}

#footer .footerTop .text{
    font-size: 16px;
    text-align: center;
    margin-top: 25px;
}

#footer .footerTop .rowr{
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    align-items: flex-end;
    margin-top: 20px;
}

#footer .footerTop .rowr .coll{
  width: 48%;
}

#footer .footerTop .rowr .coll .text1{
    font-size: 18px;
    font-weight: bold;
}

#footer .footerTop .rowr .coll .phone{
    font-size: 51px;
    letter-spacing: 2.5px;
    line-height: 1;
    margin-top: 5px;
    background: url('../img/common/footer_phone.png.webp') no-repeat left center/28px 38px;
    padding-left: 35px;
    display: block;
}

#footer .footerTop .rowr .coll .phone a{
    color: #fff;
}

#footer .footerTop .rowr .coll .text2{
    text-align: right;
    margin-right: 55px;
}

#footer .footerTop .rowr .colr{
    width: 98%;
}

#footer .footerTop .rowr .colr .btn{
    width: 49%;
    float: left;
}

#footer .footerTop .rowr .colr .btn a:after{
    width: 20px;
    height: 24px;
    background-image: url(../img/common/btn-footer.png.webp);
}

#footer .footerTop .rowr .colr .btn a{
    padding: 24px 0;
}

#footer .footerTop .rowr .colr .btn:last-child{
    float: right;
}

#footer .footerBot{
    background-color: #0083C2;
    color: #fff;
    padding: 25px 0;
}

#footer .footerBot .rowr{
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
}

#footer .footerBot .rowr .coll{
    width: 30%; /* hoge */
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-direction: column;
}

#footer .footerBot .rowr .coll .inforing{
    flex: 1;
}

/* IE 10+ */
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  #footer .footerBot .rowr .coll .inforing{
        flex: inherit;
    }
}

#footer .footerBot .rowr .coll .inforing .footerlogo{
    width: 200px;
}

#footer .footerBot .rowr .coll #copyright{
    font-size: 11px;
}

#footer .footerBot .rowr .colr{
/*    border-left: 1px solid #fff; */  /* hoge */
    padding-left: 30px;
    width: 68%;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
/*    justify-content: space-between; */  /* hoge */
}

#footer .footerBot .rowr .colr a{
    color: #fff;
}

#footer .footerBot .rowr .colr a:hover{
    text-decoration: underline;
}

#footer .footerBot .rowr .colr .listl,
#footer .footerBot .rowr .colr .listr{
	width:33%;
}


#footer .footerBot .rowr .colr .listl > li,
#footer .footerBot .rowr .colr .listr > li{
    margin-bottom: 7px;
}

#footer .footerBot .rowr .colr .listl > li >a,
#footer .footerBot .rowr .colr .listr > li >a{
    background: url('../img/common/footer_arrow.png.webp') no-repeat left center/8px 10px;
    padding-left: 15px;
    line-height: 1;
}

#footer .footerBot .rowr .colr .listl .listls li a{
    padding-left: 30px;
    line-height: 1.8;
}

#footer .footerBot .rowr .colr .listr{

}

.scrollToTop{
    cursor: pointer;
    width: 60px;
    height: 60px;
    background: rgba(0,0,0,0.5);
    text-align: center;
    z-index: 999;
    position: fixed;
    bottom: 242px;
    right: 10px;
    box-shadow: 0px 3px 0 rgba(0,0,0, 0.4);
    transition: all 200ms linear;
    display: none;
}

.scrollToTop img{
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

.scrollToTop:hover{
    transform: translateY(3px);
    box-shadow: none;
}

.sp {
    display: none;
}

.btn a{
    color: #fff;
    background: #8FC31F;
    display: block;
    position: relative;
    text-align: center;
    font-size: 21px;
    padding: 18px 0;
    letter-spacing: 1px;
    line-height: 1.1;
    box-shadow: 0px 3px 0 rgba(0,0,0, 0.2);
    transition: all 200ms linear;
    font-weight: bold;
}

.btn.cta a{
    background: #0083C2;
}

.btn a:hover{
    transform: translateY(3px);
    box-shadow: none;
}

.btn a:after{
    content: "";
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    width: 15px;
    height: 18px;
    background: url('../img/common/sidebar_arrow_02.png.webp') no-repeat center center/cover;
}

#main{
    background: url('../img/index/main.jpg.webp') no-repeat center center/cover;
    padding: 25px 0 236px;
	margin-top:auto;
}

#main .inner{
    padding: 0 25px;
}

#main .title1{
    color: #282828;
    font-size: 19px;
    line-height: 1.4;
	margin-bottom:10px;
}

#main .title2{
    color: #0083C2;
    font-size: 36px;
    letter-spacing: 5.5px;
    margin-bottom: 5px;
    display: block;
}

#main .title3{
    margin-top: 15px;
    color: #0083C2;
    font-size: 90px;
    letter-spacing: 3px;
    line-height: 1;
}

.area{
    padding: 10px 0;
}

.areaTitle{
    text-align: center;
    font-size: 40px;
    position: relative;
    letter-spacing: 2px;
}

.areaTitle:after{
    content: "";
    position: absolute;
    left: 50%;
    bottom: -5px;
    width: 100px;
    transform: translateX(-50%);
    border-bottom: 3px solid #0083C2;
}

.areaText{
    text-align: center;
    font-size: 18px;
    font-weight: bold;
    margin-top: 25px;
    line-height: 1.8;
}

/*HOVER EFFECT*/
@media(min-width: 1151px){

	.menusp{
		display:none !important;
	}

    #sidebar .menu li a:hover{
        color: #0083C2;
    }


/* -------------------- */

	#sidebar .menu li a{
		line-height:70px;
		height:70px;
	}

	#sidebar .menu li .menuSub{

		display:none;
		position:fixed;
		top:0px;
		left:230px;
		width:230px;
		height:100%;
		background-color:#0083C2;
		padding-left:10px;
	}

	#sidebar .menu > li > a:hover{
		background-color:#0083C2;
		color:#FFFFFF !important;
	}

	#sidebar .menu li .menuSub ul{
		padding-top:230px;
	}

	#sidebar .menu li .menuSub li{
		line-height:50px;
		border-bottom:1px solid #FFFFFF;
		padding-left:10px;
	}

	#sidebar .menu li .menuSub li a{
		color:#FFFFFF;
		line-height:60px;
		height:60px;
		padding-left:10px;
	}
    #sidebar .menu li .menuSub .casemenu li a{
        line-height:40px;
        height:40px;
    }
	#sidebar .menu li .menuSub .casemenu li{
        line-height:40px;
        height:40px;
		border-bottom:none;
	}

	#sidebar .menu li .menuSub li a:hover{
		background-color:#FFFFFF;
		color:#0083C2;
	}

	#sidebar .menu li .menuSub li p{
		color:#FFFFFF;
		/*line-height:60px;*/
		height:60px;
	    font-size: 16px;
	    display: block;
	    position: relative;
		padding-left:10px;
	}

	#sidebar .menu li .menuSub li.cat p:before{
	    content: "";
	    position: absolute;
	    left: 2px;
	    top: 10px;
	    width: 2px;
	    height: calc(100% - 40px);
	    background: #FFFFFF;
	}



/* -------------------- */




}



/* STYLE MOBILE */
@media (max-width: 1150px) {
    .pc {
        display: none !important;
    }

    .sp {
        display: block;
    }

	.menusp{
		display:block;
	}

    .inner {
        width: 100%;
        padding: 0 2.5%;
    }

    #main .title1{
        font-size: 1.65vw;
    }

    #main .title2{
        font-size: 3.15vw;
    }
    #main .title3{
        font-size: 7.5vw;
    }

    #sidebar{
        width: 100%;
        left: 0;
        top: 0;
        right: 0;
        height: auto;
    }

    #contentWrapper{
        width: 100%;
        margin-left: 0;
    }

    #sidebar .menuBar{
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 0 2.5%;
        padding: 10px;
        box-shadow: 0px 2px 2px #c9c9c9;
    }

    #sidebar .menuBar .logo{
        color: #0083C2;
    }

    #sidebar .menuBar .logo h2{
        font-size: 22px;
        line-height: 1.2;
    }

    .hamburger{
        width: 30px;
    }

    .hamburger span{
        background: #0083C2;
        height: 3px;
        display: block;
        margin-bottom: 6px;
        transition: all 200ms linear;
    }

    .hamburger span:nth-child(3){
        margin-bottom: 0;
    }

    .hamburger.open span:nth-child(1){
        transform: rotate(45deg) translate(6px, 7px);
    }

    .hamburger.open span:nth-child(2){
        opacity: 0;
    }

    .hamburger.open span:nth-child(3){
        transform: rotate(-45deg) translate(6px, -7px);
    }

    #sidebar .menuWrapper{
        display: none;
        box-shadow: 0px 2px 2px #c9c9c9;
    }

    #sidebar .menu li.cta a{
        font-size: 16px;
    }
    #sidebar .menu > li .arrow{
        top:12px;
    }

    #sidebar .sidebarInfo{
        padding: 15px 45px;
    }

    #sidebar .sidebarInfo .phone a{
        padding-left: 0;
        background: url(../img/common/sidebar_phone.png.webp) no-repeat left 9.8vw center/16px 21px;
    }

    #footer .footerTop{
        background-image: url('../img/common/footer_photo_01_sp.jpg.webp');
        padding: 10px 0 20px;
    }

    #footer .footerTop .rowr{
        display: block;
        text-align: center;
    }

    #footer .footerTop .rowr .coll,
    #footer .footerTop .rowr .colr{
        width: 100%;
    }

    #footer .footerTop .title{
        font-size: 26px;
        padding-bottom: 5px;
        letter-spacing: 2px;
    }

    #footer .footerTop .title:after{
        width: 55px;
    }

    #footer .footerTop .text{
        font-size: 14px;
    }

    #footer .footerTop .rowr .coll .text1{
        font-size: 16px;
    }

    #footer .footerTop .rowr .coll .phone{
        font-size: 36px;
        background: url(../img/common/footer_phone.png.webp) no-repeat left 12.8vw center/18px 28px;
    }

    #footer .footerTop .rowr .coll .text2{
        margin-right: 0;
        font-size: 14px;
        text-align: center;
    }

    #footer .footerTop .rowr .colr .btn,
    #footer .footerTop .rowr .colr .btn:last-child{
        float: none;
    }

    #footer .footerTop .rowr .colr .btn{
        display: inline-block;
        width: 80%;
        margin-top: 20px;
    }

    #footer .footerTop .rowr .colr .btn a {
        padding: 15px 0;
    }

    #footer .footerTop .rowr .colr .btn a:after{
        width: 11px;
        height: 15px;
    }

    #footer .footerBot{
        padding: 15px 0;
    }

    #footer .footerBot .rowr .colr{
        border-left: none;
        padding-left: 0;
    }

    #footer .footerBot .rowr{
        flex-direction: column-reverse;
    }

    #footer .footerBot .rowr .colr{
        width: 100%;
        justify-content: flex-start;
    }

    #footer .footerBot .rowr .colr .listl{
        margin-right: 35px;
    }

    #footer .footerBot .rowr .coll{
        width: 57%;
        margin: 10px auto 0;
        text-align: center;
    }

    #footer .footerBot .rowr .coll .inforing .text1{
        letter-spacing: 2px;
    }

    #footer .footerBot .rowr .coll .inforing .title{
        letter-spacing: 1px;
    }

    .scrollToTop{
        bottom: 20px;
        width: 40px;
        height: 40px;
    }

    .scrollToTop img{
       width: 14px;
    }

    #main{
        padding: 20px 0 120px;
        background-image: url('../img/index/main.jpg.webp');
        -webkit-background-size: 100% auto;
        background-size: 100% auto;
        background-position: top center;
		margin-top:62px;
    }

    #main .inner{
        padding: 0 2.5%;
    }



    #content{
        margin-top: -112px;
    }

    .areaTitle{
        font-size: 28px;
        line-height: 35px;
    }

    .areaTitle:after{
        width: 60px;
        bottom: -5px;
    }

    .areaText{
        font-size: 14px;
    }

/* 20201021 */


	#sidebar .menu > li{
		position:relative;
		height:unset;
	}

	#sidebar .menu li a{
		height:unset;
	}

	#sidebar .menu li .menuSub{
		display:none;
	}

}



@media(max-width: 768px){

	.menusp{
		display:block;
	}
	.pc{
		display:none !important;
	}

	#main{
		margin-top:62px;
	}
    #main .title1{
        font-size: 12px;
    }

    #main .title2{
        font-size: 14px;
        margin-top: 5px;
    }
    #main .title3{
        font-size: 40px;
    }
    #footer .footerBot .rowr .coll{
        width: 80%;
    }

	#sidebar .menu > li .arrow{
	    top: 12px;
	}

    #sidebar .menuWrapper{
        display: none;
        box-shadow: 0px 2px 2px #c9c9c9;
    }

}
@media(max-width: 425px){
	.menusp{
		display:block;
	}

	.pc{
		display:none !important;
	}

	#main{
		margin-top:62px;
	}

    #sidebar .menuWrapper{
        display: none;
        box-shadow: 0px 2px 2px #c9c9c9;
    }

    #sidebar .sidebarInfo .phone a{
        background: url(../img/common/sidebar_phone.png.webp) no-repeat left 0vw center/18px 23px;
    }

    #footer .footerTop .rowr .coll .phone{
        font-size: 30px;
        background: url(../img/common/footer_phone.png.webp) no-repeat left 11vw center/16px 26px;
    }

    #footer .footerBot .rowr .coll{
        width: 80%;
    }

    .btn a{
        font-size: 16px;
    }


    #footer .footerBot .rowr .colr .listl{
        margin-right:0px;
    }

	#footer .footerBot .rowr .colr .listl, #footer .footerBot .rowr .colr .listr{
		width:unset;
	}
}