@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700&display=swap');

/*-----------------------------------

	base

-----------------------------------*/
html {
    overflow-y: auto;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    font-size: 62.5%;
	overflow-x: hidden;
}
body {
    font-family: 'Noto Sans JP', sans-serif;
	font-size: 16px;
    font-size: 1.6em;
	color: #464A65;
    line-height: 1.8em;
	letter-spacing:0;
	font-weight: 400;
	background: #ffffff;
	margin:0 !important;
	width: 100%;
	overflow: hidden;
	box-sizing: border-box;
}
*, *: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;
}
.contents_inner_i{
	max-width: 1000px;
    width: 1000px;
	margin: 0 auto;
}
.contents_inner{
    width: 1000px;
	margin: 0 auto;
}
img {
    max-width: 100%;
    height: auto;
}
a, a:link, a:visited {
    color: #464A65;
	text-decoration:none;
    cursor: pointer;
    transition: all 0.5s;
}
a:hover {
    opacity: 0.8;
}
.sp{
	display:none;
}
.tbsp{
    display:none;
}
.pc{
	display:block;
}
.left{
	float: left;
}
.right{
	float: right;
}
@media screen and (max-width: 1280px) {
	.contents_inner_i{
		width: 95%;
		margin: 0 auto;
	}
	.contents_inner{
		width: 95%;
		margin: 0 auto;
	}
}
@media screen and (max-width: 840px) {
	.contents_inner{
		width: 95%;
		margin: 0 auto;
	}
}
@media screen and (max-width: 640px) {
	body {
		font-size: 14px;
		font-size: 1.4em;
		font-weight: normal;
	}
	.pc{
		display:none;
	}
	.sp{
		display:block;
	}
    .contents_inner{
		width: 95%;
		margin: 0 auto;
	}
}

/*-----------------------------------

	clearfix

-----------------------------------*/
.clearfix:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
}
.clearfix {
    display: inline-block;
}
* html .clearfix {
    height: 1%;
}
.clearfix {
    display: block;
}
/*-----------------------------------

	columns

-----------------------------------*/
#columns {
    display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
    -webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
