@charset "utf-8";
/* ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
	file name : base.css
 : :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */
/* ********************************************************************************
 * Link
 * ******************************************************************************** */
a {
	outline: none;
}
/* a:link */
a:link {
	color: #000;
	text-decoration: none;
}
/* a:active */
a:active {
	color: #000;
	text-decoration: none;
}
/* a:visited */
a:visited {
	color: #000;
	text-decoration: none;
}
/* a:hover */
a:hover {
	color: #000;
	opacity: .5;
}
.nolink {
	opacity: 0.4;
}

.flex{
	display: flex;
}
/* ********************************************************************************
 * Base Layout
 * ******************************************************************************** */
/* body */
body {
	min-width: 1100px;
	width: 100%;
	position: relative;
	overflow-x: hidden;
	font-family: noto-sans-cjk-jp, sans-serif;
	font-weight: 600;
	font-style: normal;
	font-size: 16px;
	line-height: 1;
	background-color: #f4eeea;
}
img {
	display: block;
	max-width: 100%;
	margin: auto;
}
a {
	display: block;
}
.en{
	font-family: futura-pt, sans-serif;
	font-weight: 500;
	font-style: normal;
	letter-spacing: .05em;
}
.blue{
	color:#1e4a9e;
}
.green{
	color: #109c63;
}
/* header */
header{
	background-color: #109c63;
    height: 80px;
}
.header_wrap{
	display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	max-width: 100%;
	width: 100%;
	margin: auto;
	padding: 30px 0;
}
.header_left{
	max-width: 290px;
	width: 100%;
}
.header_right{
	max-width: 60%;
	width: 100%;
}
.header_right ul{
	display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
.header_right .header_contact a{
	background: #1f4a9e;
    font-size: 17px;
    padding: 30px;
    box-sizing: border-box;
    text-align: center;
	
}
.header_fixed{
	position: fixed;
	top: 150px;
	right: 0;
	z-index: 10;
}
.header_fixed_02{
	position: fixed;
	top: 3000px;
	right: 0;
	z-index: 10;
}
.header_fixed a{
	-webkit-writing-mode: vertical-rl;
	 -moz-writing-mode: vertical-rl;
	 -ms-writing-mode: tb-rl;
	 -ms-writing-mode: vertical-rl;
	 writing-mode: vertical-rl;
	background: #fff100;
	letter-spacing: .1em;
	padding: 50px 20px;
	font-size: 20px;
	box-sizing: border-box;
}
.header_fixed_02 a{
	-webkit-writing-mode: vertical-rl;
	 -moz-writing-mode: vertical-rl;
	 -ms-writing-mode: tb-rl;
	 -ms-writing-mode: vertical-rl;
	 writing-mode: vertical-rl;
	background: #fff100;
	letter-spacing: .1em;
	padding: 50px 20px;
	font-size: 20px;
	box-sizing: border-box;
}
.header_wrap{
		position: fixed;
		z-index: 100;
		padding: 0px 0px 0 5%;
	    background-color: #109c63;
	}
	#nav-drawer {
		display: block;
        position: absolute;
        right: 10px;
        top: 20px;
    }
    /*アイコンのスペース*/
    #nav-open {
        display: inline-block;
        width: 30px;
        height: 22px;
        vertical-align: middle;
            position: relative;
    z-index: 999;
    }
    /*ハンバーガーアイコンをCSSだけで表現*/
    #nav-open span,
    #nav-open span:before,
    #nav-open span:after {
        position: absolute;
        height: 3px;
        /*線の太さ*/
        width: 25px;
        /*長さ*/
        border-radius: 3px;
        background: #fff;
        display: block;
        content: '';
        cursor: pointer;
		transition: all .5s;
    }
    #nav-open span:before {
        bottom: -8px;
    }
    #nav-open span:after {
        bottom: -16px;
    }
	.header_fixed{
     width: 80px;
    /* top: 100px; */
    top: 160px;
    bottom: 0;
    line-height: 58px;
    height: 198px;
    writing-mode: vertical-rl;
	}

	.header_fixed p::before{
		content: "";
		background-image: url(../img/icon_line.svg);
		width: 36px;
		height: 36px;
		display: block;
		background-size: contain;
		background-repeat: no-repeat;
		position: absolute;
		top: 15px;
		left: 24px;
	}
	.header_fixed a.btn_contact{
			-webkit-writing-mode: inherit;
			-moz-writing-mode: inherit;
			-ms-writing-mode: inherit;
			writing-mode: inherit;
			width: 100%;
			padding: 5px 5%;
			box-sizing: border-box;
			font-size: 20px;
			text-align: center;
            background: #109c63;
            /* border-radius: 27px 0 0 0; */
            border-radius: 27px 0 0 27px;
			color: #fff;
		}
	.header_fixed a.btn_contact span{
		padding-top: 42px;
        font-weight: bold;
	}
	.header_fixed_02{
		width: 80px;
		top: 298px;
		bottom: 0;
		line-height: 49px;
    height: 295px;
		writing-mode: vertical-rl;
		}
	.header_fixed_02 p::before{
		content: "";
		background-image: url("../img/icon_price.svg");
		width: 32px;
		height: 32px;
		display: block;
		background-size: contain;
		background-repeat: no-repeat;
		position: absolute;
		top: 15px;
		left: 26px;
	}
	.header_fixed_02 a.btn_simulation{
			-webkit-writing-mode: inherit;
			-moz-writing-mode: inherit;
			-ms-writing-mode: inherit;
			writing-mode: inherit;
			width: 100%;
			padding: 5px 5%;
			box-sizing: border-box;
			font-size: 20px;
			text-align: center;
				background: #1f4a9e;
				border-radius: 0 0 0 27px;
			color: #fff;
		}
