/*レイアウト*/
body { position: relative; overflow-x: hidden; }
.wrapper { width: 100% ; margin: 0; max-width: 100vw; position: relative; z-index: 2; }
.contents_wrap_l { width: 100%; padding: 0 60px; margin: 0 auto; }
.contents_wrap_m { width: 90%; max-width: 1300px; margin: 0 auto; }
.contents_wrap { width: 90%; max-width: 1100px; margin: 0 auto; }
.contents_wrap_s { width: 90%; max-width: 820px; margin: 0 auto; }



.base_contents { position: relative;  }
img { max-width: 100%; vertical-align: bottom; }
.contsL { float: left; }
.contsR { float: right; }
a:hover { opacity: .7; }

.bg-white { background: #FFF; }
.box-section { padding: 100px 0; }
.box-section-t { padding-top: 100px; }
.box-section-s-t { padding: 50px 0; }

@media screen and (max-width: 1200px) {
	.contents_wrap_l { padding: 0 5%; }
}
@media screen and (max-width: 900px) {
	.box-section { padding: 50px 0; }
	.box-section-t { padding-top: 50px; }
  .box-section-s-t { padding: 30px 0; }
}


.column,
.column2,
.column-max2,
.column3,
.column4,
.column5,
.column6  { display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; justify-content: space-between; }

.column-max2 > * { width: 45%; }
.column2 > * { width: 48%; }
.column3 > * { width: 32%; }

@media screen and (max-width: 900px) {
  .column-max2 > * { width: 100%; margin-bottom: 5rem; }
  .box-section { padding: 50px 0; }
  
  .main-column { width: 90%; margin: 0 auto 2rem; }
  .sub-column { width: 90%; margin: 0 auto; }

  
}
@media screen and (max-width: 600px) {

  .column_lr > *:nth-child(odd) { width: 100%; }
  .column_lr > *:nth-child(even) { width: 100%; margin-left: 0; margin-top: 1rem; }

  .column_lr2 > *:nth-child(odd) { width: 100%; }
  .column_lr2 > *:nth-child(even) { width: 100%; margin-left: 0; margin-top: 1rem; }
}


/*contents*/
/*ヘッダー*/
.header { text-align: right; padding: 1em 0; }
.header .head-logo { float: left; text-align: left; font-size: .7rem; padding-top: 25px;  }
.header .head-logo img { display: block; max-width: 300px;}
.header .head-tel { display: inline-block; font-size: 1.5rem; font-family: 'Josefin sans', sans-serif; }
.header .head-tel img { display: inline-block; vertical-align: middle; margin-right: .5em; }
.global-navi {  display: inline-block; font-size: .7rem; margin-left: 2em;  }
.global-navi > ul > li { display: inline-block; vertical-align: middle;  position: relative; display: inline-block; }
.global-navi > ul > li + li { margin-left: 2em; }
.global-navi img { display: block; margin: 0 auto; width: 3em; height: 3em; }

.btn_humberger { display: none; }
.head-buttons { position: absolute; top: 0; right: 0; margin: auto; display: flex; width: 372px; height: 100%;  }
.global-navi > ul > li a {  display: block; }

a.head-contact { display: block; width: 8rem; height: 8rem; background: #F8A200; border-radius: 4rem; padding-top: 2em; color: #FFF; text-align: center; line-height: 120%;  }
.global-navi > ul > li .head-contact{ padding-top: 2em; position: relative; z-index: 99; margin-bottom: -4em; }
.head-contact img { display: block; width: 2em; height: auto; margin: 0 auto .5em; }

.head-contact span { font-weight: bold; font-family: 'Josefin Sans'; font-size: 1.3rem; display: block; line-height: 120%; }

@media screen and (max-width: 1200px) {
  .header .head-logo { width: 25%; }
  .header .head-logo img { width: 100%; height: auto; }
}
@media screen and (max-width: 1000px) {
  .header { height: 4rem; padding: .5em; }
  .header .head-logo { width: 30%; white-space: nowrap;line-height: 110%;  }
  /*メニューボタン*/
	.btn_humberger { color: #333; font-family: 'Montserrat', sans-serif; font-weight: 300; position: fixed; width: 4rem; height: 4rem; font-size: .9rem; top: 0; right: 0; display: block; background: #FFF; padding: 2em 0 0; line-height:  100%;  border: 0;  z-index: 9999; }
  .btn_humberger:before,
  .btn_humberger:after { content:''; width: 2rem; height: 3px; background: #333; border-radius: 2px; position: absolute; top: 1.8em; left: 0; right: 0; margin: auto; }
  .btn_humberger:before { -ms-transform: translateY(-.5em); -webkit-transform: translateY(-.5em); transform: translateY(-.5em); box-shadow: 0 .5em #333; }
  .btn_humberger:after { -ms-transform: translateY(.5em); -webkit-transform: translateY(.5em); transform: translateY(.5em); }
  .btn_humberger.open:before { -ms-transform: rotate(45deg); -webkit-transform: rotate(45deg); transform: rotate(45deg); box-shadow: none; }
  .btn_humberger.open:after { -ms-transform: rotate(-45deg); -webkit-transform: rotate(-45deg); transform: rotate(-45deg);}
  
  .header .head-tel { position: absolute; top: 1em; right: 4.5rem; margin: auto; font-size: 1.2rem; }
  /*グローバルナビ*/
  .global-navi { display: none; position: fixed; height: 100vh; overflow-y: scroll; top: 0; left: 0; right: 0; margin: auto; z-index: 99; background: #FFF; padding: 5em 5%;  }
  .global-navi.open {display: block; }
  .global-navi > ul > li { width: 100%;text-align: left; font-size: 1rem; margin-bottom: 2em; }
  .global-navi  > ul > li:hover > a { background: none; }
    .global-navi > ul > li + li  { margin: 0 0 2em;  }
  .head-submenu { display: block;color: #FFF; margin-left: 1em; background: none; position: relative; width: 100%; }
  .head-submenu > li + li { border-top: 1px solid rgba(255,255,255,.25); border: none;  }
  .global-navi img { display: inline-block; vertical-align: middle; margin-right: .5em; width: 2em; height: 2em; }
  .global-navi li .head-contact { font-size: .7rem; }
	
}


.googlemap { position: relative; height: 480px; }
.googlemap iframe { width: 100%; height: 100%; display: block; position: absolute; top: 0; left: 0; right: 0; bottom: 0; margin: auto; }


.bottom-follow .title-sns { text-align: center; padding: 2em 0; background: url("../img/followme.svg") no-repeat center center / auto 100%; margin-bottom: 3em; }
.bottom-follow .title-sns-s img { margin-right: 1em; display: inline-block; vertical-align: middle; width: 1.5em; height: 1.5em; letter-spacing: .2em; }

.footer { text-align: center; padding: 3em 0; position: relative; }
.footer .foot-navi > li { display: inline-block; vertical-align: middle; }
.footer .foot-navi > li + li { margin-left: 2em; }

.title-sns-s { margin-bottom: 1em; }

.gotop { text-align: center; font-family: 'Josefin Sans'; position: absolute; top: 1em; right: 3%; margin: auto; }
.gotop:before { content: ''; width: 80px; height: 80px; background: url("../img/owl.svg") no-repeat center top/ contain; display: block; margin: 0 auto .5em; }

/*footer*/
.copyright { font-size: 0.7rem; text-align: center; margin-top: 3em; }


@media screen and (max-width: 900px) {
  .footer .foot-navi { text-align: left; padding-right: 5em; }
  .footer .foot-navi > li { margin-right: 2em; }
  .footer .foot-navi > li + li { margin-left: 0; }
}