@media screen and (max-width: 640px) {
    #columns {
        -webkit-box-orient: vertical;
      	-webkit-box-direction: normal;
      	-ms-flex-direction: column;
      	flex-direction: column;
    }
}
/*-----------------------------------

	header

-----------------------------------*/
header {
    width: 240px;
}
header .side_head {
	padding: 20px 24px;
}
header .logo {
    width: 80%;
	margin:0 auto;
}
header .sns {
    width: 100%;
    text-align: center;
    line-height: 0;
    margin:20px auto;
}
header .sns ul {
    display: inline-block;
}
header .sns li {
    float: left;
    margin-right: 10px;
}
header .sns li:last-child {
    margin-right: 0;
}
header .sns li a {
    font-size: 28px;
    color: #939597;
}
header .member {
    /*margin-bottom: 50px;*/
}
header .member ul li {
    margin-bottom: 15px;
    text-align: center;
}
header .member ul li:first-child a {
    border-radius: 30px;
    background: #464A65;
    color: #fff;
    display: block;
    padding: 15px 0;
    line-height: 1;
}
header .member ul li:last-child a {
    border-radius: 30px;
    background: #fff;
    border: 1px solid #464A65;
    display: block;
    padding: 15px 10px;
    line-height: 1;
}
header nav#nav_pc ul li a {
    color: #fff;
    background: #464A65;
    font-size: 16px;
    display: block;
    padding: 20px 0 20px 20px;
    line-height: 1;
    position: relative;
    letter-spacing: 0.1rem;
}
header nav#nav_pc ul li a span{
    font-size: 20px;
    font-weight: 700;
}
header nav#nav_pc ul li a::after{
    position: absolute;
    content: "";
    width: 13px;
    height: 7px;
    background: url(../img/common/side_arrow.png) no-repeat;
    background-size: contain;
    top: 0;
    bottom: 0;
    right: 20px;
    margin: auto;
}
@media screen and (max-width: 840px) {
	
	header {
		width: 25%;
	}
	header .member ul li {
		font-size:13px;	
	}
	header nav#nav_pc ul li a {
    	font-size: 14px;
	}
	header nav#nav_pc ul li a span {
		font-size: 16px;
		display: block;
	}
	header .side_head {
		padding: 20px 14px;
	}

}
@media screen and (max-width: 640px) {
    header {
        width: 100%;
        position: fixed;
        background: #fff;
        height: 70px;
        z-index: 1;
    }
	header .side_head {
		padding:0;	
	}
    header .logo {
        width: 140px;
        height: 70px;
        margin: 0 10px;
        display:-webkit-box;
      	display:-ms-flexbox;
      	display:flex;
        -webkit-box-align: center;
    	-ms-flex-align: center;
    	align-items: center;
    }
    header .sns {
        width: auto;
        margin: 0 auto;
        position: absolute;
        top: 0;
        bottom: 0;
        right: 80px;
    }
    header .sns li a {
        line-height: 70px;
    }
    header .member {
        display: none;
    }
    .menu_btn_wrap {
		width: 70px;
		height: 70px;
		cursor:pointer;
		position: absolute;
		top: 0;
		right: 0;
		z-index: 999;
	}
	.menu_btn {
		width: 30px;
		height: 25px;
		display: block;
		position: absolute;
		top: 22px;
		right: 20px;
		background: #464A65;
		border-top: 12px solid #ffffff;
		border-bottom: 10px solid #ffffff;
		box-sizing: border-box;
		-moz-transition: all 0.3s;
		-webkit-transition: all 0.3s;
		transition: all 0.3s;
		z-index:999;
	}
	.menu_btn:before {
		content:'';
		position:absolute;
		width: 30px;
		height: 3px;
		background: #464A65;
		top:-9px;
		-moz-transition:all 0.3s;
		-webkit-transition:all 0.3s;
		transition:all 0.3s;
	}
	.menu_btn:after {
		content:'';
		position:absolute;
		width: 30px;
		height: 3px;
		background: #464A65;
		bottom:-9px;
		-moz-transition:all 0.3s;
		-webkit-transition:all 0.3s;
		transition:all 0.3s;
	}
	.menu_btn.active {
		background:#fff;
	}
	.menu_btn.active:before{
		-moz-transform:rotate(-135deg);
		-webkit-transform:rotate(-135deg);
		transform:rotate(-135deg);
		top:0;
		right:0;
	}
	.menu_btn.active:after {
		-moz-transform:rotate(135deg);
		-webkit-transform:rotate(135deg);
		transform:rotate(135deg);
		bottom:0;
		right:0;
	}
}
/*-----------------------------------

	nav

-----------------------------------*/
#nav_sp{
	display:none;
}
@media screen and (max-width: 640px) {
	#nav_pc{
		display:none;
	}
	#nav_sp{
		width: 100%;
		height: calc(100% - 70px);
		overflow: auto;
		-webkit-overflow-scrolling: touch;
		background: #464A65;
		position: fixed;
		top:70px;
		right: -100%;
		padding: 20px 2.5%;
		display:inline-block;
		z-index: 999;
		box-sizing: border-box;
		-webkit-overflow-scrolling: touch;
		transition: 0.3s;
		-webkit-transition: 0.3s;
		-moz-transition: 0.3s;
		-o-transition: 0.3s;
		-ms-transition: 0.3s;
	}
	#nav_sp a{
		color:#fff;
	}
	#nav_sp.toggle{
		right: 0 !important;
	}
    #nav_sp .member {
        display: block;
        margin-bottom: 20px;
    }
    #nav_sp .member li:first-child a {
        border: 1px solid #fff;
    }
    #nav_sp .member li:last-child a {
        color: #464A65;
    }
	#nav_sp_menu li a{
		font-size: 15px;
		display:block;
		padding: 10px 2.5%;
		position: relative;
	}
    #nav_sp_menu li a span {
        font-size: 18px;
        font-weight: 700;
    }
	#nav_sp_menu li a:after {
        position: absolute;
        content: "";
        width: 13px;
        height: 7px;
        background: url(../img/common/side_arrow.png) no-repeat;
        background-size: contain;
        top: 0;
        bottom: 0;
        right: 5px;
        margin: auto;
	}
}

