@charset "UTF-8";
/*========================================================================
   Layout
========================================================================*/
:root {
  --header-height: 122px;
}
@media (min-width: 768px) {
  :root {
    --header-height: 163px;
  }
}

@media (prefers-reduced-motion: no-preference) {
  html {
    scroll-behavior: smooth;
    scroll-padding-top: var(--header-height);
  }
}
.container, .content, .inner {
  clear: both;
  width: 100%;
  height: auto;
  position: relative;
}

.container:after, .content:after, .inner:after {
  content: "";
  display: block;
  clear: both;
}

.container {
  max-width: 1000px;
  width: 96%;
  margin: 0px auto;
}
@media screen and (min-width: 1000px) {
  .container {
    width: 100%;
  }
}

.inner {
  width: 96%;
  margin: 0px auto;
}

.container.mb, .content.mb, .inner.mb {
  margin-bottom: 3.75em;
}
.container.margin, .content.margin, .inner.margin {
  margin: 3.75em auto;
}
.container.padding, .content.padding, .inner.padding {
  padding: 6rem 0;
}
@media screen and (min-width: 1000px) {
  .container.margin, .content.margin, .inner.margin {
    margin: 5em auto;
  }
  .container.mb, .content.mb, .inner.mb {
    margin-bottom: 5em;
  }
  .container.padding, .content.padding, .inner.padding {
    padding: 8rem 0;
  }
}

.inner_frame {
  max-width: 800px;
  width: 90%;
  margin-left: auto;
  margin-right: auto;
}
.inner_frame table {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .inner_frame {
    width: 85%;
  }
}

h2 {
  margin-bottom: 40px;
  text-align: center;
}

h3 {
  font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "HGS明朝E", serif;
  font-size: 2.4rem;
  line-height: 1.3;
  max-width: 100%;
  margin-bottom: 1em;
  text-align: center;
}

.ttl_deco {
  min-width: 238px;
  background: url(../img/ttl_deco.png) no-repeat center bottom;
  padding-bottom: 1.5em;
  display: table;
  margin: 0 auto 1.5em;
}

h4 {
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.3;
  margin-bottom: 0.6em;
}

h3.under_line, h4.under_line {
  min-width: 175px;
  background: url(../img/line_crepas.png) no-repeat center bottom;
  padding-bottom: 1.3em;
  display: table;
  margin: 0 auto 1.5em;
}

h5 {
  font-size: 1em;
  font-weight: bold;
  line-height: 1.3;
  margin-bottom: 0.4em;
}

.bgfix {
  background-attachment: fixed;
}

/*------------------------------------------------------------
   Header
--------------------------------------------------------------*/
#header_wrap {
  padding-top: 120px;
  width: 100%;
  position: relative;
}

#header {
  padding-top: 80px;
  width: 100%;
  height: auto;
  background-image: url(../img/body.jpg);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 50;
  -webkit-box-shadow: 2px 0 10px rgba(0, 0, 0, 0.4);
          box-shadow: 2px 0 10px rgba(0, 0, 0, 0.4);
}
#header .container {
  width: 100%;
  background: url(../img/body.jpg);
}
#header #logo {
  background: url(../img/body.jpg);
  width: 100%;
  padding-top: 5px;
  padding-left: 5px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: absolute;
  top: -80px;
}
#header #logo .tel {
  margin-left: 5px;
}
#header .sns_btns {
  float: right;
  position: relative;
  top: 0px;
  right: 45px;
  max-width: 313px;
  width: calc(100% - 40px);
}
#header .sns_btns ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row;
          flex-flow: row;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
#header .sns_btns ul li {
  margin: 6px;
}
#header .btn_soudan {
  position: relative;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}

/* Header fixed
--------------------------------------------------*/
#header.fixed {
  position: fixed;
  top: -80px;
  height: 40px;
}
#header.fixed #logo {
  opacity: 0;
}
#header.fixed .btn_soudan {
  top: 0px;
}
#header.fixed .btn_contact {
  position: fixed;
  right: 0;
}

