@charset "UTF-8";
/* CSS Document */
@media only screen and (min-width: 768px) {
  header {
    max-width: 270px;
    position: fixed;
    height: 100%;
    z-index: 9999;
    padding: 47px 22px 140px 22px;
    background-color: rgba(0, 0, 0, 0.9); }
  header .head-nav li {
    margin-bottom: 7.5vh; }
  .head-tel {
    color: #fff;
    width: 100%;
    position: absolute;
    bottom: 0;
    border: 1px solid #fff;
    margin-bottom: -110px;
    padding: 13px 12px 5px 12px; }
  .head-tel p:first-child {
    text-align: center; }
  .head-tel a {
    color: #fff;
    font-size: 2rem; }
  .head-tel a img {
    width: auto;
    max-width: 100%;
    margin-right: 10px;
    vertical-align: baseline; }
  .pc-head-wrapper {
    height: 100%; }
  .logo {
    margin-bottom: 9.5vh; }
  .content-wrapper {
    padding-top: 2%; }
  footer {
    padding-top: 10%;
    padding-left: 246px; }
  section {
    padding-left: 246px; }
  .footer-tel a {
    margin-left: 17px; }
  .sp_br{
    display: none;
  }}

@media only screen and (max-width: 1300px) {
  .top-sec03 .sec03-top-box .btn02 {
    text-align: right; }
  .top-sec03 .sec03-top-box h3 {
    left: -65%; }
  .top-sec03 .sec03-top-box:nth-child(2) h3 {
    right: -65%; }
  footer:before {
    width: 112%; }
  .top-sec03 .sec03-top-box .sec03-txt_inner p {
    font-size: 1.4rem; }
  section h2.sec-side-tit {
    left: 0;
	  display: none;
	}
	
  .top-sec02 h2.sec-side-tit {
    right: 0;
	  display: none;
	
	} 
}

@media only screen and (max-width: 1120px) {
  .top-sec03 .sec03-top-box:nth-child(1) .sec03-top-photo:before {
    display: none; } }

@media only screen and (max-width: 1050px) {
  .pc-head-wrapper h1 {
    display: inline-block;
    background: url(../img/top/header-logo@2x.png) no-repeat center/contain;
    max-width: 300px;
    height: 98px;
    vertical-align: bottom;
    margin: -10px 0 0; }
  body {
    height: auto; }
  footer {
    background: url(../img/common/footer-bg02.jpg) no-repeat 160px top;
    background-size: cover; } }


@media only screen and (max-width: 900px) {
.top-year-wrap {
    position: absolute;
    top: 58vw;
    right: 0;
    background: url(../img/top/red-ci.png) no-repeat left 61px center /110%;
    padding: 11% 2% 11% 16%;
}

.top-year-head {
    color: #fff;
    font-size: 2.2rem;
    line-height: 1.4;
    border-bottom: 1px solid #fff;
    font-family: "ten-mincho", serif;
    -webkit-font-feature-settings: "ss02";
    font-feature-settings: "ss02";
    padding: 0 0 10px;
}	
	
}


@media only screen and (max-width: 1100px) {
  header {
    max-width: 270px;
    position: fixed;
    height: 100%;
    z-index: 9999;
    padding: 47px 22px 140px 22px;
    background-color: inherit;
	}	
	
  footer {
    padding-top: 10%;
    padding-left: 0; }
  section {
    padding-left: 0; }	

  .footer-contact .r-box01 {
    font-size: 3rem;
    color: #694e3d;
    letter-spacing: 0;
    font-style: italic;
    font-weight: normal; } }