/*-----------------------------------

	main

-----------------------------------*/
main {
    width: calc(100% - 240px);
}

@media screen and (max-width: 840px) {
	main {
		width: 75%;
	}
}

@media screen and (max-width: 640px) {
    main {
        width: 100%;
        margin-top: 70px;
    }
}

/*-----------------------------------

	catch_block

-----------------------------------*/
#catch_block {
    background: url(../img/common/catch_bg.jpg) no-repeat;
    background-size: cover;
    width: 100%;
    height: 0;
    padding-top: 26.6666%;
    position: relative;
}
#catch_block p {
    position: absolute;
    top: 35%;
    right: 0;
    left: 0;
    margin: auto;
    text-align: center;
    color: #fff;
    text-shadow: 2px 2px 3px rgba(56,55,55,0.5);
    font-size: 26px;
}
#catch_block a {
    position: absolute;
    top: 60%;
    right: 0;
    left: 0;
    margin: auto;
    display: block;
    background: #A0741C;
    color: #fff;
    max-width: 280px;
    width: 80%;
    padding: 20px 0;
    text-align: center;
    line-height: 1;
}
#catch_block a::after {
    content: "→";
    position: absolute;
    width: 16px;
    height: 16px;
    top: 0;
    bottom: 0;
    right: 30px;
    margin: auto;
}
@media screen and (max-width: 840px) {
    #catch_block {
        padding-top: 35%;
    }
}
@media screen and (max-width: 640px) {
    #catch_block {
        padding-top: 45%;
    }
    #catch_block p {
        top: 25%;
        font-size: 20px;
    }
    #catch_block a {
        top: 50%;
        padding: 15px 0;
    }
    #catch_block a::after {
        width: 14px;
        height: 14px;
    }
}

/*-----------------------------------

	contact_block

-----------------------------------*/
#contact_block {
    display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
}
#contact_block .left{
    width: 50%;
    background: #464A65;
    color: #fff;
    padding: 5% 0;
    text-align: center;
}
#contact_block .right{
    width: 50%;
    background: #F7F1E4;
    padding: 5% 0;
    text-align: center;
    display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
    -webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
    -webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
