@charset "utf-8";
* {
  padding: 0;
  margin: 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
@font-face {
  font-family: 'Fontset01';
  src: url("../font/SawarabiGothic-Regular.ttf");
}
@font-face {
  font-family: 'Fontset02';
  src: url("../font/A-OTF-MidashiGoPro-MB31.otf");
}
.pcView {
  display: block !important;
}
.spView {
  display: none !important;
}
@media (max-width: 960px) {
  .pcView {
    display: none !important;
  }
  .spView {
    display: block !important;
  }
}
.pcView2 {
  display: block !important;
}
.spView2 {
  display: none !important;
}
@media (max-width: 640px) {
  .pcView2 {
    display: none !important;
  }
  .spView2 {
    display: block !important;
  }
}
.pcView3 {
  display: block !important;
}
.spView3 {
  display: none !important;
}
@media (max-width: 480px) {
  .pcView3 {
    display: none !important;
  }
  .spView3 {
    display: block !important;
  }
}
html {
  height: 100%;
}
body {
  color: #111;
  background-color: #F6F6F6;
  font-family: "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Osaka, "ＭＳ ゴシック", "MS Gothic", sans-serif;
  word-wrap: break-word;
  height: 100%;
  line-height: 2.2;
}
.font_mincho {
  font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "Sawarabi Mincho", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}
section, article {
  display: block;
}
img {
  vertical-align: top;
}
a img {
  border-top-style: none;
  border-right-style: none;
  border-bottom-style: none;
  border-left-style: none;
  -webkit-transition: 0.2s linear;
  -moz-transition: 0.2s linear;
  transition: 0.2s linear;
}
a:hover img {
  filter: brightness(115%);
}
li {
  list-style-type: none;
}
a {
  text-decoration: none;
  color: #000;
  -webkit-transition: 0.2s linear;
  -moz-transition: 0.2s linear;
  transition: 0.2s linear;
}
a:hover {
  text-decoration: none;
}
table {
  border-collapse: collapse;
}
table td {
  border-collapse: collapse;
}
.clfix:after {
  content: ".";
  display: block;
  height: 0;
  font-size: 0;
  clear: both;
  visibility: hidden;
}
.clfix2:after {
  content: ".";
  display: block;
  height: 0;
  font-size: 0;
  clear: both;
  visibility: hidden;
}
header {
  width: 100%;
  position: fixed;
  z-index: 300;
  transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
}
header.fixed {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.9);
}
header h1 a img {
  display: block;
  position: absolute;
}
#g_navi ul li a.ac_menu {
  cursor: pointer;
  overflow: hidden;
}
.pankuzu {
  background-color: #fff;
  font-size: 14px;
  line-height: 30px;
  color: #636363;
  width: 100%;
  padding-top: 20px;
  padding-bottom: 10px;
}
.pankuzu ul {
  width: 96%;
  max-width: 1100px;
  margin-right: auto;
  margin-left: auto;
}
.pankuzu li {
  display: inline-block;
}
.pankuzu li a {
  text-decoration: none;
  color: #636363;
}
.pankuzu li a::after {
  content: ">";
  padding-left: 10px;
  padding-right: 10px;
}
.pankuzu li a:hover {
  color: #ddd;
}
.pankuzu li i {
  padding-right: 5px;
}
.content {
  width: 100%;
  color: #111;
  padding-top: 0px;
  padding-bottom: 0px;
}
.cont_wrap {
  max-width: 1200px;
  width: 100%;
  margin-right: auto;
  margin-left: auto;
}
#sub_top {
  background-color: #555;
  background-repeat: no-repeat;
  background-position: top;
  background-attachment: fixed;
  height: 340px;
  line-height: 30px;
  padding-top: 180px;
  width: 100%;
  background-size: 100%;
  text-align: center;
  font-weight: bold;
  color: #FFF;
  font-size: 34px;
  letter-spacing: 0.1em;
  -moz-text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.5);
  -webkit-text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.5);
  -ms-text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.5);
  text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.5);
}
#index_top {
  height: 100%;
  width: 100%;
  position: relative;
  overflow: hidden;
}
#index_top #top_catch {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 10;
  width: 560px;
  height: 500px;
  margin-top: -250px;
  margin-left: -280px;
  color: #FFF;
  background-color: #111;
  background-color: rgba(0, 0, 0, 0.8);
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-flex-flow: column;
  flex-flow: column;
}
#index_top #top_catch h2 {
  font-size: 50px;
  letter-spacing: 1px;
  font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "Sawarabi Mincho", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-weight: normal;
  line-height: 1.5;
  margin-bottom: 20px;
}
#index_top #top_catch h2 strong {
  padding-top: .4em;
  background-position: top left -2px;
  background-repeat: repeat-x;
  background-size: 1.05em .3em;
  background-image: -webkit-radial-gradient(.10em .10em at center center, #ff6d00, #ff6d00 100%, transparent);
  background-image: radial-gradient(.10em .10em at center center, #ff6d00, #ff6d00 100%, transparent);
}
#index_top #top_catch p {
  font-size: 15px;
  font-weight: bold;
  letter-spacing: 1px;
  line-height: 2.4;
  color: #EEE;
}
.content h2 {
  font-size: 28px;
  line-height: 2.2;
  font-weight: bold;
  letter-spacing: 1px;
  text-align: center;
  padding-top: 0px;
  padding-bottom: 0px;
  clear: both;
}
.content h2 i {
  padding: 10px;
  color: #ff6d00;
  font-size: 20px;
}
.content h2 span {
  font-size: 18px;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 1.8;
}
.content h2 span.small {
  font-size: 18px;
  font-weight: normal;
  color: #555;
}
.content h3 {
  font-size: 24px;
  line-height: 30px;
  margin-bottom: 30px;
  position: relative;
  margin-top: 30px;
  padding-top: 15px;
  padding-right: 10px;
  padding-bottom: 15px;
  padding-left: 44px;
  font-weight: normal;
  color: #333;
  clear: both;
  letter-spacing: 0.05em;
}
.content h3 span {
  font-size: 15px;
  color: #555;
  font-family: "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Osaka, "ＭＳ ゴシック", "MS Gothic", sans-serif;
  padding-left: 15px;
}
.content h4 {
  font-size: 20px;
  color: #555;
  border-bottom-width: 1px;
  border-bottom-style: dotted;
  border-bottom-color: #888;
  letter-spacing: 0.1em;
  padding: 10px;
  font-weight: bold;
  clear: both;
  margin-top: 20px;
  margin-right: 30px;
  margin-bottom: 20px;
  margin-left: 30px;
}
.content p {
  font-size: 19px;
  padding: 10px;
  line-height: 1.9em;
}
.content .ul_news li {
  display: block;
  color: #333;
  line-height: 30px;
  padding: 20px;
  border-bottom-width: 1px;
  border-bottom-style: dotted;
  border-bottom-color: #999;
  text-decoration: none;
  font-size: 16px;
}
.content .ul_news li span.date {
  padding-right: 20px;
  color: #888;
}
.content .ul_news li span.i_con {
  display: inline-block;
  padding-left: 10px;
  padding-right: 10px;
  background-color: #ff6d00;
  color: #fff;
  margin: 0px 10px 0px 0px;
}
.content .ul_news li span.i_con.cl2 {
  background-color: #333333;
  color: #FFF;
}
.img_center {
  display: block;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}