@media only screen and (max-width: 1100px) {
  .red-border {
    font-size: 2rem; }
  .red-border:after {
    top: -207px;
    right: -343px; }
  body {
    min-width: inherit;
    margin-top: 64px; }
  .pc-head {
    display: none; }
  .pc-main-nav {
    display: none; }
  .for-sp {
    display: block !important; }
  .for-pc {
    display: none !important; }
  /* ===== header ===== */
  header .head-nav.for-pc li {
    margin-bottom: 3.5vh; }
  header .utility-sp {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
    background: #e6e6e6 url("../img/top/com-bg@2x.jpg") repeat center center/140%;
    width: 100%;
    height: 64px;
    padding: 0; }
  #header {
    display: block;
    background-size: cover;
    background-position: left top;
    content: "";
    width: 100%;
    height: inherit; }
  .sub-header {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
    background-color: #fff;
    width: 100%; }
  .header-sp-logo {
    padding: 15px;
    -webkit-transform: translateY(9%);
    -ms-transform: translateY(9%);
    transform: translateY(9%);
    width: 202px; }
  .header-sp-logo img {
    width: 100%; }
  .utility-sp {
    position: relative;
    width: 100%; }
  .btn-tel,
  .btn-menu {
    position: absolute;
    display: inline-block;
    top: 0;
    right: 0; }
  .btn-tel {
    right: 64px; }
  .btn-tel a {
    display: block;
    color: #fff;
    font-size: 1.2rem;
    font-weight: bold;
    text-align: center;
    background: #000 url(../img/common/icon_tel_sp.png) no-repeat center top 5px;
    background-size: 34px 34px;
    width: 64px;
    height: 64px;
    padding-top: 41px; }
  /* ===== main visual ===== */
  /* ===== global nav ===== */
  #g-nav-sp {
    position: absolute;
    top: 64px;
    left: 0;
    display: none;
    background-color: #e60012;
    width: 100%;
    height: 100vh;
    padding: 3%; }
  .g-nav-sp-in {
    height: 80vh;
    overflow-y: auto; }
  .dropmenu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding-bottom: 5%; }
  #g-nav-sp li {
    background-color: #fff;
    width: 100%;
    margin-bottom: 8px; }
  .dropmenu li ul li {
    margin-bottom: 0 !important; }
  .dropmenu li ul {
    display: none; }
  #g-nav-sp li.harf {
    width: 49%; }
  #g-nav-sp li.harf a, li.g-nav-icon a {
    background-size: 24px 24px;
    padding-top: 20px;
    padding-bottom: 20px; }
  #g-nav-sp li, .dropmenu > li > a {
    display: block;
    font-size: 1.5rem;
    font-weight: bold;
    padding: 2%;
    color: #6d4f3f; }
  #g-nav-sp li, .dropmenu > li > a::before {
    content: "";
    display: inline-block; }
  .dropmenu li ul li a {
    border-top: 1px solid #ccc;
    padding: 15px 0 15px 52px !important; }
  /* ハンバーガーメニュー */
  .menu-trigger, .menu-trigger span {
    display: inline-block;
    -webkit-transition: all .4s;
    -o-transition: all .4s;
    transition: all .4s;
    -webkit-box-sizing: border-box;
    box-sizing: border-box; }
  .menu-trigger {
    position: relative;
    width: 64px;
    height: 64px;
    background-color: #e60012;
    padding: 0 15px; }
  .menu-trigger span {
    position: absolute;
    height: 2px;
    background-color: #fff;
    left: 15px;
    width: 34px; }
  .menu-trigger span:nth-of-type(1) {
    top: 17px; }
  .menu-trigger span:nth-of-type(2) {
    top: 31px; }
  .menu-trigger span:nth-of-type(3) {
    bottom: 17px; }
  .active .menu-trigger span:nth-of-type(1) {
    -webkit-transform: translateY(14px) rotate(-45deg);
    -ms-transform: translateY(14px) rotate(-45deg);
    transform: translateY(14px) rotate(-45deg); }
  .active .menu-trigger span:nth-of-type(2) {
    opacity: 0; }
  .active .menu-trigger span:nth-of-type(3) {
    -webkit-transform: translateY(-14px) rotate(45deg);
    -ms-transform: translateY(-14px) rotate(45deg);
    transform: translateY(-14px) rotate(45deg); }
  .sub-title {
    margin: 60px 0 0; }
  /* ====================================
footer
====================================== */
  .footer-navi .inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0 auto 10px; }
  .footer-navi::after {
    content: "";
    display: block;
    width: 50%; }
  .footer-navi li {
    width: 50%;
    text-align: center;
    border: solid 1px #e60012; }
  .footer-navi a {
    display: block;
    background: #fff;
    color: #e60012;
    padding: 15px 0; }
  .footer-navi a::after {
    display: none; }
  .footer-second .l-box {
    width: 100%;
    padding: 0 0 10%; }
  .footer-second .r-box {
    width: 100%; }
  .copy-right {
    text-align: center;
    padding: 6% 0 2%;
    font-size: 10px; }
  .footer-second .f-r-txt {
    background: #fff;
    position: relative;
    padding: 6% 6%;
    line-height: 2.2;
    margin: 0 0 8%; }
  .footer-second .r-box dl dt {
    width: 100%;
    text-align: center;
    padding: 0 0 5%; }
  .footer-second .r-box dl dt img {
    max-width: 121px; }
  .footer-second .r-box dl dd {
    width: 100%;
    word-break: break-all; }
  .footer-nav li:first-child a::before {
    content: "";
    display: none; }
  .footer-inner .inner .l-box {
    width: 100%;
    padding: 4% 0 0; }
  .footer-contact .l-box-01 p {
    font-size: 1.4rem;
    color: #694e3d;
    border: solid 1px #694e3d;
    text-align: center;
    padding: 2%;
    margin-right: 0; }
  .footer-contact {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
  .footer-contact .l-box-01 {
    width: 100%; }
  .footer-contact .r-box01 {
    font-size: 3.8rem;
    color: #694e3d;
    letter-spacing: 0;
    font-style: italic;
    font-weight: normal;
    text-align: center;
    width: 100%; }
  .footer-inner .inner .r-box {
    width: 100%; }
  .footer-access-list {
    padding: 0 0 5%; }
  footer:before {
    left: 0;
    right: 0;
    top: 0;
    width: 100%;
    height: 600px; }
  .footer-tel a {
    color: #fff;
    display: block;
    margin-top: 20px;
    background: #9a812a;
    font-weight: bold;
    border: none; }
  section h2.sec-side-tit {
    position: absolute;
    left: 0;
    top: -221px;
    width: 10%; }
  section h3.sec-tit {
    font-size: 2.3rem; }
	
.sken-zen{
	text-align: center;
	margin: 0 0 5rem;
	background: #e60012;
	padding: 2rem 0;
}

.sken-zen dt,.sken-zen dd{
	text-align: center;
	font-family: "ten-mincho", serif;
	-webkit-font-feature-settings: "ss02";
	font-feature-settings: "ss02";
	font-size: 2.2rem;
	color: #fff;
}

.ze02-fa{
	padding: 0 0 2rem;
}	
	
	
  .top-sec01 {
    padding-bottom: 45%; }
  .top-sec01:after {
    width: 201px;
    height: 127px;
    background-size: 100%; }
  .top-sec01:before {
    left: -72px;
    bottom: -141px; }
  .top-sec01 .inner740 {
    margin: 0; }
  .top-sec01 li a {
    font-size: 1.6rem; }
  .top-sec01 li {
    margin-bottom: 25px; }
  .top-sec02 .inner640 {
    margin: 0 auto 30px auto;
    font-size: 1.6rem; }
  .top-sec02 .inner {
    background-size: 90%; }
  .top-sec03 .sec03-top-box .sec03-top-photo {
    width: 100%; }
  .top-sec03 .sec03-top-box .sec03-txt_inner,
  .top-sec03 .sec03-top-box:nth-child(2) .sec03-txt_inner {
    position: initial;
    width: 100%;
    font-size: 16px;
    padding: 20px 25px; }
  .top-sec03 .sec03-top-box:nth-child(2) .btn02,
  .top-sec03 .sec03-top-box .btn02 {
    text-align: center; }
  .top-sec03 .sec03-top-box h3,
  .top-sec03 .sec03-top-box:nth-child(2) h3 {
    position: relative;
    right: auto;
    left: auto;
    top: auto;
    width: auto; }
  .sec03-top-box h3,
  section h2.sec-side-tit,
  .top-sec02 h2.sec-side-tit {
    display: none; }
  footer {
    background: #e60012; }
  .pagetop {
    width: 64px; }
  /*------------------------
            flow
    -------------------------*/
  .flow-step {
    padding: 13% 10px; }
  .flow-step li dl dt {
    font-size: 1.4rem;
    margin-bottom: 25px;
    padding: 15px 0; }
  .flow-step li {
    margin-bottom: 4rem; }
  .flow-step .flow-arrow {
    width: 50%;
    margin: auto; }
  .flow-sec02 .flex {
    display: block; }
  .flow-sec02 .l-box, .flow-sec02 .r-box {
    width: 100%; }
  .flow-sec02 dt {
    margin-bottom: 3rem; }
  .flow-sec02 dd {
    margin-bottom: 2.25rem; }
  .flow-sec02 .red-border:after {
    top: -175px; }
  .flow-sec02 {
    background: url(../img/flow/flow-sec02-bg.png) no-repeat -137px top #fff; }
  /*--------------------------
            annai
    ---------------------------*/
  .annai-sec02 p, .annai-sec03 p, .annai-sec04 p, .annai-sec05 p {
    font-size: 16px;
    font-family: "Source Han Serif JP", serif; }
  .annai-bg {
    background: none; }
  .annai-bg:after {
    display: none; }
  .annai-sec02 .red-border:after {
    top: -234px; }
  .annai-sec02 .l-box {
    width: 100%;
    margin-right: 0;
    text-align: center; }
  .annai-sec02 .r-box {
    width: 100%; }
.annai-sec02 dt {
	width:60%;
    margin: 2rem 0;
	font-size:18px;
}
.annai-sec02 dd {
	padding-left:5%;
    margin-bottom: 1.5rem;
	font-size:16px;
}	
  .annai-sec04 p {
    margin-left: 0rem;
    padding-right: 2rem; }
  .annai-sec04 p:after {
    display: none; }
  .annai-sec04 p:before {
    margin: auto;
    display: block;
    content: '';
    width: 86px;
    height: 182px;
    background: url(../img/annai/annai-sec04-icon.png) no-repeat center center;
    background-size: contain;
    vertical-align: middle;
    margin: 0 auto 30px auto; }
  .annai-sec06 th, .annai-sec06 td {
    font-size: 1.6rem;
    padding: 10px 0; }
  .annai-sec01-box {
    padding: 10px; }
  .annai-sec01-inner {
    padding: 15px;
    font-size: 1.6rem; }
  .annai-sec03 p {
    margin: 0; }
  .annai-sec03 p:before {
    display: block;
    margin: 0 auto 30px auto; }
  .annai-bg .annai-sec05:before {
    width: 204px;
    height: 1309px;
    background-size: contain;
    opacity: 0.3; }
.annai-sec05 .shinsa dt {
	width:60%;
    margin: 2rem 0;
	font-size:18px;
}
.annai-sec05 .shinsa dd {
	padding-left:5%;
    margin-bottom: 1.5rem;
	font-size:16px;
}
.annai-sec05 .kaikyu dt {
	width:60%;
    margin:0;
	font-size:18px;
}
.annai-sec05 .kaikyu dd {
	padding-left:5%;
    margin-bottom: 1.5rem;
	font-size:16px;
}		
  /*-------------------------------
            about
    -------------------------------*/
  .about-sec01-box p,
  .about-sec02 ul li,
  .about-sec03 ul li {
    font-size: 1.6rem; }
  .about-sec03 ul li {
    margin-top: 80px;
    margin-bottom: 11%;
    padding-left: 79px; }
  .about-sec02 ul li:nth-of-type(1):before, .about-sec02 ul li:nth-of-type(2):before, .about-sec02 ul li:nth-of-type(3):before, .about-sec02 ul li:nth-of-type(4):before {
    left: -76px;
    width: 80px;
    height: 80px;
    margin: -49px auto 0 auto; }
  .about-sec02 ul li {
    margin-top: 97px; }
  .about-sec03 ul li:nth-of-type(1):before, .about-sec03 ul li:nth-of-type(2):before, .about-sec03 ul li:nth-of-type(3):before, .about-sec03 ul li:nth-of-type(4):before, .about-sec03 ul li:nth-of-type(5):before {
    width: 90px;
    height: 91px;
    left: 0;
    margin: -48px auto 0 auto;
    display: block; }
  .about-sec02 .red-border:after {
    top: -198px; }
  .about-sec03:after {
    width: 124px;
    height: 244px;
    bottom: -163px; }
  .about-sec04-bg th {
    width: 33%; }
  .about-sec04-bg th, .about-sec04-bg td {
    font-size: 1.4rem;
    padding: 15px 15px; }
  .about-sec04-bg td span.name {
    display: block;
    width: 100%;
    padding-right: 0; }
  .about-sec04-bg td .td-name-inner {
    margin-bottom: 15px; } 

/*お問い合わせ
*************************************/
.contact-form-area table th {
    font-size: 1.5rem;
    font-weight: bold;
    color: #4c432c;
    position: relative;
    width: 100%;
	display: block;
    padding: 4% 0;
    vertical-align: top;
}

.contact-form-area table td {
    padding: 4% 0 4%;
    vertical-align: top;
    width: 100%;
	display: block;
}
	
input[type="text"], textarea, input[type="tel"], input[type="email"], select {
    padding: 10px;
    font-size: 1.4rem;
    outline: none;
    border: 1px solid #e3e3e3;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    word-break: break-all;
    width: 100%;
}	
	
.contact-form-area table .co-required {
    color: #fff;
    font-weight: bold;
    font-size: 1.4rem;
    background: #ff0000;
    border-radius: 3px;
    padding: 0.5% 2%;
	display: inline-block;
    margin: 0 0 0 4%;
    position: absolute;
    right: 0;
}
	
.mwform-tel-field input[type="text"]{
	width: 80px!important;
	}
	
	
/*ニュース
*************************************/
.news-list-top h3 {
    width: 80%;
    padding-left: 7%;
    box-sizing: border-box;
    background: url(../img/news/blog-list-style.png) no-repeat left center;
}	
	
.news-list-top h3 a {
    color: #4c432c;
    font-size: 1.5rem;
    font-weight: bold;
}	
	
.news-list-top p {
    width: 100%;
    text-align: right;
}	
}
