@charset "utf-8";
/* CSS Document */

/*@import url('https://fonts.googleapis.com/css2?familyM+PLUS+1p:wght@100;300;400;500;700;800;900&display=swap&subset=japanese');*/
@import url('https://fonts.googleapis.com/css2?family=M+PLUS+1p:wght@100;300;400;500;700;800;900&display=swap');
@import url('https://fonts.googleapis.com/css?family=Kosugi+Maru&display=swap&subset=japanese');

/* 使用箇所不明 */

.tm-white a {
	color: #fff;
}

.overlay {
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.4);
	padding-top: 90px;
	padding-bottom: 90px;
}

/* 以下トップ-各ページ共通 */

body {
	background-image: url("../images/bg.jpg");
	font-family: 'M PLUS 1p', sans-serif;
	font-weight: 400;
	position: relative;
	width: 100%;
	height: 100%;
	overflow-x: hidden;
}

h1,h2,h3,h4 {
        font-weight: 400;
		color: #592f2a;
		font-family: 'Kosugi Maru', sans-serif;
}

p { line-height: 1.6em; }

/* PC-SP表示切替 */
@media (min-width: 768px) {
.hidden_pc {
	display: none;
}
}
@media (max-width: 767px) {
.hidden_sp {
	display: none;
}
}

/*　ヘッダー */

header {
padding: 10px;
background-color: #fff;
background-image: url("../images/bg.jpg");
box-shadow: 0px 2px 8px 0px rgba(50, 50, 50, 0.08);
margin: 0;
z-index: 999;
}

header #navi li a {
	transition: 0.2s ease-in-out;
}

/* start preloader */
.preloader
    {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: 99999;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-flow: row nowrap;
            -ms-flex-flow: row nowrap;
                flex-flow: row nowrap;
        /*justify-content: center;*/
        -webkit-align-items: center;
            -ms-flex-align: center;
                align-items: center;
        background: none repeat scroll 0 0 #fff;
    }
.sk-spinner-rotating-plane.sk-spinner 
    {
         width: 30px;
        height: 30px;
        background-color: #28a7e9;
         margin: 0 auto;
        -webkit-animation: sk-rotatePlane 1.2s infinite ease-in-out;
                animation: sk-rotatePlane 1.2s infinite ease-in-out;
     }

@-webkit-keyframes sk-rotatePlane {
  0% {
         -webkit-transform: perspective(120px) rotateX(0deg) rotateY(0deg);
                 transform: perspective(120px) rotateX(0deg) rotateY(0deg); }

  50% {
        -webkit-transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg);
                transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg); }

  100% {
            -webkit-transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
                    transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg); } }

@keyframes sk-rotatePlane {
  0% {
         -webkit-transform: perspective(120px) rotateX(0deg) rotateY(0deg);
                 transform: perspective(120px) rotateX(0deg) rotateY(0deg); }

  50% {
        -webkit-transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg);
                transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg); }

  100% {
            -webkit-transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
                    transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg); } }
/* end preloader */

/* img */
img {
	max-width: 100%;
	height: auto;
}

a:hover img {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha(opacity=70)";
  -webkit-animation: scale .6s ease-in-out;
  animation: scale .6s ease-in-out;
}

/*　罫線　*/
hr.line{
	display: block;
	border: 0;
	width: 100%;
	height: 15px;
	background: url(../images/hr.png) no-repeat top center;
	-webkit-background-size: 1140px 15px;	
}

/*　ボタン　*/
.btn {
	width:240px;
	margin: 0 auto;
}

.btn a {
	display: block;
	background-image: url(../images/btn-bg.jpg);
	border: none;
	border-radius: 20px;
	padding: 15px 24px;
	color: #fff;
	text-decoration: none;
	text-align: center;
	font-size:14px;
	font-family: 'Kosugi Maru', sans-serif;
} 

.btn a:hover {
	-webkit-animation: scale .6s ease-in-out;
	animation: scale .6s ease-in-out;
}
@-webkit-keyframes scale {
  50% { -webkit-transform: scale(1.1); }
}
@keyframes scale {
  50% { transform: scale(1.1); }
}

.btn a:active{
	background-image: url(../images/btn-bg.jpg);
	border: none;
}


/* セクションデザイン */

.sec-type01 {
position: relative;
background-color:rgba(226,237,186,0.4);
}