#contact_block .wrap {
    display: inline-block;
}
#contact_block .wrap .text01 {
    font-weight: 700;
    margin-bottom: 15px;
}
#contact_block .wrap .tel {
    font-weight: 700;
    font-size: 36px;
    border-bottom: 1px solid #fff;
    padding-bottom: 10px;
    padding-left: 35px;
    margin-bottom: 15px;
    position: relative;
    color: #fff;
}
#contact_block .wrap .tel::before {
    content: "";
    position: absolute;
    width: 23px;
    height: 33px;
    background: url(../img/common/contact_icon.png) no-repeat;
    background-size: contain;
    top: 0;
    left: 0;
    margin: auto;
}
#contact_block .wrap .contact {
    display: block;
    width: 280px;
    margin: 0 auto;
    background: #464A65;
    color: #fff;
    padding: 20px 0;
    line-height: 1;
    position: relative;
}
#contact_block .wrap .contact::after {
    content: "→";
    position: absolute;
    width: 16px;
    height: 16px;
    top: 0;
    bottom: 0;
    right: 30px;
    margin: auto;
}
@media screen and (max-width: 840px) {
    #contact_block .wrap .tel {
        font-size: 32px;
    }
}
@media screen and (max-width: 640px) {
    #contact_block {
        -webkit-box-orient: vertical;
      	-webkit-box-direction: normal;
      	-ms-flex-direction: column;
      	flex-direction: column;
    }
    #contact_block .left{
        width: 100%;
        padding: 10% 0;
    }
    #contact_block .right{
        width: 100%;
        padding: 10% 0;
    }
    #contact_block .wrap .contact::after {
        width: 14px;
        height: 14px;
    }
}
/*-----------------------------------

	lower_head

-----------------------------------*/
#lower_head {
	background-color: #626889;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100%25'%3E%3Cdefs%3E%3ClinearGradient id='a' gradientUnits='userSpaceOnUse' x1='0' x2='0' y1='0' y2='100%25' gradientTransform='rotate(61,640,475)'%3E%3Cstop offset='0' stop-color='%23626889'/%3E%3Cstop offset='1' stop-color='%23464a65'/%3E%3C/linearGradient%3E%3Cpattern patternUnits='userSpaceOnUse' id='b' width='2000' height='1666.7' x='0' y='0' viewBox='0 0 1080 900'%3E%3Cg fill-opacity='0.02'%3E%3Cpolygon fill='%23444' points='90 150 0 300 180 300'/%3E%3Cpolygon points='90 150 180 0 0 0'/%3E%3Cpolygon fill='%23AAA' points='270 150 360 0 180 0'/%3E%3Cpolygon fill='%23DDD' points='450 150 360 300 540 300'/%3E%3Cpolygon fill='%23999' points='450 150 540 0 360 0'/%3E%3Cpolygon points='630 150 540 300 720 300'/%3E%3Cpolygon fill='%23DDD' points='630 150 720 0 540 0'/%3E%3Cpolygon fill='%23444' points='810 150 720 300 900 300'/%3E%3Cpolygon fill='%23FFF' points='810 150 900 0 720 0'/%3E%3Cpolygon fill='%23DDD' points='990 150 900 300 1080 300'/%3E%3Cpolygon fill='%23444' points='990 150 1080 0 900 0'/%3E%3Cpolygon fill='%23DDD' points='90 450 0 600 180 600'/%3E%3Cpolygon points='90 450 180 300 0 300'/%3E%3Cpolygon fill='%23666' points='270 450 180 600 360 600'/%3E%3Cpolygon fill='%23AAA' points='270 450 360 300 180 300'/%3E%3Cpolygon fill='%23DDD' points='450 450 360 600 540 600'/%3E%3Cpolygon fill='%23999' points='450 450 540 300 360 300'/%3E%3Cpolygon fill='%23999' points='630 450 540 600 720 600'/%3E%3Cpolygon fill='%23FFF' points='630 450 720 300 540 300'/%3E%3Cpolygon points='810 450 720 600 900 600'/%3E%3Cpolygon fill='%23DDD' points='810 450 900 300 720 300'/%3E%3Cpolygon fill='%23AAA' points='990 450 900 600 1080 600'/%3E%3Cpolygon fill='%23444' points='990 450 1080 300 900 300'/%3E%3Cpolygon fill='%23222' points='90 750 0 900 180 900'/%3E%3Cpolygon points='270 750 180 900 360 900'/%3E%3Cpolygon fill='%23DDD' points='270 750 360 600 180 600'/%3E%3Cpolygon points='450 750 540 600 360 600'/%3E%3Cpolygon points='630 750 540 900 720 900'/%3E%3Cpolygon fill='%23444' points='630 750 720 600 540 600'/%3E%3Cpolygon fill='%23AAA' points='810 750 720 900 900 900'/%3E%3Cpolygon fill='%23666' points='810 750 900 600 720 600'/%3E%3Cpolygon fill='%23999' points='990 750 900 900 1080 900'/%3E%3Cpolygon fill='%23999' points='180 0 90 150 270 150'/%3E%3Cpolygon fill='%23444' points='360 0 270 150 450 150'/%3E%3Cpolygon fill='%23FFF' points='540 0 450 150 630 150'/%3E%3Cpolygon points='900 0 810 150 990 150'/%3E%3Cpolygon fill='%23222' points='0 300 -90 450 90 450'/%3E%3Cpolygon fill='%23FFF' points='0 300 90 150 -90 150'/%3E%3Cpolygon fill='%23FFF' points='180 300 90 450 270 450'/%3E%3Cpolygon fill='%23666' points='180 300 270 150 90 150'/%3E%3Cpolygon fill='%23222' points='360 300 270 450 450 450'/%3E%3Cpolygon fill='%23FFF' points='360 300 450 150 270 150'/%3E%3Cpolygon fill='%23444' points='540 300 450 450 630 450'/%3E%3Cpolygon fill='%23222' points='540 300 630 150 450 150'/%3E%3Cpolygon fill='%23AAA' points='720 300 630 450 810 450'/%3E%3Cpolygon fill='%23666' points='720 300 810 150 630 150'/%3E%3Cpolygon fill='%23FFF' points='900 300 810 450 990 450'/%3E%3Cpolygon fill='%23999' points='900 300 990 150 810 150'/%3E%3Cpolygon points='0 600 -90 750 90 750'/%3E%3Cpolygon fill='%23666' points='0 600 90 450 -90 450'/%3E%3Cpolygon fill='%23AAA' points='180 600 90 750 270 750'/%3E%3Cpolygon fill='%23444' points='180 600 270 450 90 450'/%3E%3Cpolygon fill='%23444' points='360 600 270 750 450 750'/%3E%3Cpolygon fill='%23999' points='360 600 450 450 270 450'/%3E%3Cpolygon fill='%23666' points='540 600 630 450 450 450'/%3E%3Cpolygon fill='%23222' points='720 600 630 750 810 750'/%3E%3Cpolygon fill='%23FFF' points='900 600 810 750 990 750'/%3E%3Cpolygon fill='%23222' points='900 600 990 450 810 450'/%3E%3Cpolygon fill='%23DDD' points='0 900 90 750 -90 750'/%3E%3Cpolygon fill='%23444' points='180 900 270 750 90 750'/%3E%3Cpolygon fill='%23FFF' points='360 900 450 750 270 750'/%3E%3Cpolygon fill='%23AAA' points='540 900 630 750 450 750'/%3E%3Cpolygon fill='%23FFF' points='720 900 810 750 630 750'/%3E%3Cpolygon fill='%23222' points='900 900 990 750 810 750'/%3E%3Cpolygon fill='%23222' points='1080 300 990 450 1170 450'/%3E%3Cpolygon fill='%23FFF' points='1080 300 1170 150 990 150'/%3E%3Cpolygon points='1080 600 990 750 1170 750'/%3E%3Cpolygon fill='%23666' points='1080 600 1170 450 990 450'/%3E%3Cpolygon fill='%23DDD' points='1080 900 1170 750 990 750'/%3E%3C/g%3E%3C/pattern%3E%3C/defs%3E%3Crect x='0' y='0' fill='url(%23a)' width='100%25' height='100%25'/%3E%3Crect x='0' y='0' fill='url(%23b)' width='100%25' height='100%25'/%3E%3C/svg%3E");
