@charset "utf-8";
.limit {
  margin: auto;
  width: 1005px;
  min-width: 1005px;
  padding: initial;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  .limit {
    width: 100%;
    min-width: 100%;
  }
}
@media all and (min-width: 0px) and (max-width: 768px) {
  .limit {
    padding: 0 10px;
  }
}
.gothic,
*,
*:before,
*:after {
  font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
}
.serif {
  font-family: '游明朝体', '游明朝', 'YuMincho', 'Roboto Slab', Garamond, 'Times New Roman', 'ヒラギノ明朝 Pro W3', 'Hiragino Mincho Pro', 'HiraMinProN-W3', 'HGS明朝E', 'ＭＳ Ｐ明朝', 'MS PMincho', 'serif';
}
.sans {
  font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
}
.marugo {
  font-family: "ヒラギノ丸ゴ Pro W4", "ヒラギノ丸ゴ Pro", "Hiragino Maru Gothic Pro", "HG丸ｺﾞｼｯｸM-PRO", "HGMaruGothicMPRO";
}
@font-face {
  font-family: 'Zen Maru Gothic-M';
  src: url('../font/Zen_Maru_Gothic/ZenMaruGothic-Medium.woff') format('woff');
  font-display: swap;
}
@font-face {
  font-family: 'Zen Maru Gothic';
  src: url('../font/Zen_Maru_Gothic/ZenMaruGothic-Regular.woff') format('woff');
  font-display: swap;
}
.zenmaru {
  font-family: 'Zen Maru Gothic', sans-serif;
}
.zenmaru-m {
  font-family: 'Zen Maru Gothic-M', sans-serif;
}
*,
*:before,
*:after {
  padding: 0;
  margin: 0;
  border: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-size: 16px;
  color: #fff;
}
* *,
*:before *,
*:after * {
  font-size: inherit;
}
table,
caption,
th,
td {
  margin: 0;
  padding: 0;
  border: 0;
  border-collapse: collapse;
  border-spacing: 0px;
  empty-cells: show;
  text-align: left;
  font-weight: normal;
  vertical-align: top;
}
table {
  width: 100%;
}
img {
  pointer-events: none;
}
a {
  color: #0086cd;
  font-size: inherit;
  cursor: pointer;
  display: inline-block;
}
a:hover,
a.active {
  cursor: pointer;
}
a img:hover {
  opacity: 0.7;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  a img:hover {
    opacity: 1;
  }
}
h1 span,
h2 span,
h3 span,
h4 span,
h5 span,
h6 span {
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}
h2 {
  text-align: center;
}
h3 {
  text-align: center;
  color: #000;
  font-size: 1rem;
  line-height: calc(1rem * 1.8);
  font-weight: bold;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  h3 {
    font-size: 1rem;
    line-height: calc(1rem * 1.8);
  }
}
.errors {
  color: #ff0000;
  text-align: left;
  padding: 10px;
  margin: 0 !important;
  color: #000;
  font-size: 0.9rem;
  line-height: calc(0.9rem * 1.8);
  font-weight: normal;
  font-weight: bold;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  .errors {
    font-size: 0.9rem;
    line-height: calc(0.9rem * 1.8);
  }
}
a img,
iframe {
  border: none;
}
iframe {
  display: block;
}
ol,
ul,
li {
  list-style: none;
}
input,
textarea,
select,
button {
  font-size: 100%;
  font-family: inherit;
}
input[type=button],
input[type=submit] {
  -webkit-appearance: none;
}
select {
  -webkit-appearance: none;
  margin: inherit;
}
.clearfix {
  content: ".";
  display: block;
  height: 0;
  font-size: 0;
  clear: both;
  visibility: hidden;
}
.reset {
  font-size: initial;
  font-weight: initial;
  font-family: initial;
  border: initial;
  padding: initial;
  margin: initial;
  width: initial;
  min-width: initial;
  max-width: initial;
  height: initial;
  min-height: initial;
  max-height: initial;
  line-height: initial;
  list-style: initial;
  vertical-align: initial;
  color: initial;
  text-decoration: initial;
}
.reset * {
  font-size: inherit;
  font-weight: inherit;
  font-family: inherit;
  list-style: inherit;
  vertical-align: inherit;
  color: inherit;
  text-decoration: inherit;
}
.reset div,
.reset p,
.reset ul,
.reset ol,
.reset dl,
.reset table,
.reset tbody,
.reset tr {
  width: 100%;
}
.reset img,
.reset span,
.reset strong,
.reset a,
.reset b,
.reset em,
.reset i,
.reset q,
.reset s,
.reset small,
.reset strike,
.reset sub,
.reset sup {
  width: initial;
}
.reset b,
.reset strong {
  font-weight: bold;
  color: inherit;
}
.reset span {
  font-weight: inherit;
  color: inherit;
  color: #000 !important;
}
.reset a {
  color: #0086cd;
  text-decoration: underline;
}
.reset p {
  line-height: 2.5rem;
  color: #000 !important;
}
.pc {
  display: initial;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  .pc {
    display: none;
  }
}
.sp {
  display: none;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  .sp {
    display: initial;
  }
}
.none {
  display: none;
}
#showtitlewrapper {
  padding: 5px 20px;
  height: initial;
  -webkit-transform: translate(-2px, -2px);
          transform: translate(-2px, -2px);
  border: solid 1px black;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  #showtitlewrapper {
    padding: 5px 20px;
  }
}
.debug {
  display: none !important;
}
p span,
dt span,
dd.last_b span {
  display: inline-block;
}
.order.o01 {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
.order.o02 {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}
.order.o03 {
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
}
.order.o04 {
  -webkit-box-ordinal-group: 5;
      -ms-flex-order: 4;
          order: 4;
}
.order.o05 {
  -webkit-box-ordinal-group: 6;
      -ms-flex-order: 5;
          order: 5;
}
.order.o06 {
  -webkit-box-ordinal-group: 7;
      -ms-flex-order: 6;
          order: 6;
}
.order.o07 {
  -webkit-box-ordinal-group: 8;
      -ms-flex-order: 7;
          order: 7;
}
.order.o08 {
  -webkit-box-ordinal-group: 9;
      -ms-flex-order: 8;
          order: 8;
}
.order.o09 {
  -webkit-box-ordinal-group: 10;
      -ms-flex-order: 9;
          order: 9;
}
.order.o10 {
  -webkit-box-ordinal-group: 11;
      -ms-flex-order: 10;
          order: 10;
}
.order.o11 {
  -webkit-box-ordinal-group: 12;
      -ms-flex-order: 11;
          order: 11;
}
.order.o12 {
  -webkit-box-ordinal-group: 13;
      -ms-flex-order: 12;
          order: 12;
}
.order.o13 {
  -webkit-box-ordinal-group: 14;
      -ms-flex-order: 13;
          order: 13;
}
.order.o14 {
  -webkit-box-ordinal-group: 15;
      -ms-flex-order: 14;
          order: 14;
}
.order.o15 {
  -webkit-box-ordinal-group: 16;
      -ms-flex-order: 15;
          order: 15;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  .order.o01sp {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .order.o02sp {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .order.o03sp {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
  .order.o04sp {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
  }
  .order.o05sp {
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5;
  }
  .order.o06sp {
    -webkit-box-ordinal-group: 7;
        -ms-flex-order: 6;
            order: 6;
  }
  .order.o07sp {
    -webkit-box-ordinal-group: 8;
        -ms-flex-order: 7;
            order: 7;
  }
  .order.o08sp {
    -webkit-box-ordinal-group: 9;
        -ms-flex-order: 8;
            order: 8;
  }
  .order.o09sp {
    -webkit-box-ordinal-group: 10;
        -ms-flex-order: 9;
            order: 9;
  }
  .order.o10sp {
    -webkit-box-ordinal-group: 11;
        -ms-flex-order: 10;
            order: 10;
  }
  .order.o11sp {
    -webkit-box-ordinal-group: 12;
        -ms-flex-order: 11;
            order: 11;
  }
  .order.o12sp {
    -webkit-box-ordinal-group: 13;
        -ms-flex-order: 12;
            order: 12;
  }
  .order.o13sp {
    -webkit-box-ordinal-group: 14;
        -ms-flex-order: 13;
            order: 13;
  }
  .order.o14sp {
    -webkit-box-ordinal-group: 15;
        -ms-flex-order: 14;
            order: 14;
  }
  .order.o15sp {
    -webkit-box-ordinal-group: 16;
        -ms-flex-order: 15;
            order: 15;
  }
}
.bg_gray {
  background-color: #ffffff;
}
.loading {
  position: absolute;
  margin: auto;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  width: 15px;
  height: 15px;
  border-radius: 100%;
  -webkit-box-shadow: 15px 15px #4f4d49, -15px 15px #dfdfdf, -15px -15px #4f4d49, 15px -15px #dfdfdf;
          box-shadow: 15px 15px #4f4d49, -15px 15px #dfdfdf, -15px -15px #4f4d49, 15px -15px #dfdfdf;
  -webkit-animation: cssload-spin ease infinite 4.6s;
          animation: cssload-spin ease infinite 4.6s;
}
@-webkit-keyframes cssload-spin {
  0%,
  100% {
    -webkit-box-shadow: 15px 15px #4f4d49, -15px 15px #dfdfdf, -15px -15px #4f4d49, 15px -15px #dfdfdf;
            box-shadow: 15px 15px #4f4d49, -15px 15px #dfdfdf, -15px -15px #4f4d49, 15px -15px #dfdfdf;
  }
  25% {
    -webkit-box-shadow: -15px 15px #dfdfdf, -15px -15px #4f4d49, 15px -15px #dfdfdf, 15px 15px #4f4d49;
            box-shadow: -15px 15px #dfdfdf, -15px -15px #4f4d49, 15px -15px #dfdfdf, 15px 15px #4f4d49;
  }
  50% {
    -webkit-box-shadow: -15px -15px #4f4d49, 15px -15px #dfdfdf, 15px 15px #4f4d49, -15px 15px #dfdfdf;
            box-shadow: -15px -15px #4f4d49, 15px -15px #dfdfdf, 15px 15px #4f4d49, -15px 15px #dfdfdf;
  }
  75% {
    -webkit-box-shadow: 15px -15px #dfdfdf, 15px 15px #4f4d49, -15px 15px #dfdfdf, -15px -15px #4f4d49;
            box-shadow: 15px -15px #dfdfdf, 15px 15px #4f4d49, -15px 15px #dfdfdf, -15px -15px #4f4d49;
  }
}
@keyframes cssload-spin {
  0%,
  100% {
    -webkit-box-shadow: 15px 15px #4f4d49, -15px 15px #dfdfdf, -15px -15px #4f4d49, 15px -15px #dfdfdf;
            box-shadow: 15px 15px #4f4d49, -15px 15px #dfdfdf, -15px -15px #4f4d49, 15px -15px #dfdfdf;
  }
  25% {
    -webkit-box-shadow: -15px 15px #dfdfdf, -15px -15px #4f4d49, 15px -15px #dfdfdf, 15px 15px #4f4d49;
            box-shadow: -15px 15px #dfdfdf, -15px -15px #4f4d49, 15px -15px #dfdfdf, 15px 15px #4f4d49;
  }
  50% {
    -webkit-box-shadow: -15px -15px #4f4d49, 15px -15px #dfdfdf, 15px 15px #4f4d49, -15px 15px #dfdfdf;
            box-shadow: -15px -15px #4f4d49, 15px -15px #dfdfdf, 15px 15px #4f4d49, -15px 15px #dfdfdf;
  }
  75% {
    -webkit-box-shadow: 15px -15px #dfdfdf, 15px 15px #4f4d49, -15px 15px #dfdfdf, -15px -15px #4f4d49;
            box-shadow: 15px -15px #dfdfdf, 15px 15px #4f4d49, -15px 15px #dfdfdf, -15px -15px #4f4d49;
  }
}
body {
  width: 100%;
  -webkit-text-size-adjust: 100%;
  /* ---  共通  -- */
  /* ----------- */
}
body p,
body span {
  color: #000;
}
body .bg_b {
  width: 100%;
  min-width: 1200px;
  margin: auto;
  background-color: #00aacb;
  text-align: center;
  padding: initial;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body .bg_b {
    width: 100%;
    min-width: 100%;
  }
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body .bg_b {
    padding: 0 10px;
  }
}
body .contact_box {
  padding: 50px 0;
  width: 1005px;
  min-width: 1005px;
  margin: auto;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body .contact_box {
    padding: 35px 5px;
  }
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body .contact_box {
    width: 100%;
    min-width: 100%;
  }
}
body .contact_box > div {
  text-align: center;
  width: 100%;
}
body .contact_box > div > strong {
  width: 100%;
  display: inline-block;
  background: #00aacb;
  padding: 14px 0 6px 0;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body .contact_box > div > strong {
    padding: 10px 10px 6px 10px;
  }
}
body .contact_box > div > strong > span {
  color: #ffffff;
  font-size: 2rem;
  line-height: calc(2rem * 1.8);
  font-weight: bold;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body .contact_box > div > strong > span {
    font-size: 1.3rem;
    line-height: calc(1.3rem * 1.8);
  }
}
@media all and (max-width: 768px) {
  body .contact_box > div > strong > span {
    display: inline-block;
  }
}
body .contact_box > div .contact_conts {
  border: solid 7px #00aacb;
  height: initial !important;
}
body .contact_box > div .contact_conts > div {
  border-bottom: solid 7px #00aacb;
  padding: initial;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body .contact_box > div .contact_conts > div {
    padding: 15px;
  }
}
@media all and (max-width: 768px) {
  body .contact_box > div .contact_conts > div {
    text-align: left;
  }
}
body .contact_box > div .contact_conts > div > span {
  color: #00aacb;
  font-size: 1.3rem;
  line-height: calc(1.3rem * 1.8);
  font-weight: initial;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body .contact_box > div .contact_conts > div > span {
    font-size: 1rem;
    line-height: calc(1rem * 1.8);
  }
}
body .contact_box > div .contact_conts > div:first-of-type {
  padding: 15px 0;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body .contact_box > div .contact_conts > div:first-of-type {
    padding: 10px;
  }
}
body .contact_box > div .contact_conts > div:nth-of-type(3),
body .contact_box > div .contact_conts > div:nth-of-type(5) {
  border-bottom: initial;
}
body .contact_box > div .contact_conts .free_box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 30px;
  border-bottom: initial;
  margin: 20px 0 0 0;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body .contact_box > div .contact_conts .free_box {
    margin: initial;
  }
}
@media all and (max-width: 768px) {
  body .contact_box > div .contact_conts .free_box {
    gap: 13px;
  }
}
body .contact_box > div .contact_conts .free_box img {
  width: 430px;
  min-width: initial;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body .contact_box > div .contact_conts .free_box img {
    width: 45%;
    min-width: initial;
  }
}
@media all and (max-width: 768px) {
  body .contact_box > div .contact_conts .free_box img {
    max-width: 290px;
  }
}
body .contact_box > div .contact_conts .tel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 40px;
  padding: 25px 0 0 0;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body .contact_box > div .contact_conts .tel {
    padding: 20px 0 0 0;
  }
}
@media all and (max-width: 768px) {
  body .contact_box > div .contact_conts .tel {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 23px;
  }
}
body .contact_box > div .contact_conts .tel img {
  display: inline-block;
}
body .contact_box > div .contact_conts .tel img:nth-of-type(1) {
  max-height: 80px;
}
@media all and (max-width: 768px) {
  body .contact_box > div .contact_conts .tel img:nth-of-type(1) {
    max-height: 50px;
  }
}
body .contact_box > div .contact_conts .tel img:nth-of-type(2) {
  width: 65px;
  min-width: initial;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body .contact_box > div .contact_conts .tel img:nth-of-type(2) {
    width: 50px;
    min-width: initial;
  }
}
body .contact_box > div .contact_conts .tel a img {
  max-height: 83px;
}
@media all and (max-width: 768px) {
  body .contact_box > div .contact_conts .tel a img {
    width: 100%;
    padding: 0 10px;
  }
}
body .contact_box > div .contact_conts .time {
  padding: initial;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body .contact_box > div .contact_conts .time {
    padding: 10px;
  }
}
@media all and (max-width: 768px) {
  body .contact_box > div .contact_conts .time {
    text-align: center;
  }
}
body .contact_box > div .contact_conts .time span {
  color: #00aacb;
  font-size: 2rem;
  line-height: calc(2rem * 1.8);
  font-weight: bold;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body .contact_box > div .contact_conts .time span {
    font-size: 1.1rem;
    line-height: calc(1.1rem * 1.8);
  }
}
@media all and (max-width: 768px) {
  body .contact_box > div .contact_conts .time span {
    display: block;
  }
}
body .contact_box > div .contact_conts .time span:nth-of-type(2),
body .contact_box > div .contact_conts .time span:nth-of-type(3) {
  padding: 0 0 0 30px;
  display: inline-block;
  color: #00aacb;
  font-size: 1.8rem;
  line-height: calc(1.8rem * 1.8);
  font-weight: bold;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body .contact_box > div .contact_conts .time span:nth-of-type(2),
  body .contact_box > div .contact_conts .time span:nth-of-type(3) {
    padding: initial;
  }
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body .contact_box > div .contact_conts .time span:nth-of-type(2),
  body .contact_box > div .contact_conts .time span:nth-of-type(3) {
    font-size: 1.1rem;
    line-height: calc(1.1rem * 1.8);
  }
}
body .contact_box > div .contact_conts .btn {
  padding: 20px 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 40px;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body .contact_box > div .contact_conts .btn {
    padding: 20px 10px;
  }
}
@media all and (max-width: 768px) {
  body .contact_box > div .contact_conts .btn {
    text-align: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
body .contact_box > div .contact_conts .btn a {
  padding: 25px 40px;
  background-color: #eb6ea5;
  text-decoration: none;
  border-radius: 10px;
  -webkit-box-shadow: 3px 3px 3px rgba(35, 23, 20, 0.3);
          box-shadow: 3px 3px 3px rgba(35, 23, 20, 0.3);
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body .contact_box > div .contact_conts .btn a {
    padding: 18px 20px;
  }
}
body .contact_box > div .contact_conts .btn a span {
  color: #ffffff;
  font-size: 1.8rem;
  line-height: calc(1.8rem * 1.8);
  font-weight: bold;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body .contact_box > div .contact_conts .btn a span {
    font-size: 1rem;
    line-height: calc(1rem * 1.8);
  }
}
body .contact_box > div .contact_conts .btn a span:before {
  content: " ";
  display: inline-block;
  /* .mixin-width(77px, initial, 53px, initial);
                 */
  background-repeat: no-repeat;
  background-size: 75px;
  vertical-align: middle;
  margin-right: 10px;
}
@media all and (max-width: 768px) {
  body .contact_box > div .contact_conts .btn a span:before {
    background-size: 50px;
  }
}
body .contact_box > div .contact_conts .btn a:hover {
  opacity: 0.5;
}
body .contact_box > div .contact_conts .btn a:first-of-type {
  padding: 25px 40px;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body .contact_box > div .contact_conts .btn a:first-of-type {
    padding: 18px 30px;
  }
}
body .contact_box > div .contact_conts .btn a:first-of-type span:before {
  width: 62px;
  min-width: initial;
  background-image: url(../img/contact/mail.png);
  background-size: 62px;
  height: 48px;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body .contact_box > div .contact_conts .btn a:first-of-type span:before {
    width: 44px;
    min-width: initial;
  }
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body .contact_box > div .contact_conts .btn a:first-of-type span:before {
    height: 40px;
  }
}
@media all and (max-width: 768px) {
  body .contact_box > div .contact_conts .btn a:first-of-type span:before {
    background-size: 44px;
    -webkit-transform: translateY(3px);
            transform: translateY(3px);
  }
}
body .contact_box > div .contact_conts .btn a:last-of-type {
  padding: 21px 45px;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body .contact_box > div .contact_conts .btn a:last-of-type {
    padding: 13px 34px;
  }
}
@media screen and (min-width: 580px) and (max-width: 768px) {
}
body .contact_box > div .contact_conts .btn a:last-of-type span:before {
  width: 67px;
  min-width: initial;
  background-image: url(../img/contact/line.png);
  background-size: 63px;
  height: 61px;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body .contact_box > div .contact_conts .btn a:last-of-type span:before {
    width: 44px;
    min-width: initial;
  }
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body .contact_box > div .contact_conts .btn a:last-of-type span:before {
    height: 50px;
  }
}
@media all and (max-width: 768px) {
  body .contact_box > div .contact_conts .btn a:last-of-type span:before {
    background-size: 44px;
    -webkit-transform: translateY(4px);
            transform: translateY(4px);
  }
}
body h2 {
  width: 1005px;
  min-width: 1005px;
  margin: auto;
  background: #ffffff;
  padding: 5px;
  -webkit-box-shadow: -9px -9px #0095b2;
          box-shadow: -9px -9px #0095b2;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body h2 {
    width: 100%;
    min-width: 100%;
  }
}
@media all and (max-width: 768px) {
  body h2 {
    text-align: left;
    -webkit-box-shadow: -6px -6px #0095b2;
            box-shadow: -6px -6px #0095b2;
    max-width: 100%;
  }
}
body h2 > div {
  border: solid 5px #00aacb;
  text-align: center;
}
@media all and (max-width: 768px) {
  body h2 > div {
    border: solid 3px #00aacb;
  }
}
body h2 > div img {
  -webkit-transform: translate(0, -10px);
          transform: translate(0, -10px);
  width: 822px;
  min-width: 822px;
  padding: 0 10px 15px 10px;
  display: inline-block;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body h2 > div img {
    width: 100%;
    min-width: 100%;
  }
}
@media all and (max-width: 768px) {
  body h2 > div img {
    padding: 0 15px 0 15px;
    margin-bottom: 2%;
    -webkit-transform: translate(0, -2%);
            transform: translate(0, -2%);
  }
}
body h3 {
  -webkit-box-shadow: -9px -9px #c5c6c6;
          box-shadow: -9px -9px #c5c6c6;
  width: 532px;
  min-width: initial;
  margin: auto;
  background: #ffffff;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body h3 {
    width: 532px;
    min-width: initial;
  }
}
@media all and (max-width: 768px) {
  body h3 {
    max-width: 100%;
    -webkit-box-shadow: -6px -6px #dcdddd;
            box-shadow: -6px -6px #dcdddd;
  }
}
body h3 > div {
  display: block;
  width: 532px;
  min-width: initial;
  background-color: #00aacb;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body h3 > div {
    width: 532px;
    min-width: initial;
  }
}
@media all and (max-width: 768px) {
  body h3 > div {
    max-width: 100%;
    padding: 10px;
  }
}
body h3 > div span {
  color: #ffffff;
  font-size: 2.2rem;
  line-height: calc(2.2rem * 1.8);
  font-weight: bold;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body h3 > div span {
    font-size: 1.3rem;
    line-height: calc(1.3rem * 1.8);
  }
}
@media all and (max-width: 768px) {
  body h3 > div span {
    font-size: min(5vw, 35px);
  }
}
body header {
  width: 100%;
  min-width: 1200px;
  height: 907px;
  margin: auto;
  overflow: hidden;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body header {
    width: 100%;
    min-width: 100%;
  }
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body header {
    height: 600px;
  }
}
@media all and (max-width: 768px) {
  body header {
    min-height: 383px;
    height: initial;
  }
}
body header h1 {
  border-top: 15px solid #ffffff;
  border-bottom: 15px solid #ffffff;
  padding: 15px 0;
  background: #00aacb;
}
@media all and (max-width: 768px) {
  body header h1 {
    border-top: 10px solid #ffffff;
    border-bottom: 10px solid #ffffff;
  }
}
body header h1 > img {
  width: 700px;
  min-width: 700px;
  text-align: center;
  display: block;
  margin: auto;
  max-height: 447px;
  min-height: 447px;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body header h1 > img {
    width: 95%;
    min-width: 95%;
  }
}
@media all and (max-width: 768px) {
  body header h1 > img {
    max-height: initial;
    min-height: initial;
  }
}
body header .flex {
  height: 200px;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  overflow: hidden;
}
@media all and (max-width: 768px) {
  body header .flex {
    height: 90px;
  }
}
body header .flex > div {
  position: relative;
}
body header .flex > div:nth-of-type(1),
body header .flex > div:nth-of-type(3) {
  width: 22.5%;
}
body header .flex > div:nth-of-type(2) {
  width: 55%;
  border-left: solid 15px #ffffff;
  border-right: solid 15px #ffffff;
}
@media all and (max-width: 768px) {
  body header .flex > div:nth-of-type(2) {
    border-left: solid 10px #ffffff;
    border-right: solid 10px #ffffff;
  }
}
body header .flex > div:nth-of-type(2) > img {
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
body header .flex > div img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  height: 200px;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media all and (max-width: 768px) {
  body header .flex > div img {
    height: 90px;
  }
}
body header .flex.top > div:nth-of-type(2) img {
  top: 50%;
  width: 100%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
@media all and (max-width: 768px) {
}
body main {
  width: 100%;
  min-width: 1200px;
  margin: auto;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body main {
    width: 100%;
    min-width: 100%;
  }
}
body main .btn {
  padding: 50px 0 0 0;
  text-align: center;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body main .btn {
    padding: 35px 10px 0 10px;
  }
}
body main .btn a {
  padding: 11px 83px;
  background-color: #9cc813;
  color: #ffffff;
  font-size: 2.2rem;
  line-height: calc(2.2rem * 1.8);
  font-weight: bold;
  text-decoration: none;
  border-radius: 10px;
  -webkit-box-shadow: 3px 3px 3px rgba(35, 23, 20, 0.3);
          box-shadow: 3px 3px 3px rgba(35, 23, 20, 0.3);
  line-height: 1.3 !important;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body main .btn a {
    padding: 18px 50px;
  }
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body main .btn a {
    font-size: 1.3rem;
    line-height: calc(1.3rem * 1.8);
  }
}
body main .btn a:hover {
  opacity: 0.5;
}
body main .bg_b {
  margin: 30px 0 0 0;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body main .bg_b {
    margin: 30px 0 0 0;
  }
}
body main .bg_b .sec01 {
  text-align: center;
  padding: 40px 0 95px 0;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body main .bg_b .sec01 {
    padding: 40px 0 95px 0;
  }
}
body main .bg_b .sec01 > div {
  width: 1005px;
  min-width: 1005px;
  margin: auto;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body main .bg_b .sec01 > div {
    width: 100%;
    min-width: 100%;
  }
}
body main .bg_b .sec01 > div .sec01_1 > div h2 > div {
  position: relative;
  min-height: 132px;
}
@media all and (max-width: 768px) {
  body main .bg_b .sec01 > div .sec01_1 > div h2 > div {
    min-height: 85px;
  }
}
body main .bg_b .sec01 > div .sec01_1 > div h2 > div img {
  -webkit-transform: initial;
          transform: initial;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  padding: initial;
}
@media all and (max-width: 768px) {
  body main .bg_b .sec01 > div .sec01_1 > div h2 > div img {
    padding: 15px 15px;
  }
}
body main .bg_b .sec01 > div .sec01_1 > div .type_box {
  width: 1005px;
  min-width: 1005px;
  margin: 50px auto 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 25px 10px;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body main .bg_b .sec01 > div .sec01_1 > div .type_box {
    width: 100%;
    min-width: 100%;
  }
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body main .bg_b .sec01 > div .sec01_1 > div .type_box {
    margin: 40px 0 0 0;
  }
}
@media all and (max-width: 768px) {
  body main .bg_b .sec01 > div .sec01_1 > div .type_box {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
body main .bg_b .sec01 > div .sec01_1 > div .type_box > div {
  text-align: center;
}
@media all and (max-width: 768px) {
  body main .bg_b .sec01 > div .sec01_1 > div .type_box > div {
    width: calc((100% - 30px) / 3);
  }
}
@media all and (max-width: 550px) {
  body main .bg_b .sec01 > div .sec01_1 > div .type_box > div {
    width: 45%;
  }
}
body main .bg_b .sec01 > div .sec01_1 > div .type_box > div img {
  width: 305px;
  min-width: initial;
  vertical-align: middle;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body main .bg_b .sec01 > div .sec01_1 > div .type_box > div img {
    width: 100%;
    min-width: initial;
  }
}
body main .bg_b .sec01 > div .sec01_1 > div > strong {
  color: #ffffff;
  font-size: 2.2rem;
  line-height: calc(2.2rem * 1.8);
  font-weight: bold;
  display: inline-block;
  margin: 10px 0 0 0;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body main .bg_b .sec01 > div .sec01_1 > div > strong {
    font-size: 1.2rem;
    line-height: calc(1.2rem * 1.8);
  }
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body main .bg_b .sec01 > div .sec01_1 > div > strong {
    margin: 10px 0 0 0;
  }
}
@media all and (max-width: 768px) {
  body main .bg_b .sec01 > div .sec01_1 > div > strong {
    text-align: left;
  }
}
body main .bg_b .sec01 > div .sec01_2 {
  margin-top: 50px;
  padding: 35px 30px 60px 30px;
  background: #ffffff;
  overflow-x: hidden;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body main .bg_b .sec01 > div .sec01_2 {
    padding: 50px 20px;
  }
}
body main .bg_b .sec01 > div .sec01_2 > div .logo_box {
  margin: 90px auto 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 50px 75px;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body main .bg_b .sec01 > div .sec01_2 > div .logo_box {
    margin: 40px 0 0 0;
  }
}
@media all and (max-width: 768px) {
  body main .bg_b .sec01 > div .sec01_2 > div .logo_box {
    gap: 20px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
body main .bg_b .sec01 > div .sec01_2 > div .logo_box > div {
  text-align: center;
}
@media all and (max-width: 768px) {
  body main .bg_b .sec01 > div .sec01_2 > div .logo_box > div {
    width: calc(50% - 20px);
  }
}
body main .bg_b .sec01 > div .sec01_2 > div .logo_box > div img {
  width: 180px;
  min-width: initial;
  vertical-align: middle;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body main .bg_b .sec01 > div .sec01_2 > div .logo_box > div img {
    width: 100%;
    min-width: initial;
  }
}
body main .bg_b .sec01 > div .sec01_3 {
  margin: 50px 0 0 0;
  background: #e6e5e5;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body main .bg_b .sec01 > div .sec01_3 {
    margin: 30px 0 0 0;
  }
}
body main .bg_b .sec01 > div .sec01_3 > div {
  padding: 45px 0;
  width: 1005px;
  min-width: 1005px;
  margin: auto;
  /* SPスライダー */
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body main .bg_b .sec01 > div .sec01_3 > div {
    padding: 45px 10px;
  }
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body main .bg_b .sec01 > div .sec01_3 > div {
    width: 100%;
    min-width: 100%;
  }
}
body main .bg_b .sec01 > div .sec01_3 > div h3 {
  text-align: center;
}
body main .bg_b .sec01 > div .sec01_3 > div h3 img {
  width: 462px;
  min-width: initial;
  vertical-align: middle;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body main .bg_b .sec01 > div .sec01_3 > div h3 img {
    width: 100%;
    min-width: initial;
  }
}
body main .bg_b .sec01 > div .sec01_3 > div .slider {
  width: 800px;
  min-width: initial;
  display: block;
  margin: auto;
  /* PCスライダー */
  /* smaller, dark, rounded square */
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body main .bg_b .sec01 > div .sec01_3 > div .slider {
    width: 100%;
    min-width: initial;
  }
}
@media all and (max-width: 768px) {
  body main .bg_b .sec01 > div .sec01_3 > div .slider {
    display: none;
  }
}
body main .bg_b .sec01 > div .sec01_3 > div .slider .carousel-cell {
  margin: 43px auto 0 auto;
  width: 800px;
  min-width: initial;
  height: 320px;
  display: block;
  counter-increment: gallery-cell;
  /* cell number */
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body main .bg_b .sec01 > div .sec01_3 > div .slider .carousel-cell {
    margin: 20px auto 0 auto;
  }
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body main .bg_b .sec01 > div .sec01_3 > div .slider .carousel-cell {
    width: 100%;
    min-width: initial;
  }
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body main .bg_b .sec01 > div .sec01_3 > div .slider .carousel-cell {
    height: auto;
  }
}
body main .bg_b .sec01 > div .sec01_3 > div .slider .carousel-cell .carousel-cell:before {
  display: block;
  text-align: center;
  content: counter(gallery-cell);
  line-height: 320px;
  font-size: 80px;
  color: white;
}
body main .bg_b .sec01 > div .sec01_3 > div .slider .flickity-page-dots {
  display: none;
}
body main .bg_b .sec01 > div .sec01_3 > div .slider .flickity-button {
  border: solid #fff 4px !important;
}
body main .bg_b .sec01 > div .sec01_3 > div .slider .flickity-button .flickity-prev-next-button {
  width: 35px;
  height: 35px;
  background: #333;
  border: solid #fff 4px !important;
  /* arrow color */
  /* position outside */
}
body main .bg_b .sec01 > div .sec01_3 > div .slider .flickity-button .flickity-prev-next-button .flickity-prev-next-button:hover {
  background: #F90;
}
body main .bg_b .sec01 > div .sec01_3 > div .slider .flickity-button .flickity-prev-next-button .flickity-prev-next-button .arrow {
  fill: white;
}
body main .bg_b .sec01 > div .sec01_3 > div .slider .flickity-button .flickity-prev-next-button .flickity-prev-next-button.no-svg {
  color: white;
}
body main .bg_b .sec01 > div .sec01_3 > div .slider .flickity-button .flickity-prev-next-button .flickity-prev-next-button.previous {
  left: -55px;
}
body main .bg_b .sec01 > div .sec01_3 > div .slider .flickity-button .flickity-prev-next-button .flickity-prev-next-button.next {
  right: -55px;
}
body main .bg_b .sec01 > div .sec01_3 > div .slider .previous {
  left: -60px;
}
body main .bg_b .sec01 > div .sec01_3 > div .slider .next {
  right: -60px;
}
body main .bg_b .sec01 > div .sec01_3 > div .slider2 {
  width: 800px;
  min-width: initial;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body main .bg_b .sec01 > div .sec01_3 > div .slider2 {
    width: 100%;
    min-width: initial;
  }
}
@media all and (max-width: 768px) {
  body main .bg_b .sec01 > div .sec01_3 > div .slider2 {
    display: block;
    height: auto;
  }
}
body main .bg_b .sec01 > div .sec01_3 > div .slider2 .carousel-cell2 {
  margin: 43px auto 0 auto;
  width: 800px;
  min-width: initial;
  display: block;
  counter-increment: gallery-cell;
  /* cell number */
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body main .bg_b .sec01 > div .sec01_3 > div .slider2 .carousel-cell2 {
    margin: 20px auto 0 auto;
  }
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body main .bg_b .sec01 > div .sec01_3 > div .slider2 .carousel-cell2 {
    width: 100%;
    min-width: initial;
  }
}
body main .bg_b .sec01 > div .sec01_3 > div .slider2 .carousel-cell2 .carousel-cell:before {
  display: block;
  text-align: center;
  content: counter(gallery-cell);
  line-height: 320px;
  font-size: 80px;
  color: white;
}
body main .bg_b .sec01 > div .sec01_3 > div .slider2 .flickity-page-dots {
  display: none;
}
body main .bg_b .sec01 > div .sec01_3 > div .slider2 .flickity-prev-next-button {
  width: 35px;
  height: 35px;
  background: #333;
  border: solid #fff 4px !important;
  /* arrow color */
  /* position outside */
}
body main .bg_b .sec01 > div .sec01_3 > div .slider2 .flickity-prev-next-button .flickity-prev-next-button .arrow {
  fill: white;
}
body main .bg_b .sec01 > div .sec01_3 > div .slider2 .flickity-prev-next-button .flickity-prev-next-button.no-svg {
  color: white;
}
body main .bg_b .sec01 > div .sec01_3 > div .slider2 .flickity-prev-next-button .flickity-prev-next-button.previous {
  left: -55px;
}
body main .bg_b .sec01 > div .sec01_3 > div .slider2 .flickity-prev-next-button .flickity-prev-next-button.next {
  right: -55px;
}
body main .bg_b .sec01 > div .sec01_3 > div .slider2 .carousel2 {
  display: none !important;
}
@media all and (max-width: 768px) {
  body main .bg_b .sec01 > div .sec01_3 > div .slider2 .carousel2 {
    display: block;
    height: 500px;
  }
}
@media all and (max-width: 768px) {
  body main .bg_b .sec01 > div .sec01_3 > div .slider2 .carousel2 .carousel-cell2 {
    border-radius: initial;
    width: 100%;
    height: auto;
    padding: 0 20px;
    display: none !important;
  }
}
body main .bg_b .sec02 > div {
  padding: 50px 0 95px 0;
  width: 1005px;
  min-width: 1005px;
  margin: auto;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body main .bg_b .sec02 > div {
    padding: 50px 0 95px 0;
  }
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body main .bg_b .sec02 > div {
    width: 100%;
    min-width: 100%;
  }
}
body main .bg_b .sec02 > div .fukidashi {
  width: 800px;
  min-width: 800px;
  margin: 80px auto 0 auto;
  text-align: center;
  display: block;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body main .bg_b .sec02 > div .fukidashi {
    width: 90%;
    min-width: 90%;
  }
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body main .bg_b .sec02 > div .fukidashi {
    margin: 60px auto 0 auto;
  }
}
body main .bg_b .sec02 > div .fukidashi img {
  width: 797px;
  min-width: 797px;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body main .bg_b .sec02 > div .fukidashi img {
    width: 100%;
    min-width: 100%;
  }
}
body main .bg_b .sec02 > div .sec02_1 > div,
body main .bg_b .sec02 > div .sec02_2 > div {
  width: 800px;
  min-width: 800px;
  margin: auto;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body main .bg_b .sec02 > div .sec02_1 > div,
  body main .bg_b .sec02 > div .sec02_2 > div {
    width: 100%;
    min-width: 100%;
  }
}
body main .bg_b .sec02 > div .sec02_1 > div > img,
body main .bg_b .sec02 > div .sec02_2 > div > img {
  padding: 20px 0 0 0;
  width: 800px;
  min-width: 800px;
  display: block;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body main .bg_b .sec02 > div .sec02_1 > div > img,
  body main .bg_b .sec02 > div .sec02_2 > div > img {
    padding: 20px 0 0 0;
  }
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body main .bg_b .sec02 > div .sec02_1 > div > img,
  body main .bg_b .sec02 > div .sec02_2 > div > img {
    width: 100%;
    min-width: 100%;
  }
}
body main .bg_b .sec02 > div .sec02_1 > div > p,
body main .bg_b .sec02 > div .sec02_2 > div > p {
  margin: 37px 0 0 0;
  color: #ffffff;
  text-align: left;
  line-height: 1.8;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body main .bg_b .sec02 > div .sec02_1 > div > p,
  body main .bg_b .sec02 > div .sec02_2 > div > p {
    margin: 10px 0 0 0;
  }
}
body main .bg_b .sec02 > div .sec02_1 .fukidashi {
  margin: 80px auto 0 auto;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body main .bg_b .sec02 > div .sec02_1 .fukidashi {
    margin: 20px auto 0 auto;
  }
}
body main .bg_b .sec02 > div .sec02_3 > div {
  width: 800px;
  min-width: 800px;
  margin: auto;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body main .bg_b .sec02 > div .sec02_3 > div {
    width: 100%;
    min-width: 100%;
  }
}
body main .bg_b .sec02 > div .sec02_3 > div .fukidashi {
  margin: 80px auto 0 auto;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body main .bg_b .sec02 > div .sec02_3 > div .fukidashi {
    margin: 60px auto 0 auto;
  }
}
body main .bg_b .sec02 > div .sec02_3 > div .conts_box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 30px auto 0 auto;
  text-align: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 25px;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body main .bg_b .sec02 > div .sec02_3 > div .conts_box {
    margin: 15px auto 0 auto;
  }
}
@media all and (max-width: 768px) {
  body main .bg_b .sec02 > div .sec02_3 > div .conts_box {
    max-width: 672px !important;
  }
}
body main .bg_b .sec02 > div .sec02_3 > div .conts_box > div:first-of-type {
  width: 210px;
  min-width: initial;
  display: block;
  text-align: center;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body main .bg_b .sec02 > div .sec02_3 > div .conts_box > div:first-of-type {
    width: 30%;
    min-width: initial;
  }
}
body main .bg_b .sec02 > div .sec02_3 > div .conts_box > div:first-of-type > img {
  display: block;
  margin: auto;
}
@media all and (max-width: 768px) {
  body main .bg_b .sec02 > div .sec02_3 > div .conts_box > div:first-of-type > img {
    max-width: 100px;
  }
}
body main .bg_b .sec02 > div .sec02_3 > div .conts_box > div:last-of-type {
  width: 473px;
  min-width: initial;
  text-align: left;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body main .bg_b .sec02 > div .sec02_3 > div .conts_box > div:last-of-type {
    width: 70%;
    min-width: initial;
  }
}
@media all and (max-width: 768px) {
  body main .bg_b .sec02 > div .sec02_3 > div .conts_box > div:last-of-type {
    max-width: 473px;
  }
}
body main .bg_b .sec02 > div .sec02_3 > div .conts_box > div:last-of-type span {
  color: #ffffff;
  font-size: 1.2rem;
  line-height: calc(1.2rem * 1.8);
  font-weight: bold;
  display: block;
  line-height: initial;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body main .bg_b .sec02 > div .sec02_3 > div .conts_box > div:last-of-type span {
    font-size: 1.1rem;
    line-height: calc(1.1rem * 1.8);
  }
}
body main .bg_b .sec02 > div .sec02_3 > div .conts_box > div:last-of-type strong {
  color: #ffffff;
  font-size: 2.3rem;
  line-height: calc(2.3rem * 1.8);
  font-weight: bold;
  display: inline-block;
  line-height: initial;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body main .bg_b .sec02 > div .sec02_3 > div .conts_box > div:last-of-type strong {
    font-size: 1.3rem;
    line-height: calc(1.3rem * 1.8);
  }
}
body main .bg_b .sec02 > div .sec02_3 > div .conts_box > div:last-of-type p {
  color: #ffffff;
}
body main .bg_b .sec02 > div .sec02_3 > div .conts_box.step1 img {
  width: 143px;
  min-width: initial;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body main .bg_b .sec02 > div .sec02_3 > div .conts_box.step1 img {
    width: 140px;
    min-width: initial;
  }
}
body main .bg_b .sec02 > div .sec02_3 > div .conts_box.step2 img {
  width: 110px;
  min-width: initial;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body main .bg_b .sec02 > div .sec02_3 > div .conts_box.step2 img {
    width: 110px;
    min-width: initial;
  }
}
body main .bg_b .sec02 > div .sec02_3 > div .conts_box.step3 img {
  width: 200px;
  min-width: initial;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body main .bg_b .sec02 > div .sec02_3 > div .conts_box.step3 img {
    width: 200px;
    min-width: initial;
  }
}
body main .bg_b .sec02 > div .sec02_3 > div > img {
  margin: 28px 0 0 0;
  width: 70px;
  min-width: initial;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body main .bg_b .sec02 > div .sec02_3 > div > img {
    margin: 28px 0 0 0;
  }
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body main .bg_b .sec02 > div .sec02_3 > div > img {
    width: 20%;
    min-width: initial;
  }
}
@media all and (max-width: 768px) {
  body main .bg_b .sec02 > div .sec02_3 > div > img {
    max-width: 70px;
  }
}
body main .tv_box {
  padding: 87px 0 37px 0;
  width: 1005px;
  min-width: 1005px;
  margin: auto;
  background-color: #ffffff;
  text-align: center;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body main .tv_box {
    padding: 100px 0 0 0;
  }
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body main .tv_box {
    width: 100%;
    min-width: 100%;
  }
}
body main .tv_box > div img {
  width: 777px;
  min-width: initial;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body main .tv_box > div img {
    width: 100%;
    min-width: initial;
  }
}
body main .tv_box > div .movie {
  margin: 22px 0 0 0;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body main .tv_box > div .movie {
    margin: 22px 0 0 0;
  }
}
body main .tv_box > div .movie iframe {
  border: solid 15px #231714;
  display: inline-block;
  text-align: center;
}
@media all and (max-width: 768px) {
  body main .tv_box > div .movie iframe {
    width: 100%;
    aspect-ratio: 1.77777778;
    height: auto;
    border: none;
  }
}
body main .sec05 {
  margin: 90px auto 0 auto;
  width: 100%;
  min-width: 1005px;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body main .sec05 {
    margin: 90px auto 0 auto;
  }
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body main .sec05 {
    width: 100%;
    min-width: 100%;
  }
}
body main .sec05 .message {
  background-color: #e6e5e5;
  width: 100%;
  min-width: 1005px;
  margin: auto;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body main .sec05 .message {
    width: 100%;
    min-width: 100%;
  }
}
body main .sec05 .message > div {
  padding: 90px 0;
  width: 863px;
  min-width: 863px;
  text-align: center;
  margin: auto;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body main .sec05 .message > div {
    padding: 50px 10px;
  }
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body main .sec05 .message > div {
    width: 100%;
    min-width: 100%;
  }
}
body main .sec05 .message > div strong {
  color: #000;
  font-size: 2.2rem;
  line-height: calc(2.2rem * 1.8);
  font-weight: initial;
  font-family: '游明朝体', '游明朝', 'YuMincho', 'Roboto Slab', Garamond, 'Times New Roman', 'ヒラギノ明朝 Pro W3', 'Hiragino Mincho Pro', 'HiraMinProN-W3', 'HGS明朝E', 'ＭＳ Ｐ明朝', 'MS PMincho', 'serif';
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body main .sec05 .message > div strong {
    font-size: 2.2rem;
    line-height: calc(2.2rem * 1.8);
  }
}
body main .sec05 .message > div strong img {
  width: 138px;
  min-width: initial;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body main .sec05 .message > div strong img {
    width: 30%;
    min-width: initial;
  }
}
body main .sec05 .message > div .conts {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  margin: 78px 0 0 0;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body main .sec05 .message > div .conts {
    margin: 20px 0 0 0;
  }
}
@media all and (max-width: 768px) {
  body main .sec05 .message > div .conts {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
body main .sec05 .message > div .conts > div:first-of-type img {
  width: 345px;
  min-width: initial;
  vertical-align: middle;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body main .sec05 .message > div .conts > div:first-of-type img {
    width: 100%;
    min-width: initial;
  }
}
body main .sec05 .message > div .conts > div:last-of-type {
  text-align: left;
  width: 490px;
  min-width: initial;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body main .sec05 .message > div .conts > div:last-of-type {
    width: 100%;
    min-width: initial;
  }
}
body main .sec05 .message > div .conts > div:last-of-type p {
  padding: 0 0 88px 0;
  color: #323333;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body main .sec05 .message > div .conts > div:last-of-type p {
    padding: 15px 10px 30px 10px;
  }
}
body main .sec05 .message > div .conts > div:last-of-type span {
  text-align: right;
  display: block;
  color: #323333;
  font-size: 1.2rem;
  line-height: calc(1.2rem * 1.8);
  font-weight: initial;
  font-family: '游明朝体', '游明朝', 'YuMincho', 'Roboto Slab', Garamond, 'Times New Roman', 'ヒラギノ明朝 Pro W3', 'Hiragino Mincho Pro', 'HiraMinProN-W3', 'HGS明朝E', 'ＭＳ Ｐ明朝', 'MS PMincho', 'serif';
  padding: initial;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body main .sec05 .message > div .conts > div:last-of-type span {
    font-size: 1.2rem;
    line-height: calc(1.2rem * 1.8);
  }
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body main .sec05 .message > div .conts > div:last-of-type span {
    padding: 0 10px;
  }
}
body main .sec05 .about {
  width: 100%;
  min-width: 1005px;
  margin: auto;
  background-color: #ffffff;
  padding: 115px 0;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body main .sec05 .about {
    width: 100%;
    min-width: 100%;
  }
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body main .sec05 .about {
    padding: 50px 0;
  }
}
body main .sec05 .about > div {
  width: 1005px;
  min-width: 1005px;
  margin: auto;
  padding: initial;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body main .sec05 .about > div {
    width: 100%;
    min-width: 100%;
  }
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body main .sec05 .about > div {
    padding: 0 5px;
  }
}
body main .sec05 .about > div .flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
body main .sec05 .about > div .logo_conts {
  -ms-flex-pack: distribute;
      justify-content: space-around;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media all and (max-width: 768px) {
  body main .sec05 .about > div .logo_conts {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 10px;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: start;
  }
}
body main .sec05 .about > div .logo_conts > div {
  gap: 15px;
}
@media all and (max-width: 768px) {
  body main .sec05 .about > div .logo_conts > div {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
body main .sec05 .about > div .logo_conts > div:first-of-type {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media all and (max-width: 768px) {
  body main .sec05 .about > div .logo_conts > div:first-of-type {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
body main .sec05 .about > div .logo_conts > div:first-of-type img {
  width: initial;
  min-width: initial;
  height: 150px;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body main .sec05 .about > div .logo_conts > div:first-of-type img {
    width: 150px;
    min-width: initial;
  }
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body main .sec05 .about > div .logo_conts > div:first-of-type img {
    height: auto;
  }
}
body main .sec05 .about > div .logo_conts > div:first-of-type p {
  color: #000;
  font-size: 0.9rem;
  line-height: calc(0.9rem * 1.8);
  font-weight: initial;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body main .sec05 .about > div .logo_conts > div:first-of-type p {
    font-size: 0.9rem;
    line-height: calc(0.9rem * 1.8);
  }
}
body main .sec05 .about > div .logo_conts > div:last-of-type {
  width: 500px;
  min-width: initial;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body main .sec05 .about > div .logo_conts > div:last-of-type {
    width: 100%;
    min-width: initial;
  }
}
body main .sec05 .about > div .logo_conts > div:last-of-type img {
  width: initial;
  min-width: initial;
  height: 100px;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body main .sec05 .about > div .logo_conts > div:last-of-type img {
    width: 150px;
    min-width: initial;
  }
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body main .sec05 .about > div .logo_conts > div:last-of-type img {
    height: auto;
  }
}
body main .sec05 .about > div .logo_conts > div:last-of-type p {
  color: #000;
  font-size: 0.9rem;
  line-height: calc(0.9rem * 1.8);
  font-weight: initial;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body main .sec05 .about > div .logo_conts > div:last-of-type p {
    font-size: 0.9rem;
    line-height: calc(0.9rem * 1.8);
  }
}
body main .sec05 .about > div .address_conts {
  margin: 115px 0 0 0;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 20px;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  min-height: 391px;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body main .sec05 .about > div .address_conts {
    margin: 80px 0 0 0;
  }
}
@media all and (max-width: 768px) {
  body main .sec05 .about > div .address_conts {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 20px;
  }
}
body main .sec05 .about > div .address_conts > div:first-of-type {
  width: 366px;
  min-width: initial;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body main .sec05 .about > div .address_conts > div:first-of-type {
    width: 100%;
    min-width: initial;
  }
}
body main .sec05 .about > div .address_conts > div:first-of-type > img {
  text-align: center;
  width: 366px;
  min-width: initial;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body main .sec05 .about > div .address_conts > div:first-of-type > img {
    width: 70%;
    min-width: initial;
  }
}
@media all and (max-width: 768px) {
  body main .sec05 .about > div .address_conts > div:first-of-type > img {
    max-width: 300px;
  }
}
body main .sec05 .about > div .address_conts > div:first-of-type > div img {
  margin: 10px 0 0 0;
  width: 366px;
  min-width: initial;
  vertical-align: middle;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body main .sec05 .about > div .address_conts > div:first-of-type > div img {
    margin: 20px 0 0 0;
  }
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body main .sec05 .about > div .address_conts > div:first-of-type > div img {
    width: 100%;
    min-width: initial;
  }
}
body main .sec05 .about > div .address_conts > div:first-of-type span {
  color: #000;
  font-size: 1rem;
  line-height: calc(1rem * 1.8);
  font-weight: initial;
  display: block;
  line-height: 1.5rem;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body main .sec05 .about > div .address_conts > div:first-of-type span {
    font-size: 0.9rem;
    line-height: calc(0.9rem * 1.8);
  }
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body main .sec05 .about > div .address_conts > div:first-of-type span {
    line-height: initial;
  }
}
body main .sec05 .about > div .address_conts > div:first-of-type span:nth-of-type(1) {
  margin: 10px 0 0 0;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body main .sec05 .about > div .address_conts > div:first-of-type span:nth-of-type(1) {
    margin: initial;
  }
}
body main .sec05 .about > div .address_conts > div:first-of-type span:nth-of-type(3) {
  display: inline-block;
}
body main .sec05 .about > div .address_conts > div:first-of-type span:nth-of-type(4) {
  display: block;
}
body main .sec05 .about > div .address_conts > div:first-of-type span:nth-of-type(4) a {
  color: #000;
  font-size: 0.9rem;
  line-height: calc(0.9rem * 1.8);
  font-weight: initial;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body main .sec05 .about > div .address_conts > div:first-of-type span:nth-of-type(4) a {
    font-size: 0.9rem;
    line-height: calc(0.9rem * 1.8);
  }
}
body main .sec05 .about > div .address_conts > div:first-of-type span:nth-of-type(6) {
  color: #000;
  font-size: 0.8rem;
  line-height: calc(0.8rem * 1.8);
  font-weight: initial;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body main .sec05 .about > div .address_conts > div:first-of-type span:nth-of-type(6) {
    font-size: 0.8rem;
    line-height: calc(0.8rem * 1.8);
  }
}
body main .sec05 .about > div .address_conts > div:first-of-type a {
  color: #231714;
  font-size: 1.1rem;
  line-height: calc(1.1rem * 1.8);
  font-weight: initial;
  text-decoration: none;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body main .sec05 .about > div .address_conts > div:first-of-type a {
    font-size: 0.9rem;
    line-height: calc(0.9rem * 1.8);
  }
}
body main .sec05 .about > div .address_conts > div:first-of-type > div {
  text-align: center;
}
@media all and (max-width: 768px) {
  body main .sec05 .about > div .address_conts > div:last-of-type {
    width: 100%;
    height: auto;
  }
}
body main .sec05 .about > div .address_conts > div:last-of-type iframe {
  height: 100%;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body main .sec05 .about > div .address_conts > div:last-of-type iframe {
    height: initial;
  }
}
@media all and (max-width: 768px) {
  body main .sec05 .about > div .address_conts > div:last-of-type iframe {
    width: 100%;
    height: 450px;
  }
}
body footer {
  width: 100%;
  min-width: 1200px;
  margin: auto;
  background-color: #231714;
  padding: 10px 0;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body footer {
    width: 100%;
    min-width: 100%;
  }
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body footer {
    padding: 20px;
  }
}
body footer > div {
  width: 1005px;
  min-width: 1005px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  margin: auto;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body footer > div {
    width: 100%;
    min-width: 100%;
  }
}
@media all and (max-width: 768px) {
  body footer > div {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 15px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
body footer > div img {
  height: 42px;
}
body footer > div small {
  color: #ffffff;
  font-size: 0.8rem;
  line-height: calc(0.8rem * 1.8);
  font-weight: initial;
  display: block;
  margin: 0 20px;
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body footer > div small {
    font-size: 0.8rem;
    line-height: calc(0.8rem * 1.8);
  }
}
@media all and (min-width: 0px) and (max-width: 768px) {
  body footer > div small {
    margin: initial;
  }
}
@media all and (max-width: 768px) {
  body footer > div small {
    text-align: center;
  }
}
