@charset "utf-8";
/* CSS Document */

.inner {
    width: 980px;
    margin: 0 auto;
}
.inner:after {
    content: "";
    clear: both;
    display: block;
}
 
/* header */
#top-head {
    top: -100px;
    position: absolute;
    width: 100%;
    margin: 100px auto 0;
    padding: 30px 0 0;
    line-height: 1;
    z-index: 999;
}
#top-head a,
#top-head {
    color: #fff;
    text-decoration: none;
}
#top-head .inner {
    position: relative;
}
#top-head .logo {
    float: left;
    font-size: 36px;
}
#global-nav ul {
    list-style: none;
    position: absolute;
    right: 0;
    bottom: 0;
    font-size: 14px;
}
#global-nav ul li {
    float: left;
}
#global-nav ul li a {
    padding: 0 30px;
}
 
/* Fixed */
#top-head.fixed {
    margin-top: 0;
    top: -17px;
    position: fixed;
    padding-top: 10px;
    height: 100px;
    background: #fff;
    background: rgba(255,255,255,.7);
    transition: top 0.65s ease-in;
    -webkit-transition: top 0.65s ease-in;
    -moz-transition: top 0.65s ease-in;
}
#top-head.fixed .logo {
    font-size: 24px;
    color: #333;
}
#top-head.fixed #global-nav ul li a {
    color: #333;
    padding: 0 20px;
}
 
/* Toggle Button */
#nav-toggle {
    display: none;
    position: absolute;
    right: 30px;
    top: 25px;
    width: 34px;
    height: 36px;
    cursor: pointer;
    z-index: 101;
	background-color:#666;
	padding:10px;
}
#nav-toggle div {
    position: relative;
}
#nav-toggle span {
    display: block;
    position: absolute;
    height: 4px;
    width: 100%;
    background: #fff;
    left: 0;
    -webkit-transition: .35s ease-in-out;
    -moz-transition: .35s ease-in-out;
    transition: .35s ease-in-out;
}
#nav-toggle span:nth-child(1) {
    top: 5px;
}
#nav-toggle span:nth-child(2) {
    top: 16px;
}
#nav-toggle span:nth-child(3) {
    top: 27px;
}

@media screen and (max-width: 2000px) {
    #top-head,
    .inner {
        width: 100%;
        padding: 0;
    }
    #top-head {
        top: 0;
        /*position: fixed;*/
        margin-top: 0;
    }
    /* Fixed reset */
    #top-head.fixed {
        padding-top: 0;
        background: #aaa;
		max-width: 980px;
    }
    #mobile-head {
        width: 100%;
        z-index: 999;
        position: relative;
    }
    #top-head.fixed .logo,
    #top-head .logo {
    left: 30px;
    position: absolute;
    top: 35px;
        color: #fff;
        font-size: 26px;
    }
    #global-nav {
        position: absolute;
        /* 開いてないときは画面外に配置 */
        top: -460px;
        background: #fff;
        width: 100%;
        text-align: center;
        padding: 10px 0;
        -webkit-transition: .5s ease-in-out;
        -moz-transition: .5s ease-in-out;
        transition: .5s ease-in-out;
    }
    #global-nav ul {
        list-style: none;
        position: static;
        right: 0;
        bottom: 0;
        font-size: 14px;
    }
    #global-nav ul li {
        float: left;
        position: static;
		width:50%;
    }
    #top-head #global-nav ul li a,
    #top-head.fixed #global-nav ul li a {
        width: 100%;
        display: block;
        color: #000;
        padding: 18px 0;
    }
    #nav-toggle {
        display: block;
    }
    /* #nav-toggle 切り替えアニメーション */
    .open #nav-toggle span:nth-child(1) {
        top: 16px;
        -webkit-transform: rotate(315deg);
        -moz-transform: rotate(315deg);
        transform: rotate(315deg);
    }
    .open #nav-toggle span:nth-child(2) {
        width: 0;
        left: 50%;
    }
    .open #nav-toggle span:nth-child(3) {
        top: 16px;
        -webkit-transform: rotate(-315deg);
        -moz-transform: rotate(-315deg);
        transform: rotate(-315deg);
    }
    /* #global-nav スライドアニメーション */
    .open #global-nav {
        /* #global-nav top + #mobile-head height */
        -moz-transform: translateY(556px);
        -webkit-transform: translateY(556px);
        transform: translateY(556px);
    }
}