/* mediaquery
----------------------------------------------------*/
@media screen and (min-width: 768px) {
  #header_wrap {
    padding-top: 83px;
  }
  #header {
    padding-top: 0;
    height: 83px;
    position: fixed;
  }
  #header #logo {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    position: relative;
    top: 0px;
    min-width: 200px;
    width: 26%;
    z-index: 20;
  }
  #header #logo > *:nth-child(1) {
    width: 29.2%;
  }
  #header #logo > *:nth-child(2) {
    width: 70.8%;
  }
  #header .sns_btns {
    right: 0px;
  }
  #header .btn_soudan {
    top: -6px;
  }
  #header.fixed {
    position: fixed;
    top: 0px;
    height: 83px;
  }
  #header.fixed #logo {
    opacity: 1;
  }
  #header.fixed .btn_soudan {
    top: -6px;
  }
}
@media screen and (min-width: 1000px) {
  #header #logo {
    width: auto;
  }
}
/* toggle Nav
--------------------------------------------------------------*/
.nav_toggle {
  position: absolute;
  right: 0px;
  top: 0px;
  padding: 8px;
  cursor: pointer;
  z-index: 100;
}
.nav_toggle > div {
  position: relative;
  height: 23px;
  width: 30px;
  top: 0;
  right: 0;
}
.nav_toggle span {
  display: block;
  position: absolute;
  width: 100%;
  border-bottom: solid 3px #222;
  -webkit-transition: 0.35s ease-in-out;
  transition: 0.35s ease-in-out;
}
.nav_toggle span:nth-child(1) {
  top: 0px;
}
.nav_toggle span:nth-child(2) {
  top: 10px;
}
.nav_toggle span:nth-child(3) {
  top: 20px;
}

/* open ************************/
#header.open .nav_toggle span:nth-child(1) {
  top: 10px;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
#header.open .nav_toggle span:nth-child(2), #header.open .nav_toggle span:nth-child(3) {
  top: 10px;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
#header.open #nav {
  top: 40px;
}
@media screen and (min-width: 768px) {
  #header.open #nav {
    top: 83px;
  }
}

/* Grobal Nav
--------------------------------------------------------------*/
#nav {
  width: 100%;
  height: auto;
  background-image: url(../img/body.jpg);
  position: absolute;
  top: -500px;
  padding-top: 10px;
  z-index: -50;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}
@media screen and (min-width: 768px) {
  #nav {
    width: 74%;
    height: auto;
    position: absolute;
    top: 40px;
    right: 10px;
    left: inherit;
    z-index: 10;
    padding-top: 0;
  }
}
#nav ul {
  margin-bottom: 1em;
}
@media screen and (min-width: 768px) {
  #nav ul {
    margin-bottom: 0;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    width: 100%;
  }
}
#nav li {
  text-align: center;
  border-bottom: dotted #ccc 1px;
}
@media screen and (max-width: 767px) and (orientation: landscape) {
  #nav li {
    display: inline-block;
    min-width: 260px;
    width: 48%;
  }
  #nav li .btn_aru {
    position: absolute;
    top: 25px;
    left: 60%;
  }
  #nav li .btn_aru a {
    right: 0px !important;
  }
}
@media screen and (min-width: 768px) {
  #nav li {
    display: inline-block;
    max-width: 120px;
    width: auto;
    padding: 0 3%;
    border-bottom: 0px;
    border-right: dotted #ccc 1px;
  }
  #nav li:last-child {
    border-right: 0;
  }
}
@media screen and (min-width: 1000px) {
  #nav li {
    width: 120px;
    padding: 0;
  }
}
#nav li a {
  position: relative;
  display: inline-block;
  height: 36px;
  padding-top: 18px;
  padding-bottom: 3px;
}
@media screen and (min-width: 768px) {
  #nav li a {
    padding: 0;
  }
}
#nav li a::after {
  content: "";
  display: block;
  width: 0%;
  height: 2px;
  position: absolute;
  bottom: -1px;
  left: 50%;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  background-color: #eec211;
}
@media screen and (min-width: 768px) {
  #nav li a::after {
    bottom: -7px;
  }
}
#nav li a:hover {
  text-decoration: none;
}
#nav li a:hover::after {
  text-decoration: none;
  width: 100%;
  left: 0%;
}
#nav li#nav04 {
  position: relative;
  z-index: 5;
}
#nav li#nav04 .btn_aru {
  /* keyframes -------------------------------------*/
}
#nav li#nav04 .btn_aru a {
  height: auto;
  padding: 0;
  right: -70px;
  -webkit-transform-origin: 20px 0 0;
          transform-origin: 20px 0 0;
  -webkit-animation: pendulum ease-in-out 0.6s infinite alternate;
          animation: pendulum ease-in-out 0.6s infinite alternate;
}
#nav li#nav04 .btn_aru a:hover {
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
#nav li#nav04 .btn_aru a:hover img {
  opacity: 1;
}
#nav li#nav04 .btn_aru a::after {
  display: none;
}
@-webkit-keyframes pendulum {
  0% {
    -webkit-transform: rotate(8deg);
            transform: rotate(8deg);
  }
  100% {
    -webkit-transform: rotate(-2deg);
            transform: rotate(-2deg);
  }
}
@keyframes pendulum {
  0% {
    -webkit-transform: rotate(8deg);
            transform: rotate(8deg);
  }
  100% {
    -webkit-transform: rotate(-2deg);
            transform: rotate(-2deg);
  }
}
@media screen and (min-width: 768px) {
  #nav li#nav04 .btn_aru {
    position: absolute;
    top: 30px;
    right: -40px;
  }
  #nav li#nav04 .btn_aru a {
    right: 0;
  }
}