.sec-type01:before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	background-image: url(../images/bg-line4.png);
	background-repeat:repeat-x;
	background-position: bottom center;
	background-size:contain;
	top:-184px;
	left:0;
	right:0;
}

.sec-type05 {
position: relative;
background-color:rgba(226,237,186,0.4);
}

.sec-type05:before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	background-image: url(../images/bg-line-ex.png);
	background-repeat:repeat-x;
	background-position: bottom center;
	background-size:contain;
	top:-184px;
	left:0;
	right:0;
}

h2.mark {
  background-image: url(../images/icon-normal.png);
  background-size: 105px 71px; /* 画像サイズ */
  background-repeat: no-repeat; /* 繰り返し表示オフ */
  padding: 19px 0px 19px 120px; /* 画像と重ならないように文字列を右に移動 */
  font-size: 32px;
  font-family: 'M PLUS 1p', sans-serif;
}

h2.mark02 {
  background-image: url(../images/icon-normal02.png);
  background-size: 105px 71px; /* 画像サイズ */
  background-repeat: no-repeat; /* 繰り返し表示オフ */
  padding: 19px 0px 19px 120px; /* 画像と重ならないように文字列を右に移動 */
  font-size: 32px;
  font-family: 'M PLUS 1p', sans-serif;
}

/* ページトップ */

#page_top{
  font-family: 'Kosugi Maru', sans-serif;
  width: 70px;
  height: 70px;
  position: fixed;
  right: 20px;
  bottom: 20px;
  background: #592f2a;
  opacity: 0.6;
  border-radius: 50%;
}
#page_top a{
  position: relative;
  display: block;
  width: 70px;
  height: 70px;
  text-decoration: none;
  color:#FFF;
  text-align: center;
  padding:25px 0 0 0;
  letter-spacing: 0.2em;
}


/* フッター */

footer{
	color: #592f2a;
}

.foot-top{
	position: relative;	
	height: 8px;
}

.foot-top1{
	background-image: url(../images/footer-line.png);
	background-repeat:repeat-x;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 8px;
	margin: 0 auto;
}

footer .foot-main ul {
    list-style: none;
    padding: 0;
	margin: 0;
    line-height:20px;
}

footer .foot-main a {
    text-decoration: none;
    color: #592f2a;
}

footer .foot-main a:hover {
    color: #f08a14;
	transition: all 0.3s ease 0s;
}

footer .tel {
	font-size: 28px;
	font-weight: 900;
}

footer .tel span{
	padding: 0 5px 0 0;
}

footer .t-info{
	font-size: 14px;
	font-weight: 400;
	margin-bottom: 0;
}

footer img{
	margin-bottom: 15px;
}

.footer2 {
	background-image: url(../images/bg-copyright.png);
	background-position: top center;
	margin: 0;
    text-align: center;
	padding:15px 0;
 }

.footer2-wrap{
	width: 100%;
	font-size:12px;
	font-weight: 400;	
}

.footer2-wrap p{
	padding-top: 8px;
}


.foot-wrap2 .btn {
	margin-bottom: 15px;
}

.mail img{
	text-align : left !important;
}





/* フォーム */

.f-row {
	margin-bottom: 2em;
}

.f-title {
	padding:10px 0 15px;
}

.f-title span {
	display: inline-block;
	color:#FFF;
	background-color: #ec9994;
	font-size: 12px;
	padding:2px 4px;
	border-radius: 3px;
}

.f-item label {
	display: block;
	padding:12px 0;
}

.f-check{
  display: none;
}
.check{
  padding-left: 35px;
  position:relative;
  margin-right: 35px;
}
.check::before{
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 25px;
  height: 25px;
  border: 1px solid #6fbd66;
  background-color: #FFF;
}

.f-check:checked + .check{
  color: #6fbd66;
}

.f-check:checked + .check::after{
  content: "";
  display: block;
  position: absolute;
  top: -5px;
  left: 5px;
  width: 14px;
  height: 28px;
  transform: rotate(40deg);
  border-bottom: 3px solid #077b8e;
  border-right: 3px solid #077b8e;
}

.f-text{
    width: 100%;
    padding: 10px 15px;
    font-size: 16px;
    border: 1px solid #6fbd66;
}

.f-text:focus {
	outline: none;
}

/*　ボタン　*/
button.btn {
	width:240px;
	margin: 0 auto;
}