background-attachment: fixed;
background-size: cover;
}
#lower_head h2{
    color: #fff;
    font-size: 32px;
    text-align: center;
    font-weight: bold;
    padding: 36px;
}
#lower_head h2 span{
	font-size:18px;
	padding-top:10px;
	display:block;
}
@media screen and (max-width: 840px) {
	
	#lower_head h2{
		font-size: 20px;
		padding: 20px;
	}
	#lower_head h2 span {
		font-size: 14px;
	}
	
}
/*-----------------------------------

	pagetop

-----------------------------------*/
#pagetop{
    position: fixed;
    right: 20px;
    bottom: 100px;
    cursor: pointer;
    z-index: 999;
    width: 80px;
    height: 80px;
    background: #A0741C;
    box-shadow: 4px 4px 8px 0px rgba(81,80,80,0.5);
    transition-duration: 0.3s;
    -moz-transition-duration: 0.3s;
    -ms-transition-duration: 0.3s;
    -o-transition-duration: 0.3s;
    -webkit-transition-duration: 0.3s;
}
#pagetop:after{
    font-size: 40px;
	color:#fff;
    content: '↑';
    font-weight: bold;
	text-align: center;
    line-height: 80px;
    display: block;
}
#pagetop:hover:before{
    background: #A0741C;
}
#pagetop_sp{
	display:none;
}
@media screen and (max-width: 640px) {
	#pagetop{
		display:none !important;
	}
	#pagetop_sp{
		height: 50px;
		background:#A0741C;
		transition-duration: 0.3s;
		-moz-transition-duration: 0.3s;
		-ms-transition-duration: 0.3s;
		-o-transition-duration: 0.3s;
		-webkit-transition-duration: 0.3s;
		padding-top: 15px;
		cursor: pointer;
		display:block;
		box-sizing:border-box;
	}
	#pagetop_sp:hover{
		background:#A0741C;
	}
	#pagetop_sp:after{
		font-size: 24px;
		color:#fff;
		font-family: "Font Awesome 5 Free";
		content: '\f077';
		font-weight: bold;
		text-align: center;
		display: block;
		transition-duration: 0.3s;
		-moz-transition-duration: 0.3s;
		-ms-transition-duration: 0.3s;
		-o-transition-duration: 0.3s;
	}
}