#index #nav01 a:after,
#about #nav02 a:after,
#member #nav03 a:after,
#activity #nav04 a:after,
#access #nav05 a:after {
  text-decoration: none;
  width: 100%;
  left: 0%;
}

/*------------------------------------------------------------
   Main Visual
--------------------------------------------------------------*/
#mainVisual {
  width: 100%;
  /*max-height: 900px;
  height: 100vh;*/
  height: auto;
  position: relative;
  overflow: hidden;
}
#mainVisual::before {
  content: "";
  display: block;
  padding-top: 42.5%;
}
@media screen and (min-width: 768px) {
  #mainVisual::before {
    padding-top: 25%;
  }
}
#mainVisual .main_catch {
  max-width: 531px;
  width: 85%;
  position: absolute;
  top: 10%;
  left: 5%;
}
#mainVisual .ttl {
  max-width: 60%;
  position: absolute;
  top: 30%;
  left: 1%;
  margin-bottom: 0;
}
@media screen and (min-width: 768px) {
  #mainVisual .ttl {
    left: 15%;
  }
}
#mainVisual .imgArea {
  position: absolute;
  max-width: 92%;
  top: -10%;
  right: -8%;
}
#mainVisual .ttlArea {
  max-width: 50%;
  position: absolute;
  left: -2%;
  bottom: -70%;
}
@media screen and (min-width: 480px) {
  #mainVisual .imgArea {
    max-width: 65%;
    position: absolute;
    top: -20%;
    right: 5%;
  }
  #mainVisual .ttlArea {
    max-width: 33%;
    position: absolute;
    left: 3%;
    bottom: -20%;
  }
}

video {
  min-width: 100%;
  min-height: 100%;
  width: 100%;
  height: auto;
}

/*------------------------------------------------------------
   Footer
--------------------------------------------------------------*/
#footer {
  background-image: url(../img/bg_yellow.jpg);
  color: #fff;
  line-height: 1.4;
  position: relative;
}
#footer::before {
  content: "";
  display: block;
  width: 100%;
  height: 25px;
  background: url(../img/deco_line_yel.png) repeat-x center;
  position: absolute;
  top: -25px;
}
#footer .container {
  padding-top: 3em;
  padding-bottom: 1em;
  height: 100%;
}
#footer a {
  color: #fff;
}
#footer #footer_add {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
#footer #footer_add .footer_logo {
  display: inline-block;
  margin-right: 0.5em;
}
@media screen and (max-width: 424px) {
  #footer #footer_add .footer_logo {
    width: 21%;
  }
}
#footer #footer_add .txtArea {
  display: inline-block;
  font-size: 0.93em;
  line-height: 1.3;
  -ms-flex-item-align: end;
      align-self: flex-end;
}
@media screen and (min-width: 768px) {
  #footer #footer_add {
    float: left;
  }
}

#line_qr {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0 auto 40px;
}
#line_qr img {
  max-width: 70px;
  margin: 0 0.6em;
}
#line_qr span {
  display: inline-block;
  text-align: right;
  font-size: 0.93em;
  line-height: 1.3;
  font-weight: bold;
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  #line_qr {
    position: absolute;
    right: 35px;
    bottom: 0;
    margin-bottom: 1.5em;
  }
}
#line_qr.sp_non {
  display: block;
}