button.btn {
	display: block;
	background-image: url(../images/btn-bg.jpg);
	border: none;
	border-radius: 20px;
	padding: 10px 24px;
	color: #fff;
	text-decoration: none;
	text-align: center;
	font-size:14px;
	font-family: 'Kosugi Maru', sans-serif;
} 

button.btn:hover {
	-webkit-animation: scale .6s ease-in-out;
	animation: scale .6s ease-in-out;
}

button.btn:focus {
	outline: none;
}

@-webkit-keyframes scale {
  50% { -webkit-transform: scale(1.1); }
}
@keyframes scale {
  50% { transform: scale(1.1); }
}

button.btn:active{
	background-image: url(../images/btn-bg.jpg);
	border: none;
}

/* フォーム、桑原追加分　231013 */

/*チェックボックス装飾 */

label.checkbox_text {
	cursor       : pointer;
	padding-left : 30px;
	position     : relative;
	display      : block;
	box-sizing   : border-box;
	vertical-align:top;
	margin-top: 15px;
}

label.checkbox_text:before {
	content  : '';
	position : absolute;
	width    : 25px;
	height   : 25px;
	left     : 0px;
	top      : 0;
	border   : 1px solid #6fbd66;
	z-index  : 3;
}

label.checkbox_text:after {
	content           : '';
	position          : absolute;
	top               : 32%;
	left              : 6px;
	display           : block;
	margin-top        : -8px;
	width             : 12px;
	height            : 16px;
	border-right      : 3px solid #077b8e;
	border-bottom     : 3px solid #077b8e;
	transform         : rotate(45deg);
	-webkit-transform : rotate(45deg);
	-moz-transform    : rotate(45deg);
	z-index           : 1;
}

label.checkbox_text span {
	vertical-align:top;
	line-height: 1.5;
	margin-left: 5px;
}

label.checkbox_text input[type="checkbox"] {
	-moz-appearance: none;
	-webkit-appearance: none;
	position   : absolute;
	left       : -40px;
	width      : 25px;
	height     : 25px;
	display    : block;
	box-shadow : 41px 0px #FFF;
	z-index    : 2;
	margin     : 0px;
	padding    : 0px;
}

label.checkbox_text input[type="checkbox"]:checked {
	box-shadow : none;
}

label.checkbox_text input[type="checkbox"]:checked:focus {
	box-shadow : 40px 0px #666;
	opacity    : 0;
}

label.checkbox_text input[type="checkbox"]:focus {
	box-shadow : 41px 0px #fff;
}

@media screen and (max-width:768px) {
	
label.checkbox_text:before {
	width    : 20px;
	height   : 20px;
}
	
label.checkbox_text:after {
	width             : 8px;
	height            : 16px;
}
	
label.checkbox_text input[type="checkbox"] {
	width      : 20px;
	height     : 20px;
	display    : block;
	box-shadow : 41px 0px #FFF;
}
	
}




@media (min-width: 1000px) {

/* レイアウトコンテナ */

.container {
	width:1000px;
	margin:0 auto;
}

hr.line { margin: 100px auto !important;}


/* セクションデザイン */

.sec-type01:before,
.sec-type05:before {
	height:184px;
	top:-184px;
}

/* アクセス */

#map .bg-green{
	background-color:rgba(226,237,186,0.4); 
	position: relative;	
}

#map .bg-wrap{
	background-image: url(../images/bg-line3.png);
	background-repeat:repeat-x;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	margin: 0 auto;
}

#map p{
	font-size: 16px;
	font-weight: 400;
	margin-top: 15px;
}

/* フッター */

footer{
	margin-top: 100px;
}

.foot-top{
	margin-bottom: 50px;
}

.foot-main {
	width:1000px;
	margin: 0 auto;
}

.foot-main > ul {
	display: flex;
	justify-content: space-between;
	font-size: 0.9rem;
}

.foot-main > ul > li > a {
	display: block;
	font-weight: 500;
	margin-bottom: 10px;
}

.foot-main > ul > li > ul {
	margin-left: 10px;
}

.foot-sub-box {
	display: flex;
	justify-content: space-between;
}

.foot-wrap2-left {
	padding-top:50px;
	text-align: center;
}

}

@media (min-width:768px) {

/* ヘッダー */

header {
display: flex;
flex-flow: row wrap;
position: fixed;
width:100%;
top:0;
left:0;
}

header .logo {
margin: 0 auto 0 0;
}

header .logo a:hover { opacity: .7; }

header #navi {
justify-content: flex-end;
display: flex;
flex-flow: row wrap;
align-items: center;
margin: 0;
}