.header_fixed_02 a.btn_simulation span{
		padding-top: 35px;
        font-weight: bold;
	}
    .nav {
        position: fixed;
        top: 0;
        right: 0;
        z-index: 20;
        width: 30%;
        height: 100%;
        margin: 0;
        padding: 64px 5% 24px;
        box-sizing: border-box;
        background-color: #109c63f7;
        opacity: 0;
        transition: .4s ease-out;
        -webkit-overflow-scrolling: touch;
        visibility: hidden;
    }
    .nav.show {
        opacity: 1;
        visibility: visible;
    }
	.nav_toggle {
	text-align: center;
    display: block;
    position: relative;
    cursor: pointer;
    width: 5rem;
    height: 5rem;
    margin: auto 0 auto auto;
    background-color: #1e4a9e;
    color: #fff;
    z-index: 30;
	}
	.nav_toggle i {
		display: block;
		width: 100%;
		height: 2px;
		position: absolute;
		transition: transform .5s, opacity .5s;
	}
	.nav_toggle i:nth-child(1) {
		top: 5px;
        font-style: normal;
        padding-top: 12px;
	}
	.nav_toggle i:nth-child(2) {
		top: 20px;
		bottom: 0;
		margin: auto;
	}
	.nav_toggle i:nth-child(3) {
		bottom: 0;
	}
	.nav_toggle.show i:nth-child(1) {
        transform: translateY(24px) rotate(-6deg);
    }
    .nav_toggle.show i:nth-child(2) {
        opacity: 0;
    }
    .nav_toggle.show i:nth-child(3) {
        transform: translateY(-12px) rotate(45deg);
    }
	.header_right ul{
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
	}
	.header_right ul li{
		width: 100%;	
	}
	.header_right ul a{
		width: 100%;
		padding: 20px 3%;
		box-sizing: border-box;
		border-bottom: 1px solid #fff;
		font-size: 25px;
		text-align: left;
		    color: #fff;
	}
	.header_right .nav_ja{
		display: inline-block;
		font-size: 12px;
		vertical-align: middle;
		margin-left: 10px;
	}