#footer_nav {
  display: none;
}
@media screen and (min-width: 768px) {
  #footer_nav {
    display: block;
    position: relative;
    top: -2.5em;
    font-size: 0.93em;
  }
  #footer_nav ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  #footer_nav li {
    margin-right: 1.1em;
    margin-bottom: 2.5em;
  }
  #footer_nav li:not(:first-child)::before {
    content: "|";
    display: inline-block;
    width: 1.1em;
    height: 1em;
  }
  #footer_nav a {
    color: #fff;
  }
  #footer_nav a:hover {
    color: #971;
  }
}

#copyright {
  clear: both;
  width: 100%;
  height: auto;
  padding: 7px 0px;
  font-size: 1.3rem;
  text-align: center;
  color: #fff;
  background-color: rgba(0, 0, 0, 0.1);
}

#pagetop {
  position: fixed;
  bottom: 0px;
  right: -5px;
  clear: both;
  display: none;
  z-index: 500;
}
#pagetop a {
  text-align: center;
  text-decoration: none;
  color: #eee;
  height: auto;
  width: auto;
  padding: 11px 9px;
  font-size: 10px;
  letter-spacing: 0.01em;
  line-height: 130%;
  vertical-align: middle;
  display: table-cell;
  overflow: hidden;
  border-radius: 100%;
  background-color: rgba(235, 99, 133, 0.85);
}

/*------------------------------------------------------------
   Contents
--------------------------------------------------------------*/
#contents {
  overflow: hidden;
}

#contents:after {
  content: "";
  display: block;
  clear: both;
}