.img_center span {
  position: absolute;
  background-color: #333;
  background-color: rgba(0, 0, 0, 0.8);
  color: #FFF;
  letter-spacing: 0.1em;
  padding: 10px;
  left: 0;
  top: 0;
}
.img_center div {
  position: absolute;
  background-color: #333;
  background-color: rgba(0, 0, 0, 0.8);
  color: #FFF;
  letter-spacing: 0.1em;
  padding: 50px;
  right: 0;
  bottom: 0;
}
.img_left {
  float: left;
  padding-top: 20px;
  padding-right: 50px;
  padding-left: 30px;
  padding-bottom: 20px;
  max-width: 50%;
}
.img_right {
  float: right;
  padding-top: 20px;
  padding-right: 30px;
  padding-left: 50px;
  padding-bottom: 20px;
  max-width: 50%;
}
.img_left img, .img_right img, .img_center img {
  width: 100%;
}
.content .img_left p, .content .img_right p {
  font-size: 14px;
  margin: 0px;
  text-align: center;
  letter-spacing: 0.1em;
  color: #555;
}
.content p.check {
  color: #FF3333;
}
.content p.p_st {
  font-size: 20px;
  color: #FF6600;
}
.content .cont_wrap .txt_box {
  background-color: #EEE;
  padding: 20px;
  margin: 20px;
}
.content .cont_wrap .txt_box h3 {
  margin-top: 0px;
  margin-bottom: 0px;
  text-align: center;
  padding-right: 0px;
  padding-left: 0px;
  border-bottom-width: 1px;
  border-bottom-style: solid;
  border-bottom-color: #CCC;
}
.content .cont_wrap .txt_box h3::after {
  display: none;
}
a.ap {
  padding-top: 50px;
  margin-top: -50px;
}
.btn_cnt a {
  font-size: 16px;
  color: #ff6d00;
  text-align: center;
  text-decoration: none;
  display: block;
  width: 240px;
  margin-top: 20px;
  margin-right: auto;
  margin-bottom: 30px;
  margin-left: auto;
  line-height: 22px;
  padding-top: 10px;
  padding-bottom: 10px;
  clear: both;
  font-weight: bold;
  border: 1px solid #ff6d00;
}
.btn_cnt.cl_2 a, .box_cont .btn_cnt a {
  color: #fff;
  background: linear-gradient(#ffc600, #ff6d00);
  border-radius: 50px;
}
.btn_cnt a i {
  padding-right: 10px;
}
.btn_cnt a:hover {
  color: #fff;
  background: linear-gradient(#ff6d00, #ffc600);
}
.btn_cnt.cl_2 a:hover, .box_cont .btn_cnt a:hover {
  color: #fff;
  background-color: #FFF;
}
.btn_cnt.rt a {
  float: right;
  max-width: 220px;
  margin-right: 10px;
}
.btn_cnt2 a {
  color: #ff6d00;
  text-align: center;
  text-decoration: none;
  display: block;
  width: 40%;
  margin-top: 20px;
  margin-right: auto;
  margin-bottom: 30px;
  margin-left: auto;
  line-height: 22px;
  padding-top: 20px;
  padding-bottom: 20px;
  clear: both;
  font-weight: bold;
  border: 1px solid #ff6d00;
}
.btn_cnt2.cl_2 a, .box_cont .btn_cnt2 a {
  color: #fff;
  background: linear-gradient(#ffc600, #ff6d00);
  border-radius: 50px;
}
.btn_cnt2 a i {
  padding-right: 10px;
}
.btn_cnt2 a:hover {
  color: #fff;
  background: linear-gradient(#ff6d00, #ffc600);
}
.btn_cnt2.cl_2 a:hover, .box_cont .btn_cnt2 a:hover {
  color: #fff;
  background-color: #FFF;
}
.btn_cnt2.rt a {
  float: right;
  max-width: 220px;
  margin-right: 10px;
}
.to_top {
  position: fixed;
  bottom: 0px;
  right: 0px;
  z-index: 800;
}
.to_top a {
  text-decoration: none;
  text-align: center;
  display: block;
  width: 60px;
  height: 60px;
  background-color: #EEEEEE;
  color: #333;
  font-size: 32px;
  line-height: 60px
}
.to_top a:hover {
  background-color: #111;
  color: #FFF;
}
.contactarea {
  max-width: 1100px;
  background-color: #fff;
  margin: 4% auto 3% auto;
  width: 98%;
}
.contactarea2 {
  max-width: 1100px;
  background-color: #fff;
  margin: 4% auto 3% auto;
  width: 96%;
  padding: 2%;
}
.contactarea2 p {
  color: #666;
  font-size: 95%;
}
footer {
  background-color: #EEE;
  color: #333;
  clear: both;
  width: 100%;
  display: block;
  padding-top: 20px;
  border-bottom-width: 20px;
  border-bottom-style: solid;
  border-bottom-color: #E5E5E5;
}
footer .cont_wrap {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flexbox;
  display: -moz-flexbox;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}
footer .cont_wrap .f_box.lg img {
  width: 40%;
}
footer .cont_wrap .f_box {
  width: 20%;
  padding: 0px;
}
footer .cont_wrap .f_box.lg {
  width: 60%;
}
footer .cont_wrap p {
  font-size: 13px;
}
footer .cont_wrap ul {
  padding: 10px;
}
footer .cont_wrap ul li a {
  display: block;
  text-decoration: none;
  font-size: 15px;
  color: #555;
  line-height: 3.1em;
  font-weight: bold;
}
footer .cont_wrap ul li.contact a {
  text-align: center;
  color: #FFF;
  background: linear-gradient(#ffc600, #ff6d00);
  border-radius: 50px;
  font-size: 14px;
  padding: 2px;
  margin-top: 5px;
}
footer .cont_wrap ul li.contact a::before {
  display: none;
}
footer .cont_wrap ul li a::before {
  content: "・ ";
  color: #999;
}
footer .cont_wrap ul li a:hover {
  color: #fff;
  background: linear-gradient(#ffc600, #ff6d00);
}
address {
  clear: both;
  font-size: 12px;
  font-style: normal;
  padding: 10px;
  text-align: center;
  letter-spacing: 1px;
}
footer .copy {
  clear: both;
  width: 100%;
  display: block;
  text-align: center;
  font-size: 10px;
  color: #555;
  letter-spacing: 1px;
  background-color: #E5E5E5;
  padding-top: 18px;
  line-height: 10px;
}
.copy ul li {
  display: inline;
  padding: 5px;
}
.copy ul li a {
  color: #555;
}
.small {
  color: #666;
  font-size: 100%;
}
.section01 {
  background-color: #ecf7e8;
  padding: 3%;
}
.section01 h2 {
  color: #009256;
}
.section01 h2 span {
  color: #009256;
}
.section01-in {
  margin: 2em auto;
  padding: 4% 6% 4% 6%;
  background: none;
  border: 5px solid #a6e48f;
  position: relative;
}
.section01-in:after {
  background-color: #fff;
  border: none;
  content: '';
  position: absolute;
  top: 10px;
  left: 10px;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.section02 {
  padding: 3%;
}
.section02-in {
  padding: 1% 6%;
  max-width: 1300px;
  margin: 2em auto;
}
.center01 {
  text-align: center;
}
.center01 span {
  text-decoration: underline;
  text-decoration-thickness: 0.5em;
  text-decoration-color: rgba(255, 255, 0, 0.8);
  text-underline-offset: -0.2em;
  text-decoration-skip-ink: none;
  font-weight: bold;
}
.center02 {
  text-align: center;
}
.bold01 {
  font-weight: bold
}
.head-border {
  display: flex;
  align-items: center;
}
.head-border:before, .head-border:after {
  content: "";
  height: 5px;
  flex-grow: 1;
  background-color: #a6e48f;
}
.head-border:before {
  margin-right: 1rem;
}
.head-border:after {
  margin-left: 1rem;
}
.greeting p span {
  font-family: "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Osaka, "ＭＳ ゴシック", "MS Gothic", sans-serif;
  font-size: 18px;
  color: #009256;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 1.8;
}
.greeting {
  margin: 0 auto;
  text-align: center;
}
.section03 {
  background-color: #ecf7e8;
  padding: 3%;
}
.section03-in {
  padding: 1% 4%;
  max-width: 1100px;
  margin: 0 auto;
  text-align: center;
}
.section03 h2 {
  padding-top: 0px;
  padding-right: 10px;
  padding-bottom: 0px;
  padding-left: 10px;
  color: #009256;
}
.section03 h2 span {
  font-size: 150%;
  font-family: "ヒラギノ丸ゴ Pro W4", "ヒラギノ丸ゴ Pro", "Hiragino Maru Gothic Pro", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "HG丸ｺﾞｼｯｸM-PRO", "HGMaruGothicMPRO";
  color: #666666;
  text-decoration: underline;
  text-decoration-thickness: 0.5em;
  text-decoration-color: rgba(255, 255, 0, 0.8);
  text-underline-offset: -0.2em;
  text-decoration-skip-ink: none;
}
.section03-in img {
  max-width: 600px;
  margin: 0 auto;
}
.section03 p {
  text-align: left;
}
.section03 p span {
  color: #ff6d00;
  font-weight: bold;
}
.conv01 {
  color: #ffff00;
  text-align: center !important;
}
.conv02 {
  color: #ffff00;
  font-size: 200% !important;
  font-weight: bold;
  text-align: center !important;
}
.conv02 span {
  font-size: 70% !important;
  color: #ffff00 !important;
}
.conv03 {
  color: #fff;
  text-align: center !important;
}
.section04 {
  background-color: #fff;
  padding: 3%;
}
.section04-in {
  padding: 5% 6% 0% 6%;
  max-width: 1100px;
  margin: 0 auto;
  text-align: center;
}
.section04 p span {
  font-family: "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Osaka, "ＭＳ ゴシック", "MS Gothic", sans-serif;
  font-size: 18px;
  color: #009256;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 1.8;
}
.example p span {
  font-family: "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Osaka, "ＭＳ ゴシック", "MS Gothic", sans-serif;
  font-size: 18px;
  color: #009256;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 1.8;
}
.example {
  margin: 0 auto;
  text-align: center;
}
.example img {
  width: 10%;
}
.section04 h2 {
  padding-top: 0px;
  padding-right: 10px;
  padding-bottom: 0px;
  padding-left: 10px;
  color: #009256
}
.section04 h2 span {
  font-size: 150%;
  font-family: "ヒラギノ丸ゴ Pro W4", "ヒラギノ丸ゴ Pro", "Hiragino Maru Gothic Pro", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "HG丸ｺﾞｼｯｸM-PRO", "HGMaruGothicMPRO";
  color: #666666;
  text-decoration: underline;
  text-decoration-thickness: 0.5em;
  text-decoration-color: rgba(255, 255, 0, 0.8);
  text-underline-offset: -0.2em;
  text-decoration-skip-ink: none;
}
.section05 {
  background-color: #fff;
  padding: 3%;
}
.section05-in {
  padding: 1% 1%;
  max-width: 1100px;
  margin: 0 auto;
  text-align: center;
}
.section05 h2 {
  padding-top: 0px;
  padding-right: 10px;
  padding-bottom: 0px;
  padding-left: 10px;
  color: #009256;
}
.box01 {
  margin: 10% 0% 0% 0%;
}
.box01-1 {
  max-width: 300px;
}
.box01-2 {
  background-color: #fff;
  text-align: left;
  border: #a6e48f 10px solid;
  padding: 2% 1% 1% 27%;
  margin: -20% 0% 10% 5%;
}
.box01-2 h2 {
  color: #009256;
  font-size: 110%;
  text-align: left;
  border-bottom: dotted 2px #009256;
}
.box01-2 p {
  line-height: 1.5em;
  font-size: 18px;
}
.box02 {
  margin: 10% 0% 0% 0%;
}
.box02-1 {
  margin: 10% 0% 0% 0%;
}
.box02-1 {
  background-color: #fff;
  text-align: left;
  border: #7ab6d5 10px solid;
  padding: 2% 27% 1% 3%;
  margin: -31% 5% 10% 0%;
}
.box02-1 h2 {
  color: #00599d;
  font-size: 110%;
  text-align: left;
  border-bottom: dotted 2px #00599d;
}
.box02-1 p {
  line-height: 1.5em;
  font-size: 18px;
}
.box02-2 {
  max-width: 300px;
  margin: 0% 0% 10% auto;
}
.box02-2 img {
  max-width: 300px;
  text-align: right;
}
.box02-2 p {
  line-height: 1.5em;
}
.voice-b {
  margin: -12% 0% 0% 0%;
}
.section06 {
  background-color: #eeeeee;
  padding: 3%;
}
.section06-in {
  padding: 1% 6%;
  max-width: 1100px;
  margin: 0 auto;
  text-align: center;
}
.section06 h2 {
  padding-top: 0px;
  padding-right: 10px;
  padding-bottom: 0px;
  padding-left: 10px;
  color: #009256
}
.clfix:after {
  content: ".";
  display: block;
  height: 0;
  font-size: 0;
  clear: both;
  visibility: hidden;
}
.clfix2:after {
  content: ".";
  display: block;
  height: 0;
  font-size: 0;
  clear: both;
  visibility: hidden;
}
.arrow {
  position: relative;
  display: inline-block;
  padding: 0 0 0 16px;
  color: #636363;
  vertical-align: middle;
  text-decoration: none;
  font-size: 15px;
}
.arrow::before, .arrow::after {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  content: "";
  vertical-align: middle;
}
.accordion-area {
  list-style: none;
  width: 96%;
  max-width: 1100px;
  margin: 0 auto;
}
.accordion-area li {
  margin: 10px 0;
}
.accordion-area section {
  background-color: #fff;
  padding: 2%;
}
.qa .title {
  position: relative;
  cursor: pointer;
  font-size: 1rem;
  font-weight: normal;
  padding: 2% 3% 2% 40px;
  transition: all .5s ease;
}
.title.close::before {
  transform: rotate(45deg);
}
.title.close::after {
  transform: rotate(-45deg);
}
.box {
  display: none;
  background: #009256;
  margin: 0% 0% 0% 0%;
  padding: 2% 2% 2% 2%;
}
.acd-check {
  display: none;
}
.acd-label {
  display: block;
  margin-bottom: 1px;
  padding: 10px;
  background-color: #eee;
  color: #7b7b7b;
  font-size: 90%;
  text-align: center;
  cursor: pointer;
  user-select: none;
  box-shadow: #dddddd 5px 5px 5px;
  margin-top: 3%;
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
}
.acd-content {
  height: 0;
  opacity: 0;
  padding: 0 10px;
  transition: .5s;
  visibility: hidden;
}
.acd-check:checked + .acd-label + .acd-content {
  height: auto;
  opacity: 1;
  padding: 10px;
  visibility: visible;
  max-width: 1100px;
  margin: 0 auto;
}
.section06-in h4 {
  border: none;
  text-align: left;
  font-size: 100%;
  padding-left: 2.5em;
  text-indent: -2.5em;
  line-height: 1.5em;
  margin-top: 0px;
  margin-right: 0px;
  margin-bottom: 0px;
  margin-left: 0px;
}
.section06-in h4 span {
  color: #009256;
  font-size: 150%;
}
.box p {
  text-align: left;
  color: #fff;
  padding-left: 2.5em;
  text-indent: -2.5em;
  font-size: 100% !important;
}
.box p span {
  font-size: 150%;
}
.section07 {
  background-color: #fff;
  padding: 3%;
}
.section07-in {
  padding: 1% 2%;
  max-width: 1300px;
  margin: 0 auto;
}
.section07 h2 {
  padding-top: 0px;
  padding-right: 10px;
  padding-bottom: 0px;
  padding-left: 10px;
  color: #009256
}
.section08 {
  padding: 3%;
}
.section08-in {
  padding: 1% 6%;
  max-width: 1300px;
  margin: 0em auto;
}
.section09 {
  background-color: #ecf7e8;
  padding: 3%;
}
.section09-in {
  padding: 1% 2%;
  max-width: 1200px;
  margin: 0 auto;
}
.title01 {
  position: relative;
  color: #fff;
  text-align: center;
  padding: 30px;
  background-image: url("../img/bg01.webp");
  width: 100%;
  max-width: 900px;
  margin: 0% auto 3% auto;
  border-radius: 50px;
  font-size: 130% !important;
  font-weight: bold;
  letter-spacing: 0.2em;
}
.title01::after {
  width: 0;
  height: 0;
  position: absolute;
  top: 100%;
  left: 55%;
  margin: 0 0 0 -50px;
  border: 20px solid transparent;
  border-top-color: #9ed782;
  content: '';
}
.section09-in p {
  text-align: center;
}
.title02 {
  border: 3px solid #9ed782;
  background-color: #fff;
  padding: 1% 2% 1% 2%;
  font-size: 120%;
  font-weight: bold;
  color: #009256;
}
.waku01 {
  border: 3px solid #9ed782;
  background-color: #fff;
  padding: 1% 2% 1% 2%;
  max-width: 900px;
  border-radius: 15px;
  margin: -2% auto 3% auto;
}
.section10 {
  background-color: #fff;
  padding: 0% 3% 3% 3%;
}
.section10-in {
  padding: 1% 2%;
  max-width: 1200px;
  margin: 0 auto;
}
.title03 h2 {
  color: #009256;
  padding: 2% 3%;
  ;
  border-top: 3px solid #009256;
  border-bottom: 3px solid #009256;
  margin: 4% 0% 0% 0%;
}
.number {
  max-width: 100px;
  margin: 0% 0% -10% -5%;
  z-index: 100;
  position: relative;
}
.title04 {
  position: relative;
  color: #fff;
  text-align: center;
  padding: 0% 0% 0% 0% !important;
  background-image: url(../img/bg01.webp);
  width: 100%;
  max-width: 900px;
  margin: 0% auto 3% auto;
  font-size: 140% !important;
  font-weight: bold;
  letter-spacing: 0.2em;
}
.text01 {
  color: #009256;
}
.text01 span {
  text-decoration: underline;
  text-decoration-thickness: 0.5em;
  text-decoration-color: rgba(255, 255, 0, 0.8);
  text-underline-offset: -0.2em;
  text-decoration-skip-ink: none;
  font-weight: bold
}
.title05 {
  position: relative;
  color: #009256;
  text-align: center;
  padding: 30px;
  background-color: #def2d7;
  width: 100%;
  margin: 0% auto 3% auto;
  font-size: 190% !important;
  letter-spacing: 0em;
  font-family: "Fontset02"
}
.title05::after {
  width: 0;
  height: 0;
  position: absolute;
  top: 100%;
  left: 55%;
  margin: 0 0 0 -50px;
  border: 20px solid transparent;
  border-top-color: #def2d7;
  content: '';
}
.title05 span {
  font-size: 80%;
}
.title06 {
  position: relative;
  color: #fff;
  text-align: center;
  padding: 30px;
  background-color: #009256;
  width: 100%;
  margin: 0% auto 3% auto;
  font-size: 190% !important;
  letter-spacing: 0em;
  font-family: "Fontset02"
}
.title06::after {
  width: 0;
  height: 0;
  position: absolute;
  top: 100%;
  left: 55%;
  margin: 0 0 0 -50px;
  border: 20px solid transparent;
  border-top-color: #009256;
  content: '';
}
.title06 span {
  font-size: 80%;
}
.title07 {
  position: relative;
  color: #00599d;
  text-align: center;
  padding: 30px;
  background-color: #dfe8f4;
  width: 100%;
  margin: 0% auto 3% auto;
  font-size: 190% !important;
  letter-spacing: 0em;
  font-family: "Fontset02"
}
.title07::after {
  width: 0;
  height: 0;
  position: absolute;
  top: 100%;
  left: 55%;
  margin: 0 0 0 -50px;
  border: 20px solid transparent;
  border-top-color: #dfe8f4;
  content: '';
}
.title07 span {
  font-size: 80%;
}
.section11 {
  background-color: #fff;
  padding: 3% 3% 0% 3%;
}
.section11-in {
  padding: 1% 2%;
  max-width: 1200px;
  margin: 0 auto;
}
.section11-in h2 {
  color: #009256;
  font-size: 130%;
  text-align: left;
  border-bottom: 3px dotted #009256;
}
.waku02 {
  border: #009256 solid 1px;
  max-width: 700px;
  background-color: #fff;
  box-shadow: #eeeeee 2px 2px 2px;
  margin: 3% auto;
  padding: 2% 3%;
}
.waku02 p {
  text-align: center;
  color: #009256;
  font-weight: bold;
  font-size: 150%;
  line-height: 1em;
}
.large {
  font-size: 170%;
}
.waku02 p span {
  text-decoration: underline;
  text-decoration-thickness: 0.5em;
  text-decoration-color: rgba(255, 255, 0, 0.8);
  text-underline-offset: -0.2em;
  text-decoration-skip-ink: none;
  font-weight: bold;
}
.waku03 {
  border: #00599d solid 1px;
  max-width: 600px;
  background-color: #fff;
  box-shadow: #eeeeee 2px 2px 2px;
  margin: 3% auto;
  padding: 2% 3%;
}
.waku03 p {
  text-align: center;
  color: #00599d;
  font-weight: bold;
  font-size: 150%;
  line-height: 1em;
}
.waku03 p span {
  text-decoration: underline;
  text-decoration-thickness: 0.5em;
  text-decoration-color: rgba(255, 255, 0, 0.8);
  text-underline-offset: -0.2em;
  text-decoration-skip-ink: none;
  font-weight: bold;
}
.section11-in h3 {
  color: #00599d;
  text-align: center;
  font-weight: bold;
  font-size: 170%;
  margin-bottom: 0;
  padding-bottom: 0;
}
.section11-in h3::after {
  display: none;
}
.text02 {
  color: #636363;
}
.text02 span {
  text-decoration: underline;
  text-decoration-thickness: 0.5em;
  text-decoration-color: rgba(255, 255, 0, 0.8);
  text-underline-offset: -0.2em;
  text-decoration-skip-ink: none;
  font-weight: bold;
  color: #009256;
}
.section12 {
  background-color: #fff;
  padding: 3%;
}
.section12-in {
  padding: 1% 2%;
  max-width: 1000px;
  margin: 0 auto;
}
.section12-in h2 {
  color: #009256;
  font-size: 150%;
  text-align: center;
}
.section12-in h2 span {
  text-decoration: underline;
  text-decoration-thickness: 0.5em;
  text-decoration-color: rgba(255, 255, 0, 0.8);
  text-underline-offset: -0.2em;
  text-decoration-skip-ink: none;
  font-weight: bold;
  color: #009256;
  font-size: 100%;
}
.section13 {
  background-color: #fff;
  padding: 3%;
}
.section13-in {
  padding: 1% 2%;
  max-width: 1200px;
  margin: 0 auto;
}
.jnet01 {
  display: table;
  margin: 0px auto;
  padding: 0px;
  width: 100%;
  max-width: 500px;
}
.jnet01 p {
  text-align: center;
  line-height: 0.5em;
  font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif"
}
.jnet01-in {
  display: table-cell;
  width: 46%;
  background: linear-gradient(to right, #41c800 0%, #009256 100%);
  border-radius: 150px;
  padding: 2% 0% 2% 0%;
  box-shadow: 5px 5px 5px #878787;
}
.section14 {
  background-color: #ecf7e8;
  padding: 3%;
}
.section14-in {
  padding: 1% 6%;
  max-width: 1100px;
  margin: 0 auto;
  text-align: center;
}
.section14 h2 {
  padding-top: 0px;
  padding-right: 10px;
  padding-bottom: 0px;
  padding-left: 10px;
  color: #009256;
}
.section14 h2 span {
  font-size: 130%;
  font-family: "ヒラギノ丸ゴ Pro W4", "ヒラギノ丸ゴ Pro", "Hiragino Maru Gothic Pro", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "HG丸ｺﾞｼｯｸM-PRO", "HGMaruGothicMPRO";
  color: #666666;
  text-decoration: underline;
  text-decoration-thickness: 0.5em;
  text-decoration-color: rgba(255, 255, 0, 0.8);
  text-underline-offset: -0.2em;
  text-decoration-skip-ink: none;
}
.section14-in img {
  max-width: 400px;
  margin: 0 auto;
}
.section14 p {
  text-align: left;
}
.section14 p span {
  color: #ff6d00;
  font-weight: bold;
}
.section15 {
  background-color: #fff;
  padding: 3%;
}
.section15-in {
  padding: 1% 2%;
  max-width: 1000px;
  margin: 0 auto;
}
.casehr {
  border-bottom: 3px dotted #009256;
  margin-bottom: 20px;
}
.section16 {
  background-color: #fff;
  padding: 3%;
}
.section16-in {
  padding: 1% 2%;
  max-width: 1200px;
  margin: 0 auto;
}
.netcase {
  background-color: #009256;
  color: #fff;
  padding: 1%;
}
.netcase p {
  line-height: 1.3em;
}
.valuecase {
  background-color: #dfe8f4;
  color: #00599d;
  padding: 1%;
}
.valuecase p {
  line-height: 1.3em;
}
.section17 {
  background-color: #fff;
  padding: 3%;
}
.section17-in {
  padding: 1% 2%;
  max-width: 1000px;
  margin: 0 auto;
}
.flow-title h3 {
  margin: -56% 0% 0% 0%;
  padding-top: 0px;
  padding-right: 0px;
  padding-bottom: 0px;
  padding-left: 17px;
  color: #60433d;
  font-weight: bold;
  font-size: 130%;
  text-align: center;
}
.flow-title p {
  margin: 0% 0% 0% 0%;
  padding: 4% 8% 0% 26%;
  font-size: 94%;
  line-height: 1.5em;
  font-weight: bold;
  color: #666666;
}
.flow-bottom {
  background-color: #009256;
  border-radius: 15px;
  margin: 10% 0% 0% 0%;
  padding: 2%;
}
.flow-bottom h2 {
  color: #ffff00;
  font-size: 200% !important;
}
.flow-bottom p {
  color: #fff;
  text-align: center;
  font-weight: bold;
  padding: 0px;
  font-size: 110%;
}
.section18 {
  background-color: #fff;
  padding: 3%;
}
.section18-in {
  padding: 1% 2%;
  max-width: 1000px;
  margin: 0 auto;
}
.section19 {
  background-color: #f6f9fc;
  padding: 3%;
}
.section19-in {
  padding: 1% 2%;
  max-width: 1000px;
  margin: 0 auto;
}
.section19-in h2 span {
  padding-bottom: 0px;
  color: #00599d;
  border-bottom: 3px dotted #00599d;
  font-size: 100%;
}
.section20 {
  background-color: #ffffed;
  padding: 3%;
}
.section20-in {
  padding: 1% 2%;
  max-width: 1000px;
  margin: 0 auto;
}
.section20-in p {
  color: #00599d;
  text-align: center;
  font-weight: bold;
  font-size: 24px;
}
.section21 {
  background-color: #fff;
  padding: 3%;
}
.section21-in {
  padding: 1% 2%;
  max-width: 1000px;
  margin: 0 auto;
}
.section21-in h3 {
  color: #00599d;
  text-align: center;
  font-weight: bold;
}
.section21-in h3 span {
  text-decoration: underline;
  text-decoration-thickness: 0.5em;
  text-decoration-color: rgba(255, 255, 0, 0.8);
  text-underline-offset: -0.2em;
  text-decoration-skip-ink: none;
  color: #00599d;
  text-align: center;
  font-weight: bold;
  font-size: 24px;
}
.section22 {
  background-color: #ffffed;
  padding: 3%;
}
.section22-in {
  padding: 1% 2%;
  max-width: 1000px;
  margin: 0 auto;
}
.section22-in h3 {
  color: #00599d;
  text-align: center;
  font-weight: bold;
}
.section23 {
  background-color: #fff;
  padding: 3%;
}
.section23-in {
  padding: 1% 2%;
  max-width: 1000px;
  margin: 0 auto;
}
.section24 {
  background-color: #ecf7e8;
  padding: 3%;
}
.section24-in {
  padding: 1% 6%;
  max-width: 1100px;
  margin: 0 auto;
  text-align: center;
}
.section24 h2 {
  padding-top: 0px;
  padding-right: 10px;
  padding-bottom: 0px;
  padding-left: 10px;
  color: #009256;
}
.section24 h2 span {
  font-size: 150%;
  font-family: "ヒラギノ丸ゴ Pro W4", "ヒラギノ丸ゴ Pro", "Hiragino Maru Gothic Pro", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "HG丸ｺﾞｼｯｸM-PRO", "HGMaruGothicMPRO";
  color: #666666;
  text-decoration: underline;
  text-decoration-thickness: 0.5em;
  text-decoration-color: rgba(255, 255, 0, 0.8);
  text-underline-offset: -0.2em;
  text-decoration-skip-ink: none;
}
.section24-in img {
  max-width: 400px;
  margin: 0 auto;
}
.jvalue01 {
  display: table;
  margin: 0px auto;
  padding: 0px;
  width: 100%;
  max-width: 550px;
}
.jvalue01 p {
  text-align: center;
  line-height: 0.5em;
  font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif"
}
.jvalue01-in {
  display: table-cell;
  width: 46%;
  background: linear-gradient(to right, #00caf1 0%, #004b96 100%);
  border-radius: 150px;
  padding: 2% 0% 2% 0%;
  box-shadow: 5px 5px 5px #878787;
}
.blog-waku {
  background-color: #ecf7e8;
  padding: 3%;
}
.blog-wakuin {
  padding: 1% 2%;
  max-width: 1000px;
  margin: 2% auto;
  background-color: #fff;
  border-radius: 15px;
  box-shadow: 5px 5px 5px #d3d3d3;
}
.content table.table_01 {
  width: 96%;
  margin-top: 20px;
  margin-right: auto;
  margin-bottom: 30px;
  margin-left: auto;
}
.content table.table_01 th, .content table.table_01 td {
  border-bottom-width: 1px;
  border-bottom-style: dotted;
  border-bottom-color: #888;
  padding: 20px;
}
.content table.table_01 th {
  font-size: 16px;
  white-space: nowrap;
  font-weight: normal;
  letter-spacing: 1px;
  width: 33%;
}
.content table.table_01 td {
  font-size: 14px;
  line-height: 30px;
  background-color: #FFF;
}
.chui {
  color: #FF6600;
}
.table_01 caption {
  font-size: 14px;
  line-height: 30px;
  background-color: #E5E5E5;
  color: #111;
  letter-spacing: 1px;
  padding-top: 5px;
  padding-bottom: 5px;
  border: 1px solid #FFF;
  box-shadow: rgba(0, 0, 0, 0.3) 0px 0px 2px 0px;
  -webkit-box-shadow: rgba(0, 0, 0, 0.3) 0px 0px 2px 0px;
  -moz-box-shadow: rgba(0, 0, 0, 0.3) 0px 0px 2px 0px;
}
.table_01 th span {
  font-size: 12px;
  color: #CCC;
}
.pick_up {
  width: 100%;
}
.pick_up ul {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  max-width: 1400px;
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flexbox;
  display: -moz-flexbox;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}
.pick_up ul li {
  width: 32%;
  position: relative;
}
.pick_up ul li a {
  display: block;
  overflow: hidden;
  position: relative;
  -webkit-transition: 0.2s linear;
  -moz-transition: 0.2s linear;
  transition: 0.2s linear;
}
.pick_up ul li a img {
  width: auto;
  max-width: 100%;
  z-index: 0;
  border-radius: 15px;
}
.pick_up ul li a:hover img {
  -webkit-transform: scale(1.05);
  -moz-transform: scale(1.05);
  -o-transform: scale(1.05);
  -ms-transform: scale(1.05);
  transform: scale(1.05);
  opacity: 1;
  filter: alpha(opacity=100);
  -ms-filter: "alpha( opacity=100 )";
}
.pick_up ul li a::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  z-index: 5;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transition: 0.2s linear;
  -moz-transition: 0.2s linear;
  transition: 0.2s linear;
}
.pick_up ul li a:hover::before {
  background-color: rgba(0, 0, 0, 0.10);
}
.pick_up ul li a div {
  color: #FFF;
  font-size: 130%;
  line-height: 1.5em;
  text-decoration: none;
  text-align: center;
  display: block;
  width: 80%;
  margin-top: -50px;
  margin-left: -40%;
  position: absolute;
  left: 50%;
  top: 47%;
  font-weight: bold;
  -webkit-transition: 0.2s linear;
  -moz-transition: 0.2s linear;
  transition: 0.2s linear;
  z-index: 10;
}
.pick_up ul li a div span {
  font-size: 16px;
  letter-spacing: 2px;
}
.pick_up h4 {
  color: #009256;
  margin-top: 0px;
  margin-right: 0px;
  margin-bottom: 0px;
  margin-left: 0px;
  line-height: 1.5em;
  font-size: 110%;
}
.pick_up p {
  padding: 5px;
  line-height: 1.5em;
  font-size: 110%;
}
.box_cont {
  width: 100%;
  max-width: 1200px;
  margin: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  padding-top: 20px;
  padding-right: 20px;
  padding-left: 20px;
}
.box_cont .box_c_in {
  width: 48%;
  min-height: 200px;
  padding: 10px;
  border: 1px solid #DDD;
  margin-bottom: 30px;
}
.box_cont .box_c_in:hover {
  background-color: #FFF;
  border-top-color: #111;
  border-right-color: #111;
  border-bottom-color: #111;
  border-left-color: #111;
}
.box_cont .box_c_in img {
  max-width: 100%;
  padding: 20px;
}
.content .box_cont .box_c_in h2 {
  padding-bottom: 10px;
  font-size: 24px;
  border-bottom-width: 1px;
  border-bottom-color: #CCC;
  padding-top: 10px;
}
.obi_001 {
  background-image: url("../img/obi_001.webp");
  background-repeat: no-repeat;
  text-align: left;
  padding-top: 5%;
  padding-right: 20px;
  padding-bottom: 5%;
  padding-left: 20px;
  background-size: cover;
  background-attachment: fixed;
  background-position: center bottom;
  color: #636363;
  margin-top: 0px;
  line-height: 1.3em
}
.content .obi_001 h2 {
  border-bottom: none;
  padding-bottom: 0px;
  color: #009256
}
.obi_002 {
  width: 100%;
  height: auto;
  background-image: url(../img/obi_002.webp);
  background-repeat: no-repeat;
  background-size: cover;
  padding: 0 0 50%;
  position: relative;
}
.obi_002 .box_in {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-flex-flow: column;
  flex-flow: column;
  position: absolute;
  color: #FFF;
  background-color: rgba(0, 0, 0, 0.5);
}
.obi_002 h2 {
  font-size: 36px;
}
.obi_002 p {
  line-height: 2;
  font-weight: bold;
}
.obi_003 {
  /*background-image: url(../img/obi_bg.webp);*/
  background-repeat: no-repeat;
  text-align: left;
  padding-top: 5%;
  padding-right: 20px;
  padding-left: 20px;
  background-size: cover;
  background-attachment: fixed;
  background-position: center bottom;
  color: #636363;
  margin-top: 0px;
  line-height: 1.3em
}
.content .obi_003 h2 {
  border-bottom: none;
  padding-bottom: 0px;
  color: #009256
}
.obi_004 {
  background-repeat: no-repeat;
  text-align: left;
  padding-top: 0%;
  padding-right: 0px;
  padding-bottom: 0%;
  padding-left: 0px;
  background-size: cover;
  background-attachment: fixed;
  background-position: center bottom;
  color: #636363;
  margin-top: 0px;
  line-height: 1.3em
}
.content .obi_004 h2 span {
  padding-bottom: 0px;
  color: #00599d;
  border-bottom: 3px dotted #00599d;
  font-size: 100%;
}
.loop_wrap_base {
  width: 100%;
  height: auto;
  overflow: hidden;
  background-color: #F3F3F3;
  padding-top: 30px;
  padding-bottom: 30px;
}
.loop_wrap_base h2 {
  font-weight: normal;
  color: #111;
  text-align: center;
  line-height: 1.2;
  padding: 10px;
  font-size: 24px;
}
.loop_wrap_base h2 span {
  letter-spacing: 0.2em;
  font-size: 14px;
  color: #555;
}
.loop_wrap {
  display: flex;
  width: 220%;
  height: auto;
}
.loop_wrap ul {
  width: 100%;
  height: auto;
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flexbox;
  display: -moz-flexbox;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}
.loop_wrap ul li {
  width: 20%;
}
.loop_wrap ul li a {
  display: block;
  text-decoration: none;
  color: #555;
  text-align: center;
  line-height: 1.6;
  font-size: 14px;
  position: relative;
}
.loop_wrap ul li a img {
  width: 100%;
  display: block;
  margin-bottom: 5px;
}
.loop_wrap ul li a span {
  display: inline-block;
  background-color: #FFFFFF;
  color: #000;
  font-size: 12px;
  position: absolute;
  top: 0;
  left: 0;
  padding: 5px;
  letter-spacing: 1px;
  z-index: 10;
}
.loop_wrap ul li a span.cl_2 {
  background-color: #333;
  color: #FFF;
}
.loop_wrap ul li a span.cl_3 {
  background-color: #ff6d00;
  color: #000;
}
@keyframes loop {
  0% {
    transform: translateX(100%);
  }
  to {
    transform: translateX(-100%);
  }
}
@keyframes loop2 {
  0% {
    transform: translateX(0);
  }
  to {
    transform: translateX(-200%);
  }
}
.loop_wrap ul:first-child {
  animation: loop 50s -25s linear infinite;
}
.loop_wrap ul:last-child {
  animation: loop2 50s linear infinite;
}
.loop_wrap:hover ul {
  animation-play-state: paused;
}
.h_sns {
  padding: 5px;
  position: fixed;
  top: 130px;
  right: 0px;
  background-color: rgba(0, 0, 0, 0.8);
}
.h_sns li a {
  display: block;
  padding: 10px;
  color: #FFF;
  line-height: 30px;
  width: 50px;
  text-align: center;
  text-decoration: none;
  font-size: 18px;
}
.h_sns li a:hover {
  background-color: #ff6d00;
  color: #000;
}
.effect {
  opacity: 0;
  filter: alpha(opacity=0);
  -ms-filter: "alpha( opacity=0 )";
  transform: translateY(20px);
  -webkit-transform: translateY(20px);
  -moz-transform: translateY(20px);
  -webkit-transition: 1.0s ease-out;
  -moz-transition: 1.0s ease-out;
  transition: 1.0s ease-out;
}
.effect.d_02 {
  transition-delay: 0.2s;
  -webkit-transition-delay: 0.2s;
}
.effect.d_04 {
  transition-delay: 0.4s;
  -webkit-transition-delay: 0.4s;
}
.effect.d_06 {
  transition-delay: 0.6s;
  -webkit-transition-delay: 0.6s;
}
.effect.d_08 {
  transition-delay: 0.8s;
  -webkit-transition-delay: 0.8s;
}
.effect.start {
  opacity: 1;
  filter: alpha(opacity=100);
  -ms-filter: "alpha( opacity=100 )";
  transform: translateY(0px);
  -webkit-transform: translateY(0px);
  -moz-transform: translateY(0px);
}
.obi_002 .box_in p a.tel {
  font-size: 24px;
  color: #FFF;
  text-decoration: none;
  line-height: 1.2;
}
.obi_002 .box_in p a.tel strong {
  padding-left: 10px;
  font-size: 150%;
}
.content .box_att {
  margin-top: 30px;
}
.content .box_att h2 {
  font-weight: normal;
  font-size: 24px;
  color: #333333;
  padding: 15px;
  border-bottom-color: #333333;
}
.content .box_att p {
  font-size: 14px;
  margin: 0px;
  color: #333333;
}
dl.faq {
  display: block;
  margin: auto;
  width: 90%;
}
dl.faq dt {
  font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "Sawarabi Mincho", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 20px;
  color: #ff6d00;
  background-color: #222;
  display: block;
  position: relative;
  width: 80%;
  margin-left: 20%;
  margin-bottom: 20px;
  border-radius: 20px;
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
  padding-top: 20px;
  padding-right: 20px;
  padding-bottom: 20px;
  padding-left: 50px;
  font-weight: bold;
}
dl.faq dt::before {
  font-family: "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Osaka, "ＭＳ ゴシック", "MS Gothic", sans-serif;
  font-size: 24px;
  content: "Q.";
  position: absolute;
  left: 20px;
  top: 13px;
}
dl.faq dt::after {
  border: solid transparent;
  content: '';
  height: 0;
  width: 0;
  pointer-events: none;
  position: absolute;
  border-color: rgba(34, 34, 34, 0.0);
  border-top-width: 16px;
  border-bottom-width: 16px;
  border-left-width: 8px;
  border-right-width: 8px;
  border-bottom-color: #222222;
  bottom: 100%;
  right: 30px;
}
dl.faq dd {
  font-size: 16px;
  background-color: #FFF;
  display: block;
  position: relative;
  width: 80%;
  padding: 20px;
  margin-bottom: 50px;
  border-radius: 20px;
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
  box-shadow: rgba(0, 0, 0, 0.05) 0px 0px 5px 0px;
  -webkit-box-shadow: rgba(0, 0, 0, 0.05) 0px 0px 5px 0px;
  -moz-box-shadow: rgba(0, 0, 0, 0.05) 0px 0px 5px 0px;
  padding-top: 20px;
  padding-right: 20px;
  padding-bottom: 20px;
  padding-left: 50px;
}
dl.faq dd::after {
  border: solid transparent;
  content: '';
  height: 0;
  width: 0;
  pointer-events: none;
  position: absolute;
  border-color: rgba(255, 255, 255, 0.0);
  border-top-width: 16px;
  border-bottom-width: 16px;
  border-left-width: 8px;
  border-right-width: 8px;
  border-bottom-color: #FFFFFF;
  bottom: 100%;
  left: 30px;
}
dl.faq dd::before {
  font-size: 24px;
  content: "A.";
  position: absolute;
  left: 20px;
  top: 13px;
}
.works_list li {
  display: block;
  float: left;
  width: 25%;
  padding: 20px;
}
.works_list li a {
  display: block;
  text-decoration: none;
  width: 100%;
  padding: 10px;
  border: 1px solid #F6F6F6;
  position: relative;
}
.works_list li a:hover {
  background-color: #FFF;
  border: 1px solid #DDD;
}
.works_list li a span {
  display: block;
  color: #000;
  font-size: 12px;
  background-color: #FFFFFF;
  position: absolute;
  top: 5px;
  left: 5px;
  z-index: 10;
  padding-top: 2px;
  padding-right: 5px;
  padding-bottom: 2px;
  padding-left: 5px;
}
.works_list li a span.cl_2 {
  background-color: #333333;
  color: #FFF;
}
.works_list li a span.cl_3 {
  background-color: #ff6d00;
}
.works_list li a img {
  width: 100%;
  height: 180px;
  object-fit: cover;
}
.works_list li a p {
  color: #111;
  text-align: center;
  margin: 0px;
}
.g_list li {
  display: block;
  float: left;
  width: 20%;
  padding: 20px;
}
.g_list li a {
  display: block;
  width: 100%;
  height: 150px;
  overflow: hidden;
}
.g_list li a img {
  width: 100%;
  height: 150px;
  object-fit: cover;
}
.g_list li a img:hover {
  -webkit-transform: scale(1.05);
  -moz-transform: scale(1.05);
  -o-transform: scale(1.05);
  -ms-transform: scale(1.05);
  transform: scale(1.05);
}
.g_list2 li {
  display: block;
  float: left;
  width: 100%;
  padding: 0px;
}
.g_list2 li a {
  display: block;
  width: 100%;
  overflow: hidden;
}
.g_list2 li a img {
  width: 100%;
  object-fit: cover;
}
.g_list2 li a img:hover {
  -webkit-transform: scale(1.05);
  -moz-transform: scale(1.05);
  -o-transform: scale(1.05);
  -ms-transform: scale(1.05);
  transform: scale(1.05);
}
.content .cont_wrap .box_left {
  width: 50%;
  float: left;
  padding: 10px;
}
.content .cont_wrap .box_right {
  width: 50%;
  float: right;
  text-align: center;
  padding-right: 10px;
  padding-bottom: 20px;
  padding-left: 10px;
}
.pager {
  padding-top: 50px;
  padding-bottom: 50px;
  clear: both;
}
.pager .pagination {
  text-align: center;
}
.pager .pagination li {
  display: inline;
  margin: 0 2px;
  padding: 0;
  width: 36px;
  height: 36px;
  text-align: center;
  position: relative;
}
.pager .pagination li a {
  vertical-align: middle;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  text-align: center;
  display: table;
  color: #FFF;
  text-decoration: none;
  background-color: #333333;
}
.pager .pagination li a span {
  display: table-cell;
  vertical-align: middle;
}
.pager .pagination li a:hover, .pager .pagination li a.active {
  color: #000;
  background-color: #F9F9F9;
}
.slider {
  margin: 0 auto;
  width: 100%;
}
.slider-img {
  margin: 0 10px;
}
.slider-img img {
  height: auto;
  width: 100%;
}
.bg01 {
  margin: -11% auto 0% auto;
  z-index: 100;
  position: relative;
}
a.anchor {
  padding-top: 70px;
  margin-top: -70px;
}
/*段組ここから*/
div.cover2 {
  display: table;
  margin: 0px;
  padding: 0px;
  width: 100%;
}
div.cover2 div.box2_1 {
  display: table-cell;
  width: 50%;
}
div.cover2 div.box2_2 {
  display: table-cell;
  width: 50%;
}
div.cover2-1 {
  display: table;
  margin: 0px;
  padding: 0px;
  width: 100%;
}
div.cover2-1 div.box2-1_1 {
  display: table-cell;
  width: 70%;
  vertical-align: top;
}
div.cover2-1 div.box2-1_2 {
  display: table-cell;
  width: 30%;
  vertical-align: top;
}
div.cover2-2 {
  display: table;
  margin: 0px auto;
  padding: 0px;
  width: 100%;
  max-width: 1000px;
}
div.cover2-2 p {
  text-align: center;
  line-height: 0.5em;
  font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
  font-size: 100%;
}
div.cover2-2 div.box2-2_1 {
  display: table-cell;
  width: 46%;
  background: linear-gradient(to right, #41c800 0%, #009256 100%);
  border-radius: 150px;
  padding: 2% 0% 2% 0%;
  box-shadow: 5px 5px 5px #878787;
}
div.cover2-2 div.box2-2_2 {
  display: table-cell;
  width: 46%;
  background: linear-gradient(to right, #00caf1 0%, #004b96 100%);
  border-radius: 150px;
  padding: 2% 0% 2% 0%;
  box-shadow: 5px 5px 5px #878787;
}
div.cover2-3 {
  display: table;
  margin: 0% 0% 5% 0%;
  padding: 0px;
  width: 100%;
}
div.cover2-3 div.box2-3_1 {
  display: table-cell;
  width: 46%;
  vertical-align: top;
}
div.cover2-3 div.box2-3_2 {
  display: table-cell;
  width: 46%;
  vertical-align: top;
}
div.cover2-4 {
  display: table;
  margin: 0px;
  padding: 0px;
  width: 100%;
}
div.cover2-4 div.box2-4_1 {
  display: table-cell;
  width: 50%;
}
div.cover2-4 div.box2-4_2 {
  display: table-cell;
  width: 50%;
}
div.cover2-5 {
  display: table;
  margin: 2% 0% 0% 0%;
  padding: 0px;
  width: 100%;
}
div.cover2-5 div.box2-5_1 {
  display: table-cell;
  width: 60%;
  vertical-align: top;
}
div.cover2-5 div.box2-5_2 {
  display: table-cell;
  width: 40%;
  vertical-align: top;
}
div.cover2-6 {
  display: table;
  margin: 2% 0% 0% 0%;
  padding: 0px;
  width: 100%;
}
div.cover2-6 div.box2-6_1 {
  display: table-cell;
  width: 70%;
  vertical-align: top;
}
div.cover2-6 div.box2-6_2 {
  display: table-cell;
  width: 30%;
  vertical-align: top;
}
div.cover3 {
  display: table;
  margin: 0px;
  padding: 0px;
  width: 100%;
}
div.cover3 div.box3_1 {
  display: table-cell;
  width: 34%;
  vertical-align: top;
}
div.cover3 div.box3_2 {
  display: table-cell;
  width: 33%;
}
div.cover3 div.box3_3 {
  width: 33%;
  display: table-cell;
}
div.cover3-1 {
  display: table;
  margin: 1% 0% 0% 0%;
  padding: 0px;
  width: 99%;
}
div.cover3-1 div.box3-1_1 {
  display: table-cell;
  width: 33%;
}
div.cover3-1 div.box3-1_2 {
  display: table-cell;
  width: 33%;
}
div.cover3-1 div.box3-1_3 {
  width: 33%;
  display: table-cell;
}
div.cover3-2 {
  display: table;
  margin: 1% 0% 0% 0%;
  padding: 0px;
  width: 99%;
}
div.cover3-2 div.box3-2_1 {
  display: table-cell;
  width: 33%;
}
div.cover3-2 div.box3-2_2 {
  display: table-cell;
  width: 33%;
}
div.cover3-2 div.box3-2_3 {
  width: 33%;
  display: table-cell;
}
@media (max-width: 1186px) {
  div.cover2 {
    display: block;
  }
  div.cover2 div.box2_1 {
    display: block;
    width: 100%;
  }
  div.cover2 div.box2_2 {
    display: block;
    width: 100%;
  }
}
@media (max-width: 896px) {
  div.cover2-1 {
    display: block;
  }
  div.cover2-1 div.box2-1_1 {
    display: block;
    width: 100%;
  }
  div.cover2-1 div.box2-1_2 {
    display: block;
    width: 100%;
  }
  div.cover2-2 {
    display: block;
  }
  div.cover2-2 div.box2-2_1 {
    display: block;
    width: 100%;
  }
  div.cover2-2 div.box2-2_2 {
    display: block;
    width: 100%;
  }
  div.cover2-3 {
    display: block;
  }
  div.cover2-3 div.box2-3_1 {
    display: block;
    width: 100%;
  }
  div.cover2-3 div.box2-3_2 {
    display: block;
    width: 100%;
  }
  div.cover2-5 {
    display: block;
  }
  div.cover2-5 div.box2-5_1 {
    display: block;
    width: 100%;
  }
  div.cover2-5 div.box2-5_2 {
    display: block;
    width: 100%;
  }
  div.cover2-6 {
    display: block;
  }
  div.cover2-6 div.box2-6_1 {
    display: block;
    width: 100%;
  }
  div.cover2-6 div.box2-6_2 {
    display: block;
    width: 100%;
  }
  div.cover3-2 {
    display: block;
  }
  div.cover3-2 div.box3-2_1 {
    display: block;
    width: 100%;
  }
  div.cover3-2 div.box3-2_2 {
    display: block;
    width: 100%;
  }
  div.cover3-2 div.box3-2_3 {
    display: block;
    width: 100%;
  }
}
@media (max-width: 640px) {
  div.cover3 {
    display: block;
  }
  div.cover3 div.box3_1 {
    display: block;
    width: 100%;
  }
  div.cover3 div.box3_2 {
    display: block;
    width: 100%;
  }
  div.cover3 div.box3_3 {
    display: block;
    width: 100%;
  }
  div.cover2-4 {
    display: block;
  }
  div.cover2-4 div.box2-4_1 {
    display: block;
    width: 100%;
  }
  div.cover2-4 div.box2-4_2 {
    display: block;
    width: 100%;
  }
}
@media screen and (min-width:960px) {
  body {
    font-size: 16px;
  }
  header {
    height: 90px;
  }
  header h1 a img {
    top: 23px;
    left: 10px;
    height: 44px;
  }
  .menu_btn, .btn_close {
    display: none;
  }
  #g_navi {
    position: absolute;
    right: 10px;
    top: 20px;
    width: auto;
    margin-left: 200px;
    display: block !important;
    z-index: 1000;
  }
  #g_navi ul li {
    display: inline;
  }
  #g_navi li a {
    width: auto;
    padding: 10px;
    line-height: 30px;
    display: block;
    color: #636363;
    text-decoration: none;
    text-align: center;
    position: relative;
    float: left;
    letter-spacing: 1px;
    font-size: 14px;
    font-weight: bold;
  }
  #g_navi li a::before {
    display: block;
    height: 2px;
    position: absolute;
    top: 2px;
    width: 70%;
    left: 15%;
    background-color: rgba(255, 191, 0, 0.0);
    content: '';
    -webkit-transition: 0.2s linear;
    -moz-transition: 0.2s linear;
    transition: 0.2s linear;
  }
  #g_navi li a:hover::before {
    background-color: rgba(255, 191, 0, 1);
    top: 0px;
    width: 80%;
    left: 10%;
  }
  #g_navi li a:hover {
    color: #ff6d00 !important;
  }
  header.txt_w #g_navi li a {
    color: #FFF;
  }
  header.txt_w.fixed #g_navi li a {
    color: #111;
  }
  #g_navi li.contact a {
    background: linear-gradient(#ffc600, #ff6d00);
    border-radius: 50px;
    color: #fff !important;
    padding-left: 20px;
    padding-right: 20px;
    margin-left: 10px;
  }
  #g_navi li.contact a:hover {
    color: #fff !important;
  }
  #g_navi li.contact a::before {
    display: none;
  }
  #index_top {
    min-height: 850px;
  }
  #sub_top.sample {
    background-image: url(../img/sub_top_sample.webp);
  }
  #sub_top.faq {
    background-image: url(../img/sub_top_faq.webp);
  }
  #sub_top.contact {
    background-image: url(../img/sub_top_contact.webp);
  }
  #sub_top.news {
    background-image: url(../img/sub_top_news.webp);
  }
  #sub_top.concept {
    background-image: url(../img/sub_top_concept.webp);
  }
  #sub_top.works {
    background-image: url(../img/sub_top_works.webp);
  }
  #sub_top.about {
    background-image: url(../img/sub_top_about.webp);
  }
  .no_pc {
    display: none !important;
  }
}
@media screen and (min-width:1200px) {
  header h1 a img {
    left: 50%;
    margin-left: -590px;
  }
  header #g_navi {
    right: 50%;
    margin-right: -590px;
  }
}
@media screen and (max-width:1200px) {
  .title04 {
    padding: 0% 0% 0% 10% !important;
  }
}
@media screen and (max-width:960px) {
  .title04 {
    padding: 0% 1% 0% 1% !important;
  }
  .bg01 {
    margin: -19% auto 0% auto;
  }
  .pick_up ul li {
    width: 100%;
    position: relative;
  }
  .pick_up ul li a img {
    width: 100%;
  }
  .pick_up h4 {
    font-size: 100%;
    margin-right: 0px !important;
    margin-left: 0px !important;
    padding: 15px 0px !important;
  }
  .example img {
    width: 20%;
  }
  .box01-2 {
    padding: 2% 2% 2% 2%;
    margin: 2% 0% 0% 0%;
  }
  .box01-1 {
    max-width: 600px;
  }
  .btn_cnt2 a {
    width: 100%;
    font-size: 100%;
    ;
  }
  .box02-1 {
    padding: 2% 2% 2% 2%;
    margin: 0% 0% 0% 0%;
  }
  .box02-2 {
    max-width: 600px;
    margin: 0% 0% 2% auto;
  }
  body {
    font-size: 16px;
  }
  body.fixed {
    overflow: hidden;
  }
  img {
    max-width: 100% !important;
  }
  .content h4 {
    margin-right: 10px;
    margin-left: 10px;
  }
  .menu_btn {
    display: block;
    height: 40px;
    width: 40px;
    text-align: center;
    padding-top: 5px;
    padding-bottom: 5px;
    position: fixed;
    z-index: 5000;
    top: 5px;
    right: 5px;
    cursor: pointer;
  }
  .menu_btn:hover {
    cursor: pointer;
  }
  .menu_btn span {
    width: 28px;
    height: 2px;
    display: block;
    position: absolute;
    left: 50%;
    top: 50%;
    margin-left: -14px;
    background-color: #111;
  }
  header.txt_w .menu_btn span {
    background-color: #ff6d00;
  }
  header.txt_w.fixed .menu_btn span {
    background-color: #111;
  }
  .menu_btn span {
    transition: all 0.3s;
    transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
  }
  .menu_btn span.top {
    transform: translateY(-8px);
    -webkit-transform: translateY(-8px);
    -moz-transform: translateY(-8px);
  }
  .menu_btn span.bottom {
    transform: translateY(8px);
    -webkit-transform: translateY(8px);
    -moz-transform: translateY(8px);
  }
  .menu_btn:hover span.top {
    transform: translateY(-10px);
    -webkit-transform: translateY(-10px);
    -moz-transform: translateY(-10px);
  }
  .menu_btn:hover span.bottom {
    transform: translateY(10px);
    -webkit-transform: translateY(10px);
    -moz-transform: translateY(10px);
  }
  .menu_btn.opened span {
    background-color: #555;
  }
  .menu_btn.opened span.middle {
    background: rgba(255, 255, 255, 0) !important;
    transform: translateX(30px);
    -webkit-transform: translateX(30px);
    -moz-transform: translateX(30px);
  }
  .menu_btn.opened span.top {
    transform: rotate(-45deg) translateY(0px);
    -webkit-transform: rotate(-45deg) translateY(0px);
    -moz-transform: rotate(-45deg) translateY(0px);
  }
  .menu_btn.opened span.bottom {
    transform: rotate(45deg) translateY(0px);
    -webkit-transform: rotate(45deg) translateY(0px);
    -moz-transform: rotate(45deg) translateY(0px);
  }
  #g_navi {
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0px;
    overflow: auto;
    z-index: 3000;
    background-color: #F6F6F6;
    background-color: rgba(246, 246, 246, 0.85);
    display: none;
    padding-left: 10%;
  }
  #g_navi ul {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-flow: column;
    flex-flow: column;
    -webkit-justify-content: center;
    justify-content: center;
    min-height: 100%;
  }
  #g_navi ul li a {
    color: #111;
    text-decoration: none;
    display: block;
    padding: 10px;
    line-height: 22px;
    font-size: 14px;
    font-weight: bold;
    letter-spacing: 1px;
  }
  #g_navi ul li a:hover {
    color: #111;
  }
  #g_navi ul li.contact a {
    text-align: center;
    background-color: #ff6d00;
    color: #fff;
    width: 90%;
  }
  #g_navi ul li.contact a:hover {
    background-color: #009256;
    color: #ddd;
  }
  .bg_bl {
    background-color: #FFF;
    height: 100%;
    width: 100%;
    opacity: 0.80;
    filter: alpha(opacity=80);
    -ms-filter: "alpha( opacity=80 )";
    display: block;
    position: fixed;
    z-index: 2000;
  }
  header {
    height: 52px;
    background-color: #fff;
  }
  header h1 a img {
    top: 10px;
    left: 10px;
    height: 36px;
  }
  header .h_menu {
    display: none;
  }
  header #info {
    display: none;
  }
  #sub_top.sample {
    background-image: url(../img/sub_top_sample_sp.webp);
  }
  #sub_top.faq {
    background-image: url(../img/sub_top_faq_sp.webp);
  }
  #sub_top.contact {
    background-image: url(../img/sub_top_contact_sp.webp);
  }
  #sub_top.news {
    background-image: url(../img/sub_top_news_sp.webp);
  }
  #sub_top.concept {
    background-image: url(../img/sub_top_concept_sp.webp);
  }
  #sub_top.works {
    background-image: url(../img/sub_top_works_sp.webp);
  }
  #sub_top.about {
    background-image: url(../img/sub_top_about_sp.webp);
  }
  footer {}
  footer .cont_wrap .f_box {
    width: 47%;
    text-align: center;
  }
  footer .cont_wrap .f_box.lg {
    width: 100%;
  }
  .no_sp {
    display: none;
  }
  .content .cont_wrap .box_left {
    width: 100%;
    float: none;
  }
  .content .cont_wrap .box_right {
    width: 100%;
    float: none;
    overflow: hidden;
  }
  .content .cont_wrap .box_right .fb-page {
    width: 100% !important;
  }
  .works_list li {}
  .g_list li {}
  .g_list2 li {}
}
@media only screen and (max-width: 767px) {
  .box p {
    font-size: 18px;
  }
  .btn_cnt2 a {
    width: 100%;
    font-size: 140%;
  }
  .pager {
    padding-top: 20px;
    padding-bottom: 20px;
  }
  .pager .pagination li {
    display: none;
  }
  .pager .pagination li.pre, .pager .pagination li.next {
    display: inline-block;
    width: 40%;
    height: 40px;
    text-align: center;
  }
  .pager .pagination li.pre a, .pager .pagination li.next a {
    width: 100%;
    text-align: center;
  }
  .pager .pagination li.pre span::after {
    content: "　前の10件へ";
  }
  .pager .pagination li.next span::before {
    content: "次の10件へ　";
  }
  .works_list li {
    width: 50%;
    padding: 10px;
  }
  .g_list li {
    width: 50%;
  }
  .g_list2 li {
    width: 100%;
  }
  .img_center span {
    font-size: 14px;
    padding: 5px;
  }
  .img_center div {
    font-size: 12px;
    padding: 20px;
  }
  dl.faq {
    width: 96%;
  }
  dl.faq dt {
    font-size: 18px;
    width: 90%;
    margin-left: 10%;
  }
  dl.faq dd {
    width: 90%;
  }
  .title03 h2 {
    font-size: 120%;
    margin: 7% 0% 0% 0%
  }
}
@media screen and (max-width:640px) {
  .section08-in {
    padding: 1% 1%;
  }
  .center02 {
    font-size: 90% !important;
  }
  .btn_cnt2 a {
    font-size: 120%;
  }
  .section03 h2 {
    font-size: 140%;
  }
  .section02 {
    padding: 0%;
  }
  .section02-in {
    padding: 1% 2%;
  }
  .h_sns {
    width: 100%;
    display: -webkit-box;
    display: -moz-box;
    display: -webkit-flexbox;
    display: -moz-flexbox;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-flex;
    display: flex;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    top: auto;
    bottom: 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding-right: 60px;
  }
  .h_sns li {
    width: 25%;
  }
  .h_sns li a {
    width: 100%;
    text-align: center;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
  }
  #index_top #top_catch {
    top: 25%;
    left: 5%;
    width: 90%;
    height: 50%;
    margin-top: 0px;
    margin-left: 0px;
  }
  #index_top #top_catch h2 {
    font-size: 40px;
  }
  #index_top #top_catch p {
    font-size: 12px;
  }
  #sub_top {
    height: 180px;
    padding-top: 100px;
  }
  .content {
    padding-top: 0px;
    padding-bottom: 0px;
  }
  .content p {
    margin-bottom: 0px;
    margin-top: 0px;
    margin-right: 0px;
    margin-left: 0px;
  }
  .img_left, .img_right {
    float: none;
    display: block;
    margin-left: auto;
    margin-right: auto;
    padding-left: 10px;
    padding-right: 10px;
    padding-bottom: 10px;
    max-width: 100%;
  }
  .pick_up ul li {
    width: 100%;
  }
  .content .ul_news li span.date {
    padding-right: 10px;
    display: block;
  }
  .obi_001 {
    padding-left: 10px;
    padding-right: 10px;
  }
  .obi_001 p {
    margin-left: 15px;
    margin-right: 15px;
    font-size: 100%;
    ;
  }
  .obi_002 {
    padding: 0 0 70%;
  }
  .obi_003 {
    padding-left: 10px;
    padding-right: 10px;
  }
  .obi_003 p {
    text-align: left;
    margin-left: 15px;
    margin-right: 15px;
    font-size: 14px;
  }
  .obi_004 {
    padding-left: 10px;
    padding-right: 10px;
  }
  .obi_004 p {
    text-align: left;
    margin-left: 15px;
    margin-right: 15px;
    font-size: 14px;
  }
  .loop_wrap {
    width: 400%;
  }
  .box_cont {
    padding-right: 10px;
    padding-left: 10px;
  }
  .box_cont .box_c_in {
    width: 100%;
    padding: 5px;
  }
  .content .cont_wrap .txt_box {
    margin-left: 0px;
    margin-right: 0px;
  }
}
@media screen and (max-width:460px) {
  footer .cont_wrap ul {
    padding: 0px;
  }
  .section05 {
    padding: 3% 3% 0% 3%;
  }
  .section05-in {
    padding: 1% 0%;
  }
  .section06-in {
    padding: 1% 0%;
  }
  .obi_001 p {
    margin-left: 0px;
    margin-right: 0px;
  }
  .section04-in {
    padding: 5% 1% 0% 1%;
  }
  div.cover2-2 {
    margin-top: 4%;
  }
  .conv01 {
    font-size: 80% !important;
  }
  .conv02 {
    font-size: 170% !important;
  }
  .conv03 {
    font-size: 100% !important;
  }
  div.cover2-2 p {
    line-height: 0.5em;
    padding: 2% 0% 2% 0%;
  }
  .obi_001 p {
    margin-left: 0px;
    margin-right: 0px;
  }
  .section02-in {
    margin: 1em auto;
  }
  .content p {
    padding: 0px;
    font-size: 17px;
    line-height: 1.6em;
  }
  .section01-in {
    margin: 1em auto;
  }
  .btn_cnt a {
    padding-bottom: 10px;
  }
  .content .ul_news li {
    padding: 5px 10px 5px 10px;
  }
  .section01-in {
    padding: 3% 2% 0% 2%;
  }
  input, textarea {
    max-width: 300px !important;
  }
  .content table.table_01 th, .content table.table_01 td {
    width: 100% !important;
    display: block;
  }
  .content table.table_01 th {
    background-color: #F6F6F6;
  }
  #index_top #top_catch h2 {
    font-size: 30px;
  }
  #sub_top {
    font-size: 24px;
  }
  .content h2 {
    font-size: 17px;
    line-height: 1.6em;
  }
  .content .obi_001 h2 {
    font-size: 22px;
  }
  .section14 h2 span {
    line-height: 1.5em;
  }
  .section14 h2 {
    margin-bottom: 1%;
  }
  .section14-in {
    padding: 1% 3%;
  }
  .waku01 {
    margin: 10% auto 3% auto;
  }
  .title8 {
    margin: 10% 0% -13% 0% !important;
  }
  .section09-in {
    margin: 5% auto 0% auto;
  }
  .section08 {
    padding: 2% 0% 4% 0;
  }
  .section11-in h2 {
    margin-top: 5%;
  }
  .content h3 {
    margin-bottom: 0px;
    margin-top: 20px;
    padding-top: 0px;
    padding-right: 0px;
    padding-bottom: 0px;
    padding-left: 0px;
    font-size: 110%;
    line-height: 1.3em;
  }
  .section12-in {
    padding: 9% 2% 0% 2%;
  }
  .section12-in h2 {
    font-size: 16px;
  }
  .netcase p {
    font-size: 95%;
    text-align: center
  }
  .section18-in {
    padding: 4% 0%;
  }
  .obi_004 {
    padding-left: 0px;
    padding-right: 0px;
  }
  .section19-in {
    padding: 3% 0% 2% 0%;
  }
  .section20-in {
    padding: 7% 2% 1% 2%;
  }
  .title07 {
    margin-top: 20px !important;
  }
  .section23-in {
    padding: 6% 2% 0% 2% !important;
  }
  footer .cont_wrap ul li a {
    font-size: 12px;
    line-height: 2.3em;
    padding: 3% 0% 0% 0%;
  }
  footer .cont_wrap p {
    font-size: 13px;
    line-height: 1.5em;
  }
  .content .ul_news li span.i_con {
    padding-left: 5px;
    padding-right: 5px;
    margin: 0px 5px 0px 0px;
    font-size: 75%;
  }
  .content .ul_news li {
    font-size: 85%;
  }
  .btn_cnt a {
    margin-bottom: 10px;
  }
  .content h2 span {
    line-height: 1.4;
  }
  footer .cont_wrap .f_box.lg img {
    width: 70%;
  }
}