@charset "UTF-8";
/* 変数css
----------------------- */
/* -----------------------
変数
----------------------- */
/* mixin
----------------------- */
/* ベースcss
----------------------- */
/* -----------------------
* 独自リセット
* ----------------------- */
html {
    scroll-behavior: smooth;
}
body {
  font-weight: 400;
  font-family: -apple-system, BlinkMacSystemFont, Roboto, "Helvetica Neue", HelveticaNeue, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Sogoe UI", Verdana, "メイリオ", Meiryo, sans-serif;
  background-color: #fff;
  min-width: 1200px; 
}
@media (max-width: 992px) {
  body {
    min-width: 100%;
  }
}
a:hover, a > *:hover {
  opacity: .7;
}
/* -----------------------
* component
* ----------------------- */
.cRed {
  color: #47bd56;
}
.tel {
  font-size: 1.5rem;
  color: #47bd56;
  font-weight: 700;
  text-decoration: none;
}
.fa-phone-alt {
  margin: 0 10px;
  font-size: 1.5rem;
  color: #47bd56;
}
.header_access {
  text-align: center;
  font-size: .83rem;
}
.header_access a {
  text-decoration: none;
}
.header__items {
  margin-left: auto;
}
.container {
  min-width: 1200px;
}
@media (max-width: 992px) {
  .container {
    min-width: 100%;
    padding-top: 49px;
    /* 固定ヘッダー分下げる */
  }
}
.inner {
  width: 1080px;
  margin: 0 auto;
}
@media (max-width: 992px) {
  .inner {
    padding: 0 10px;
    width: 100%;
  }
}
.displayPC {
  display: block !important;
}
@media (max-width: 768px) {
  .displayPC {
    display: none !important;
  }
}
.displaySP {
  display: none !important;
}
@media (max-width: 768px) {
  .displaySP {
    display: block !important;
  }
}
/* -----------------------
* header
* ----------------------- */
.header {
  width: 100%;
  padding: 20px 0;
}
@media (max-width: 768px) {
  .header {
    display: none;
  }
}
.header__inner {
  width: 70%;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
.logo {
  display: block;
}
.header__item01, .header__item02 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.nameEn {
  font-size: 2.3rem;
  color: #999A9A;
  margin-right: 1em;
}
.header__tel {
  margin-right: 1em;
}
.fontSizeBtns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.fontSizeBtns__txt {
  margin-right: 1em;
}
.fontSizeBtn {
  background-color: #fff;
  border: 1px solid #ccc;
  padding: 5px 10px;
  cursor: pointer;
}
/* -----------------------
* header - モバイル
* ----------------------- */
.mobileHeader {
  display: none;
}
@media (max-width: 768px) {
  .mobileHeader {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 20px 10px;
    width: 100%;
    background-color: #fff;
    z-index: 999;
    position: fixed;
    top: 0;
    left: 0;
  }
}
.mobileHeaderLogos {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.mobileAccess {
  width: 41px;
  height: auto;
  margin-left: 5px;
}
.mobileAccess img {
  width: 100%;
}
.mobileHeaderLogos__logo {
  width: 125px;
}
.mobileHeaderLogos__logo img {
  width: 100%;
}
.mobileHeaderLogos__nameEn {
  color: #999A9A;
  font-size: 10px;
}
/* 電話番号 */
.mobileHeaderTel {
  margin-left: auto;
  margin-right: 5px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  align-items: center;
  height: 41px;
}
.mobileHeaderTel__img {
  width: 40px;
  margin-right: 5px;
}
.mobileHeaderTel__telno {
  color: #47bd56;
  display: block;
  font-size: 12px;
  font-weight: 700;
}
.mobileHeaderTel__telno span {
  font-size: 10px;
  color: #000;
}
/* メニューボタン */
.mobilMenu {
  width: 40px;
  height: 40px;
  background-color: #47bd56;
  border-radius: 5px;
  cursor: pointer;
  position: relative;
}
.mobilMenu::before {
  content: '\f0c9';
  color: #fff;
  font-size: 20px;
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  position: absolute;
  top: 5px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
/* メニューボタン - アクティブ時 */
.mobilMenu.active::before {
  content: '\f00d';
}
.mobilMenu span {
  color: #fff;
  font-size: 10px;
  position: absolute;
  left: 50%;
  bottom: 0px;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
/* -----------------------
* header - モバイルメニュー
* ----------------------- */
.spNavList {
  position: absolute;
  top: 70px;
  left: 0;
  width: 100%;
  z-index: 999;
}
.spNavList__item {
  display: none;
  background-color: #fff;
}
.spNavList__link {
  display: block;
  color: #47bd56;
  text-decoration: none;
  padding: 10px;
  border-bottom: 2px solid #47bd56;
}
.spNavList__link:hover {
  opacity: 1;
  background-color: #47bd56;
  color: #fff;
}
.spNavList__item .fontSizeBtns {
  border-bottom: 2px solid #47bd56;
  padding: 10px;
}
.spNavList__item .fontSizeBtn {
  margin: 0 10px;
}
/* -----------------------
* footer
* ----------------------- */
.footer {
  min-width: 1200px;
  background-size: 100%;
  padding: 200px 0 0;
}
@media (max-width: 992px) {
  .footer {
    display: none;
  }
}
.footer__outer {
  position: relative;
  top: -50px;
}
@media (max-width: 992px) {
  .footer__outer {
    top: 0;
  }
}
.footer__inner {
  width: 1080px;
  margin: 0 auto 100px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
@media (max-width: 992px) {
  .footer__inner {
    width: 100%;
    margin-bottom: 50px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}
@media (max-width: 992px) {
  .footer__gmap {
    width: 100%;
  }
}
.footer__gmap iframe {
  width: 500px;
  height: 320px;
}
@media (max-width: 992px) {
  .footer__gmap iframe {
    width: 100%;
    height: 300px;
  }
}
.footerLogo {
  display: block;
  margin-bottom: 30px;
}
.footer__address {
  padding-left: 60px;
}
.footer__nav {
  width: 50%;
  margin: 0 auto;
}
.fNav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
.fNav__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  text-align: center;
  text-decoration: none;
}
.footer__tel {
  font-size: 18px;
}
.footer__group {
  margin-top: 20px;
}
/* -----------------------
* footer - モバイル
* ----------------------- */
.mobileFooter {
  display: none;
}
@media (max-width: 768px) {
  .mobileFooter {
    display: block;
  }
}
.mobileFooterLogos {
  margin: 30px 0;
  padding: 0 20px;
}
.mobileFooterLogos img {
  width: 250px;
  height: auto;
}
.mobileFooterGmap {
  margin: 30px 0;
}
.mobileFooterGmap iframe {
  width: 100%;
}
.mobileFooterTels {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
.mobileFooterTels__telno {
  color: #47bd56;
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
  padding: 0 5px;
  margin-bottom: 30px;
}
.mobileFooterTels__telno span {
  color: #000;
}
.mobileFooterTels__telno span::after {
  content: '\f879';
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  display: inline-block;
  margin: 0 5px;
  color: #47bd56;
}
/* -----------------------
* copyright
* ----------------------- */
.copyright {
  background-color: #47bd56;
  color: #fff;
  display: block;
  min-width: 1200px;
  padding: 5px;
  font-size: 14px;
  text-align: center;
}
@media (max-width: 992px) {
  .copyright {
    min-width: 100%;
  }
}


/*_______________________

.flex_box
________________________*/
.flex_box {
  display: flex;
  padding: 0;
  margin: 0 0 30px;
  justify-content: space-between;
}
.flex_box .img {
  margin: 0 20px 0 0;
}
.flex_box.rev {
  flex-direction: row-reverse;
}
.flex_box.rev .img {
  margin: 0 0 0 20px;
}
.text_box {
  width: calc(100% - 320px);
}
.img_box {
  width: 300px;
  height: auto;
  font-size: 0.72em;
  color: #333;
  align-items: center;
  justify-content: center;
}
.img_box p {
  text-align: center;
}
.img_box img {
  width: 100%;
  height: auto;
}
.flex_box.img2col {
  justify-content: center;
}
.flex_box.img2col .img_box {
  margin: 0 20px;
}
.flex_box.img250 .img_box {
  width: 250px;
}
.flex_box.img250 .text_box {
  width: calc(100% - 270px);
}
.flex_box.img350 .img_box {
  width: 350px;
}
.flex_box.img350 .text_box {
  width: calc(100% - 370px);
}

.flex_box.float_r,
.flex_box.float_l{
	display: inline-block;
}
.flex_box.float_r::after,
.flex_box.float_l::after{
	content: "";
	display: block;
	clear: both;
}
.flex_box.float_r .text_box p.text-basic,
.flex_box.float_l .text_box p.text-basic{
	display: inline !important;
}


.flex_box.float_r .img_box{
	float: right;
	margin: 0 0 20px 20px;
	display: inline-block;
}
.flex_box.float_l .img_box{
	float: left;
	margin: 0 20px 20px 0;
	display: inline-block;
}


.flex_box.float_r .text_box,
.flex_box.float_l .text_box{
	margin: 0 0 20px 20px;
	display: inline;
	width: inherit;
}
.flex_box.float_r .text_box .basic-txt,
.flex_box.float_l .text_box .basic-txt{
	display: inline;	
}

@media (max-width: 992px) {
  .flex_box {
    display: block;
  }
  .img_box, .img250 .img_box, .img350 .img_box, .text_box {
    width: 100% !important;
  }
  .img_box img, .img250 .img_box img, .img350 .img_box img {
    width: 100% !important;
  }
  /*--media---------------*/
	.img_float .img_box {
		float: right;
		width: 40%!important;
		margin-left: 3%;
	}
	.img_float ::after{
    content: "";
    display: block;
    clear: both;
  }
}