/*-----------------------------------

	fixedlinks_sp

-----------------------------------*/
#fixedlinks_sp {
	display:none;
}
@media screen and (max-width: 640px) {
#fixedlinks_sp {
	width:100%;
    position: fixed;
    bottom: 0;
    right: 0;
	left:0;
	margin:0 auto;
    display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
    z-index: 999;
	box-shadow:0 7px 20px #7d7d7d;
}
#fixedlinks_sp .fixed_nav {
    width: 100%;
    line-height: 50px;
    height: 50px;
    text-align: center;
    font-size: 14px;
    letter-spacing: 0.1rem;
}
#fixedlinks_sp .fixed_nav:hover {
	opacity:0.9;
}
#fixedlinks_sp .contact {
	width:20%;
    background: #7780AA;
    color: #fff;
	font-size:20px;
}
#fixedlinks_sp .try {
    background: #f7f1e4;
    color: #000;
    text-align: left;
    padding-left: 20px;
}
}
/*-----------------------------------

	footer

-----------------------------------*/
footer {
}
footer .sns{
	padding-bottom: 40px;
}
footer #footer_top {
    padding: 30px 0;
    text-align: center;
}
footer #footer_top a {
    display: inline-block;
    width: 178px;
}
footer #footer_bottom {
    background: #E2E2E2;
    padding: 80px 0 30px;
    text-align: center;
}
footer #footer_bottom ul {
    display: inline-block;
    line-height: 0;
}
footer #footer_bottom ul li {
    float: left;
    margin-right: 20px;
    line-height: 1;
}
footer #footer_bottom ul li:last-child {
    margin-right: 0;
}
footer #footer_bottom ul li a {
    color: #616161;
    font-size: 13px;
}
footer #footer_bottom .menu {
    margin-bottom: 20px;
}
footer #footer_bottom .sns li a {
    font-size: 25px;
    color: #A2A2A3;
}
@media screen and (max-width: 840px) {
}
@media screen and (max-width: 640px) {
    footer #footer_bottom {
        padding: 40px 0 20px;
    }
    footer #footer_bottom ul li {
        margin-right: 15px;
    }
    footer #footer_bottom ul li a {
        font-size: 11px;
    }
}