header #navi li {
margin:0;
line-height: 100%;
}

header #navi li:last-child {
  margin: 0 0 0 5px;
}

header #navi li a {
display: block;
text-decoration: none;
padding:15px;
color: #592f2a;
font-size: 14px;
}

header #navi li a:hover {
text-decoration: none;
color: #f08a14;
}
	

	
}

@media (max-width: 999px) {

/* ヘッダー */

header #navi li a {
padding:15px 10px 15px 9px;
}

/* レイアウトコンテナ */

.container {
	width:100%;
	padding:0 15px;
}

hr.line {margin: 50px auto !important;}

/* セクションデザイン */

.sec-type01:before,
.sec-type05:before {
	height:184px;
	top:-184px;
}


/* フッター */

footer{
	margin-top: 50px;
}

.foot-top{
	margin-bottom: 20px;
}
 
 .foot-main {
 	width:100%;
	padding: 0 15px;
 }
 
.foot-main > ul {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	padding:0 15px;
	margin-bottom: 30px;
}

.foot-main > ul > li {
	flex-basis: 30%;
}

.foot-main > ul > li > a {
	display: block;
	font-weight: 500;
	margin-bottom: 10px;
}

.foot-main > ul > li > ul {
	margin-left: 10px;
}

.foot-sub-box {
	display: flex;
	justify-content: space-between;
}

.foot-wrap2-left {
	padding-top:50px;
	text-align: center;
	margin-bottom: 20px;
}

.foot-wrap2-right {
	text-align: center;
}


}



@media (max-width: 768px) {

/* ヘッダー */

header {
  padding: 7px 0 3px 10px;
  width: 100%;
  height: 60px;
  z-index: 9999999;
  top: 0;
  left: 0;
  position: fixed;
}

header .logo {
  height: auto;
  float: left;
}

header .logo img { width: 100%; }

header #navi li {
font-size: 18px;
margin: 0;
border-bottom: 1px solid #ccc;
}

header #navi li:last-child { margin-top: 5px!important; }

header #navi li a {
  font-weight: 500;
  color: #592f2a;
  display: block;
  text-decoration: none;
  padding:15px 20px;
}

/* bager menu */

header #navi {
  transition: all .6s;
  overflow-y: auto;
  padding-top: 40px;
  width: 300px;
  height: 100vh;
  z-index: 200;
  top: 0;
  right: -320px;
  background-color: #fff;
  position: fixed;
}

header .nav_btn {
  width: 44px;
  height: 44px;
  z-index: 300;
  top: 7px;
  right: 7px;
  cursor: pointer;
  position: absolute;
}

.hamburger_line {
  transition: all .6s;
  width: 34px;
  height: 2px;
  left: 5px;
  background-color: #592f2a;
  position: absolute;
}

.hamburger_line1 { top: 10px; }
.hamburger_line2 { top: 21px; }
.hamburger_line3 { top: 32px; }

.nav_bg {
  opacity: 0;
  transition: all .6s;
  width: 100vw;
  height: 100vh;
  z-index: 100;
  top: 0;
  left: 0;
  visibility: hidden;
  background-color: #000;
  cursor: pointer;
  position: fixed;
}

/* 表示された時用のCSS */
.nav_open header #navi { right: 0; }

.nav_open .nav_bg {
  opacity: .8;
  visibility: visible;
}

.nav_open .hamburger_line1 {
  transform: rotate(45deg);
  top: 20px;
}

.nav_open .hamburger_line2 {
  width: 0;
  left: 50%;
}

.nav_open .hamburger_line3 {
  transform: rotate(-45deg);
  top: 20px;
}

/* フッター */

 .foot-main {
 	width:100%;
	padding: 0;
 }
 
 footer > .foot-main > ul {
 	margin-bottom: 30px;
 }

.foot-main > ul > li {
	display: block;
	flex-basis: 100%;
	text-align: center;
	border-bottom:1px solid #725d5a;
}

.foot-sub-box {
	display: block;
}

.foot-wrap2-left {
	padding-top:0;
}

	
	
/* コンテンツ */

h2.mark,
h2.mark02 {
  background-size: 50px;
  background-position: center left;
  padding: 10px 0 10px 60px;
  font-size: 24px;
}

}