.breadclum {
  max-width: 1000px;
  width: 96%;
  padding: 10px 0px 20px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.breadclum > * {
  display: inline-block;
  font-size: 0.86em;
}
.breadclum > *:not(:last-child)::after {
  content: "/";
  display: inline-block;
  margin: 0 5px;
}
.breadclum > * a {
  color: #484848;
  text-decoration: underline;
}

.txtArea p {
  margin-bottom: 1.5em;
}
.txtArea p:last-child {
  margin-bottom: 0;
}

.txt_doc p:not(:last-child) {
  margin-bottom: 0.8em;
}
.txt_doc p:not(:first-child) {
  text-indent: 1em;
}
.txt_doc p .in_b, .txt_doc p .iblock {
  text-indent: 0;
}

.flex-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.flex-box.jc_between {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.flex-box.jc_center {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.flex-box.va_center {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.flex-box.wrap {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

/*************************************************
   btn
**************************************************/
.btn {
  min-width: 180px;
  width: auto;
  display: inline-table;
}
.btn a {
  line-height: 1.2;
  font-weight: normal;
  display: table-cell;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  padding: 20px 40px 20px 20px;
  border: 1px solid;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-radius: 0px;
  -webkit-transition: 0.1s ease-in-out;
  transition: 0.1s ease-in-out;
  opacity: 1;
  font-size: 1.06em;
  letter-spacing: 0.08em;
  color: #222;
  position: relative;
}
.btn a::after {
  content: ">";
  position: absolute;
  top: 50%;
  right: 1em;
  -webkit-transform: scale(0.5, 1.2) translate(0, -50%);
          transform: scale(0.5, 1.2) translate(0, -50%);
}
.btn a:hover {
  background-color: #222;
  color: #fff;
}
.btn.white a {
  color: #fff;
}
.btn.white a:hover {
  background-color: rgba(255, 255, 255, 0.6);
  color: #222;
  border-color: #fff;
}
.btn.round {
  display: table;
  margin: 0 auto 2em;
}
.btn.round a {
  background-color: #eec211;
  color: #fff;
  font-weight: 600;
  padding-top: 15px;
  padding-bottom: 15px;
  border-radius: 30px;
}
.btn.round a:hover {
  color: #eec211;
  border-color: #eec211;
  background-color: #fff;
}
.btn.round.green a {
  background-color: #baba0a;
  color: #fff;
}
.btn.round.green a:hover {
  color: #baba0a;
  border-color: #baba0a;
  background-color: #fff;
}
.btn.ask {
  display: table;
  margin: 0 auto 2em;
  min-height: 45px;
}
.btn.ask a {
  color: #ee7799;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-align: left;
  padding: 10px 40px 10px 50px;
  border: none;
  border-bottom: dotted 2px #ee7799;
  background-image: url(../img/contact/icon_mail.png);
  background-position: left center;
  background-repeat: no-repeat;
}
.btn.ask a:hover, .btn.ask a:focus {
  border-color: transparent;
  background-color: rgba(238, 119, 153, 0.1);
  border-radius: 40px;
}
.btn.back a {
  padding-left: 40px;
  padding-right: 20px;
}
.btn.back a::after {
  content: "<";
  position: absolute;
  top: 50%;
  right: calc(100% - 2em);
  -webkit-transform: scale(0.5, 1.2) translate(0, -50%);
          transform: scale(0.5, 1.2) translate(0, -50%);
}

.hv_scale a {
  display: block;
  -webkit-transform: scale(0.95);
          transform: scale(0.95);
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.hv_scale a:hover {
  -webkit-transform: scale(1);
          transform: scale(1);
}
.hv_scale a:hover img {
  opacity: 1;
}

/* checkbox non-display */
.add-control .checkbox {
  display: none;
}

.add-control label span {
  display: none;
}

/* close button's control */
.add-control #close:checked ~ .close {
  display: none;
}

.add-control #close:checked ~ .box {
  display: none;
}

/* btn style */
.circle_btn_close {
  position: absolute;
  color: #222;
  cursor: pointer;
  opacity: 1;
  width: 40px;
  height: 40px;
  background: #fff;
  border-radius: 100%;
  -webkit-transition: 0.2 ease-in-out;
  transition: 0.2 ease-in-out;
}
.circle_btn_close:focus, .circle_btn_close:hover {
  outline: none;
  background: #222;
}
.circle_btn_close:focus:before, .circle_btn_close:focus:after, .circle_btn_close:hover:before, .circle_btn_close:hover:after {
  background: #fff;
}
.circle_btn_close:before, .circle_btn_close:after {
  display: block;
  content: " ";
  position: absolute;
  top: 26%;
  left: 45%;
  width: 4px;
  height: 48%;
  border-radius: 4px;
  background: #222;
  -webkit-transition: 0.2 ease-in-out;
  transition: 0.2 ease-in-out;
}
.circle_btn_close:before {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
.circle_btn_close:after {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.txt_cont {
  background-color: rgba(255, 255, 255, 0.4);
  padding: 3em 1em;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin: 0 auto 4em;
}
@media screen and (min-width: 768px) {
  .txt_cont {
    padding: 3em 2em;
    width: 82%;
  }
}
.txt_cont .txtArea {
  max-width: 100%;
  width: auto;
  display: table;
  margin-left: auto;
  margin-right: auto;
}
.txt_cont .txtArea:not(:last-child) {
  margin-bottom: 2em;
}
.txt_cont table a {
  color: #e66f91;
}
.txt_cont table th {
  text-align: left;
}
.txt_cont table td span {
  line-height: 1.4;
  display: table-cell;
  vertical-align: middle;
  padding: 0.3em;
}
.txt_cont table td span img {
  min-width: 42px;
}
.txt_cont .txtcenter_all {
  text-align: center;
}
.txt_cont .txtcenter_sp {
  text-align: center;
}
@media screen and (min-width: 600px) {
  .txt_cont .txtcenter_sp {
    text-align: left;
  }
}
@media screen and (min-width: 600px) {
  .txt_cont .txtcenter_wide {
    text-align: center;
  }
}

.matbox {
  width: auto;
  padding: 20px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background-image: url(../img/mat_white.png);
  margin-bottom: 20px;
}

.matbox:after {
  content: "";
  display: block;
  clear: both;
}

.deco_line {
  position: relative;
}
.deco_line::before, .deco_line::after {
  content: "";
  display: block;
  width: 100%;
  height: 25px;
  background-image: url(../img/deco_line_yel.png);
  background-repeat: repeat-x;
  background-position: center;
  position: absolute;
}
.deco_line::before.blu, .deco_line::after.blu {
  background-image: url(../img/deco_line_blu.png);
}
.deco_line::before.yel, .deco_line::after.yel {
  background-image: url(../img/deco_line_yel.png);
}
.deco_line.top::before {
  top: 0;
}
.deco_line.bottom::after {
  bottom: 0;
}

/* box layout ******************/
.col_wrap {
  width: 94%;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.col_wrap .col {
  position: relative;
  width: 100%;
  overflow: auto;
  margin-bottom: 2em;
}
.col_wrap._s-tri .col {
  width: 32%;
}
.col_wrap._s-half .col {
  width: 48%;
}
@media screen and (min-width: 600px) {
  .col_wrap._m-half .col {
    width: 48%;
  }
}
@media screen and (min-width: 768px) {
  .col_wrap._t-half .col {
    width: 48%;
  }
}
@media screen and (min-width: 1000px) {
  .col_wrap._p-tri .col {
    width: 32%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .col_wrap._p-tri .col:not(:nth-of-type(3n)) {
    margin-right: 2%;
  }
  .col_wrap._p-half .col {
    width: 49%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .col_wrap._p-half .col:not(:nth-of-type(3n)) {
    margin-right: 2%;
  }
  .col_wrap._p-fifth .col-1 {
    width: 19%;
  }
  .col_wrap._p-fifth .col-2 {
    width: 39%;
  }
  .col_wrap._p-fifth .col-3 {
    width: 59%;
  }
  .col_wrap._p-fifth .col-4 {
    width: 79%;
  }
}

/*============================================================
   form Area
==============================================================*/
.formArea {
  background: #f8f3f1 url(../img/body.jpg);
}
.formArea .form {
  max-width: 800px;
}
.formArea .form .txtArea {
  margin-bottom: 30px;
}
.formArea .form h3 {
  font-family: "Helvetica Neue", "Helvetica", "Arial", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", "Meiryo", sans-serif;
  text-align: center;
  margin-bottom: 30px;
  padding-bottom: 19px;
}
.formArea .form form {
  padding: 1em;
}
@media screen and (min-width: 540px) {
  .formArea .form form {
    padding: 2em;
  }
}
.formArea .form form input,
.formArea .form form textarea,
.formArea .form form select {
  font-family: "Helvetica Neue", "Helvetica", "Arial", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", "Meiryo", sans-serif;
  font-size: 1.5rem;
  background: #fff;
  vertical-align: middle;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: 1px solid #987;
  height: auto;
  margin: 0 2px 4px;
}
.formArea .form form select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.formArea .form form input,
.formArea .form form textarea {
  padding: 8px;
  width: 100%;
}
.formArea .form form .submit, .formArea .form form .submit-btn {
  border-color: #987;
  background: #876;
  width: auto;
  font-size: 1.5rem;
  line-height: 1;
  text-align: center;
  color: #fff;
  font-weight: bold;
  padding: 15px 25px;
  cursor: pointer;
}
.formArea .form dl {
  margin-bottom: 1em;
}
.formArea .form dl > * {
  line-height: 34px;
}
@media screen and (min-width: 768px) {
  .formArea .form dl.list-col {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap;
  }
  .formArea .form dl.list-col > dt {
    width: 36%;
  }
  .formArea .form dl.list-col > dd {
    width: 64%;
    padding-left: 3%;
  }
}
.formArea .form dl.list-border {
  border-top: 1px solid #ccc;
}
.formArea .form dl.list-border > dd {
  border-bottom: 1px solid #ccc;
  padding-top: 10px;
  padding-bottom: 10px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  text-align: right;
}
@media screen and (min-width: 768px) {
  .formArea .form dl.list-border > dt {
    border-bottom: 1px solid #ccc;
    padding-top: 10px;
    padding-bottom: 10px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
}
.formArea .form dt.required {
  position: relative;
}
.formArea .form dt.required::after {
  content: "必須";
  color: #fff;
  background: #c55;
  width: 3em;
  display: block;
  position: absolute;
  right: 0;
  top: 15px;
  text-align: center;
  font-size: 1.1rem;
  font-weight: bold;
  line-height: 1em;
  padding: 0.5em;
}
.formArea .form dd span {
  display: inline;
}

/*------------------------------------------------------------
  Other
--------------------------------------------------------------*/
/* prugin *************************/
.modaal-container {
  background: transparent !important;
}

.modaal-content-container {
  padding: 30px 0 !important;
}
@media screen and (min-width: 540px) {
  .modaal-content-container {
    padding: 2em !important;
  }
}

/* keyframes -------------------------------------*/
@-webkit-keyframes rotate1 {
  0% {
    -webkit-transform: rotate(5deg);
            transform: rotate(5deg);
  }
  100% {
    -webkit-transform: rotate(-5deg);
            transform: rotate(-5deg);
  }
}
@keyframes rotate1 {
  0% {
    -webkit-transform: rotate(5deg);
            transform: rotate(5deg);
  }
  100% {
    -webkit-transform: rotate(-5deg);
            transform: rotate(-5deg);
  }
}