/* footer */
.pagetop{
	display: none;
	position: fixed;
	bottom: 30px;
	right: 30px;
	max-width: 90px;
	width: 100%;
	margin: auto;
}
.footer_wrap{
	padding: 40px 0 60px;
	background: #000;
	color: #fff;
}
.footer_logo{
	max-width: 380px;
	width: 100%;
	margin: 0 auto 50px;
}
.footer_company{
	display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	margin-bottom: 40px;
}
.footer_company li{
	max-width: 138px;
	width: 100%;
	margin-right: 50px;
}
.footer_company li:last-child{
	margin-right: 0;
}
.footer_copy{
	display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	font-size: 14px;
    line-height: 1.6;
    background-color: #1f4a9e;
    color: #109c63;
    padding: 13px;
}
.footer_copy .copyright{
	margin-right: 10px;
}
.footer_copy .privacy a{
	color: #fff;
	font-size: 12px;
}
.footer_logoarea{
	margin: 0 auto 30px;
	width: 100px;
	font-size: 14px;
	text-align: center;
}
.footer_logoarea p{
	margin-bottom: 10px;
}
@media screen and (min-width: 769px) {
	.pc {
		display: block;
	}
	.sp {
		display: none;
	}
}
@media screen and (max-width:768px) {
	.sp {
		display: block;
	}
	.pc {
		display: none;
	}
	body {
		min-width: 100%;
		font-size: 14px;
		line-height: 2;
	}
    header{
        height: 60px;
    }
	.header_wrap{
		position: fixed;
		z-index: 100;
		padding: 0 0 0 5%;
	}
	#nav-drawer {
		display: block;
        position: absolute;
        right: 10px;
        top: 20px;
    }
    /*アイコンのスペース*/
    #nav-open {
        display: inline-block;
        width: 30px;
        height: 22px;
        vertical-align: middle;
            position: relative;
    z-index: 999;
    }
    /*ハンバーガーアイコンをCSSだけで表現*/
    #nav-open span,
    #nav-open span:before,
    #nav-open span:after {
        position: absolute;
        height: 3px;
        /*線の太さ*/
        width: 25px;
        /*長さ*/
        border-radius: 3px;
        background: #fff;
        display: block;
        content: '';
        cursor: pointer;
		transition: all .5s;
    }
    #nav-open span:before {
        bottom: -8px;
    }
    #nav-open span:after {
        bottom: -16px;
    }
	.header_fixed{
		width: 100%;
		top: auto;
		bottom: 0;
	}
	.header_fixed a{
		-webkit-writing-mode: inherit;
		-moz-writing-mode: inherit;
		-ms-writing-mode: inherit;
		writing-mode: inherit;
		width: 100%;
		padding: 5px 5%;
		box-sizing: border-box;
		font-size: 18px;
		text-align: center;
	}
	
	.nav {
	position: fixed;
    top: 0;
    left: 0;
    z-index: 20;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 64px 5% 24px;
	box-sizing: border-box;
    overflow: scroll;
    background-color: #109c63f7;
    opacity: 0;
    transition: .4s ease-out;
    -webkit-overflow-scrolling: touch;
	visibility: hidden;
	}
	.nav.show {
	  opacity: 1;
	  visibility: visible;
	}
    .nav_toggle {
        width: 4rem;
        height: 4rem;
    }
    .nav_toggle i:nth-child(2) {
        top: 0;
    }
    .nav_toggle i:nth-child(1) {
        top: -5px;
    }
    .nav_toggle.show i:nth-child(1) {
        transform: translateY(20px) rotate(-6deg);
    }

	.header_right ul{
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
	}
	.header_right ul li{
		width: 100%;	
	}
	.header_right ul a{
		width: 100%;
		padding: 20px 3%;
		box-sizing: border-box;
		font-size: 16px;
		text-align: left;
	}
	.header_right .nav_ja{
		display: inline-block;
		font-size: 12px;
		vertical-align: middle;
		margin-left: 10px;
	}
	.header_right .header_contact a{
		padding: 15px 5%;
	}	
	.footer_wrap{
		padding: 30px 15% 50px;
	}
	.footer_logo{
		margin-bottom: 40px;
	}

	.footer_copy{
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;		
	}
	.footer_copy .copyright{
		margin: 0 auto 10px;
		text-align: center;
	}
	.footer_copy .privacy{
		margin: auto;
	}	
	.footer_logoarea {
    margin: 0 auto 30px;
    width: 15%;
    font-size: 14px;
    text-align: center;
}
}