.mainimage{
	background:url(../images/mainimage.jpg) no-repeat center top;
	width:100%;
	text-align:center;
	
	margin: 0 auto;
    max-width: 980px;
    position: relative;
}
.mainimage h2{
	color:#fff;
	font-size:30px;
	padding-top:300px;
}
img{
	max-width:100%;
}
.wrapper {
    width: 96%;
    margin: 0 2%;
}
.bg_gray{
	background-color:#e2e1e1;
	background: linear-gradient(90deg, #f2f2f2, #d1d1d1);
}
.bg_gray2{
	background:#f0eff0;
}
.bg_pink{
	background:#f8f0f2;
}

section{
	padding:10% 0;
}
.subttl{
	font-size:24px;
	font-weight:bold;
	text-align:center;
}
.base h3{
	font-size:40px;
	font-weight:bold;
	text-align:center;
}
.txt{
	font-size:20px;
	padding-right:10%;
	padding-left:10%;
}
.btn3,.btn2{
	display:table;
	text-align:center;
	width:100%;
	margin-top:30px;
}
.btn2{
	width:65%;
	margin-right:auto;
	margin-left:auto;
}
.btn2.wide{
	width:90%;
}
.btn3 li,.btn2 li{
	display:table-cell;
	padding:0 1%;
	box-sizing:border-box;
	width:33.33%;
	float:none;
	vertical-align:middle;
}

.img_r{
	float:right;
	max-width:35%;
	margin-left:10px;
}
.img_l{
	float:left;
	max-width:45%;
	margin-right:10px;
}

section h5 {
	overflow: hidden;
	text-align: center;
}
section h5 span {
	position: relative;
	display: inline-block;
	margin: 0 2.5em;
	padding: 0 1em;
	text-align: left;
	font-size:36px;
}
section h5 span::before,
section h5 span::after {
	position: absolute;
	top: 50%;
	content: '';
	width: 400%;
	height: 1px;
	background-color: #821c1f;
}
section h5 span::before {
	right: 100%;
}
section h5 span::after {
	left: 100%;
}
.price{
	padding:10px;
	border:2px solid #d1d1d1;
	text-align:center;
	font-size:38px;
	margin:0 auto;
	width:50%;
}
#news{
	width:90%;
	margin:auto;
}
#news::after {
    content: " ";
    display: table;
}
#news dt {
    clear: left;
    float: left;
    padding: 10px 0;
    width: 18%;
	display: list-item;
	list-style: disc outside;
	margin-left:30px;
	color: #821c1f;
}
#news dt span{
	color:#000;
}

#news dd {
    margin: 0 0 0 20%;
    padding: 10px 0 10px 30px;
}

ul.fot_nav {
    display: table;
    width:90%;
	border-right:1px solid #d1d1d1;
	border-top:1px solid #d1d1d1;
	margin:5%;
}
ul.fot_nav li {
	border-left:1px solid #d1d1d1;
	border-bottom:1px solid #d1d1d1;
	box-sizing:border-box;
}
ul.fot_nav li a{
	padding:15px 20px 15px 20px;
	color:#000;
	background:url(../images/icon_arrow.jpg) no-repeat right center;
	display:block;
	box-sizing:border-box;
	margin-right:10px;
}
ul.fot_nav > li:nth-child(2n+1) {
    clear: both;
}
ul.fot_nav > li {
    display: table-cell;
    float: left;
    width: 50%;
}
footer li{
	float:left;
	padding-right:5px;
}
address{
	text-align: center;
	font-size:11px;
	padding-bottom:10px;
}

@media screen and (max-width: 480px) {
.sp{
	display:none !important;
}
.mainimage {
	background-size:180% auto;
	background-color:#787878;
}
.pt50.pb50{
	padding-top:30px;
	padding-bottom:30px;
}
.pt50{
	padding-top:30px;
}
.btn2{
	width:90%;
}
.txt{
	padding-right:2%;
	padding-left:2%;
}
.price{
	padding:5px;
	width:80%;
}
#news dt {
    clear: both;
    float: none;
    width: 100%;
	margin-left:0px;
}

#news dd {
    margin: 0;
    padding: 0 0 10px 0;
}
ul.fot_nav > li {
    width: 100%;
}
.base h3 {
    font-size: 30px;
}


section h5 span {
	margin: 0;
	padding: 0;
	text-align: center;
	font-size:30px;
}
section h5 span::before,
section h5 span::after {
	display:none;
}
}

/* 下層ページ */

.size_s{
	height:100px;
	background:url(../images/mainimage_s.jpg) no-repeat top center;
	max-width:980px;
	margin:0 auto;
	position:relative;
}
.link_l a{
	font-size:22px;
	color:#821c1f;
	text-decoration:underline;
}
.btn2.link_l {
    width: 90%;
}
.tbl01{
	width:95%;
}
.tbl01 th{
	text-align:left;
	width:35%;
	padding:10px;
	box-sizing:border-box;
}
.w100{
	width:100%;
}
.w50{
	width:45%;
	margin-right:1%;
}
.tbl01 input{
	padding:3px 1%;
}
.line_t{
	border-top:1px solid #d1d1d1;
	padding-top:30px;
	margin-top:30px;
}
.ttl_f:first-letter {
font-size: 30px;
color:#821c1f;
}
.ttl_f{
	font-size:22px;
border-bottom: dotted 1px gray;
padding:0 0 5px 10px;
}
.ans{
	margin:15px;
}
.ans th{
	vertical-align:top;
	padding-right:10px;
	font-size:18px;
}



dl.tbl4,
dt,
dd {
  box-sizing: border-box;
}
dl.tbl4 {
  background: #eee;
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  border-left: 1px solid #ccc;
  margin:15px 15px 0 15px;
}
dl.tbl4 dt,
dl.tbl4 dd {
  padding: 10px 10px 0 10px;
  border-top: 1px solid #ccc;
}
dl.tbl4 dt {
  width: 50%;
  float: left;
  text-align:center;
}
dl.tbl4 dd {
  background: #fff;
  margin-left: 50%;
  padding-bottom: 10px;
  border-left: 1px solid #ccc;
  text-align:right;
}
.line0{
	line-height:0;
}
.num li{
	list-style-type:decimal;
	font-size: 20px;
	margin:20px 10%;
}

.hantei {
	position: relative;
	text-align: center;
}
.hantei span {
	position: relative;
	z-index: 2;
	display: inline-block;
	margin: 0 ;
	padding: 0 1em;
	background-color: #fff;
	text-align: left;
}
.hantei::before {
	position: absolute;
	top: 50%;
	z-index: 1;
	content: '';
	display: block;
	width: 100%;
	height: 1px;
	background-color: #85011f;
}