@charset "UTF-8";
/*!
 * ress.css • v4.0.0
 * MIT License
 * github.com/filipelinhares/ress
 */
html { box-sizing: border-box; -webkit-text-size-adjust: 100%; word-break: normal; -moz-tab-size: 4; tab-size: 4; } *,::before,::after { background-repeat: no-repeat; box-sizing: inherit; } ::before,::after { text-decoration: inherit; vertical-align: inherit; } * { padding: 0; margin: 0; } hr { overflow: visible; height: 0; color: inherit; } details,main { display: block; } summary { display: list-item; } small { font-size: 80%; } [hidden] { display: none; } abbr[title] { border-bottom: none; text-decoration: underline; text-decoration: underline dotted; } a { background-color: transparent; } a:active,a:hover { outline-width: 0; } code,kbd,pre,samp { font-family: monospace, monospace; } pre { font-size: 1em; } b,strong { font-weight: bolder; } sub,sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } sub { bottom: -0.25em; } sup { top: -0.5em; } table { border-color: inherit; text-indent: 0; } input { border-radius: 0; } [disabled] { cursor: default; } [type='number']::-webkit-inner-spin-button,[type='number']::-webkit-outer-spin-button { height: auto; } [type='search'] { -webkit-appearance: textfield; outline-offset: -2px; } [type='search']::-webkit-search-decoration { -webkit-appearance: none; } textarea { overflow: auto; resize: vertical; } button,input,optgroup,select,textarea { font: inherit; } optgroup { font-weight: bold; } button { overflow: visible; } button,select { text-transform: none; } button,[type='button'],[type='reset'],[type='submit'],[role='button'] { cursor: pointer; color: inherit; } button::-moz-focus-inner,[type='button']::-moz-focus-inner,[type='reset']::-moz-focus-inner,[type='submit']::-moz-focus-inner { border-style: none; padding: 0; } button:-moz-focusring,[type='button']::-moz-focus-inner,[type='reset']::-moz-focus-inner,[type='submit']::-moz-focus-inner { outline: 1px dotted ButtonText; } button,html [type='button'],[type='reset'],[type='submit'] { -webkit-appearance: button; } button,input,select,textarea { background-color: transparent; border-style: none; } a:focus,button:focus,input:focus,select:focus,textarea:focus { outline-width: 0; } select { -moz-appearance: none; -webkit-appearance: none; } select::-ms-expand { display: none; } select::-ms-value { color: currentColor; } legend { border: 0; color: inherit; display: table; max-width: 100%; white-space: normal; } ::-webkit-file-upload-button { -webkit-appearance: button; color: inherit; font: inherit; } img { border-style: none; } progress { vertical-align: baseline; } [aria-busy='true'] { cursor: progress; } [aria-controls] { cursor: pointer; } [aria-disabled='true'] { cursor: default; }
/*====================================

  0. General

====================================*/
/*サイト幅1024px*/
.container{
  max-width: 1024px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .container{
    width: 100%;
    padding: 0 1rem;
  }
}
body {
  font-size: 0.875rem;
  line-height: 1.25;
  height: 100%;
  color: #333333;
  scroll-behavior: smooth;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-family: Montserrat, "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
@media screen and (max-width: 768px) {
  body{
    font-size: 0.75rem;
  }
}
.sp_only{
  display: none;
}
@media screen and (max-width: 768px) {
  .sp_only{
    display: block;
  }
}
.mgt10{
  margin-top: 10px;
}

[v-cloak]{display: none;}

/*====================================

  Header

====================================*/
header{
  position: fixed;
  top: 0;
  width: 100%;
  height: 85px;
  border-bottom: 5px solid #005448;
  background: #fff;
  z-index: 1;
}
header .container{
  padding: 18px 16px;
}

@media screen and (max-width: 768px) {
  header img{
    max-width: 100%;
  }
}
@media screen and (max-width: 480px) {
  header{
    height: auto;
  }
  header img{
    max-width: 100%;
    width: 70%;
  }
    header .container{
    padding: 10px 14px;
  }
}
/*====================================

  footer

====================================*/
footer{
  background-color: rgb(239, 239, 239);
}
footer .container {
  padding: 3rem 0;
}
footer ul{
  list-style: none;
  padding: 0;
  margin-bottom: 0.75rem;
}
.link-items{
  display: flex;
  flex-direction: column;
}
.link-items a{
  color: #005448;
  display: inline-block;
  font-weight: bold;
  margin-bottom: 1.5rem;
  margin-right: 20px;
  font-size: 18px;
}
.link-items li{
  display: flex;
  align-items: flex-start;
}
.bobun_area{
  text-align: right;
}
@media screen and (max-width: 768px) {
  footer .container {
    padding: 1rem 1rem 0.5rem;
  }
  .link-items a{
    font-size: 14px;
    margin-bottom: 1rem;
  }
}
/*====================================

  main

====================================*/
main{
  padding-top: 85px;
}
@media screen and (max-width: 480px) {
  main{
    padding-top: 55px;
  }
}
section{
  padding: 60px 0;
}
@media screen and (max-width: 768px) {
  section{
    padding: 30px 0;
  }
}
section h1{
  text-align: center;
  margin-bottom: 30px;
}
section h1 span{
  font-size: 28px;
  border-bottom: 5px solid #005448;
}
@media screen and (max-width: 768px) {
  section h1 span{
    font-size: 19px;
    border-bottom: 3px solid #005448;
  }
}
section .read{
  text-align: center;
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 1rem;
  line-height: 1.8;
}

@media screen and (max-width: 768px) {
  section .read{
    font-size: 16px;
  }
}
.form_area{
  background: #f7fcf8;
  box-shadow: 0px 5px 0px rgba(0, 0, 0, 0.15);
  border-radius: 5px;
  margin-top: 2rem;
  padding: 2rem;
}
.alert {
  padding: 15px;
  margin-bottom: 20px;
  border: 1px solid transparent;
  border-radius: 4px;
}
.alert-danger {
  color: #a94442;
  background-color: #f2dede;
  border-color: #ebccd1;
}
/* エラーメッセージ */
.error-list {
  padding-left: 30px;
  font-size: 14px;
}
.error-list li {
  margin-bottom: 3px;
  list-style-type: disc;
}
.error-list li:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 768px) {
  .form_area{
    padding: 1rem;
  }
}
.form_block{
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
}
.form_block .declaration{
  font-size: 16px;
}
.form_block a{
  color: #005448;
  text-decoration: underline;
}
.form_heading{
  font-weight:bold;
  line-height: 2;
  position: relative;
  margin-top: 32px;
  margin-bottom: 10px;
}
input[type='text'],input[type='email'],input[type='tel']{
  font-size: 16px;
  width: 100%;
  height: 3em;
  padding: 0.5em 0.75em;
  border-radius: 4px;
  border: 1px solid #005448;
  background: white;
  font-weight: bold;
  letter-spacing: 1px;
  line-height: 1;
  color: #005448;
}
input[type='text']::placeholder,input[type='email']::placeholder,input[type='tel']::placeholder{
  color: #dddcdc;
}
@media screen and (max-width: 767px) {
  input[type='text']::placeholder,input[type='email']::placeholder,input[type='tel']::placeholder{
    font-size: 14px;
  }
}
.name-form {
  display: flex;
  justify-content: space-between;
}
.name-form input{
  width: 49%;
}
.member-type-form label,
.member-type-form label{
  display: inline-block;
  margin-right: 40px;
  font-size: 17px;
  font-weight: bold;
  color: #333;
}
.member-type-form label input,
.member-type-form label input{
  margin-right: 5px;
}
.city-area{
  width: 68%;
}
.s_ttl{
  margin-bottom: 5px;
}
/*必須と任意ボタン*/
.form_heading .required, .form_heading .optional {
  display: inline-block;
  margin-right: 10px;
  width: 45px;
  padding: 3px 2px 3px;
  border: 1px solid #f83954;
  border-radius: 5px;
  font-size: 12px;
  font-weight: normal;
  line-height: 1;
  text-align: center;
}
.form_heading .required {
  background: #f83954;
  color: #fff;
}
.zip_input{
  margin-bottom: 10px;
}
.zip_input .w30{
  width: 30%;
}
@media screen and (max-width: 768px) {
  .zip_input .w30{
    width: 50%;
  }
}
/*セレクト*/
.birthday-form{
  display: flex;
}
select{
  font-size: 16px;
  width: 100%;
  height: 3em;
  padding: 0.5em 3.5em  0.5em 0.75em;
  border-radius: 4px;
  border: 1px solid #005448;
  background: white;
  font-weight: bold;
  letter-spacing: 1px;
  line-height: 1;
  color: #005448;
}
.birthday-form .i-select{
  display: flex;
  align-items: flex-end;
  margin-right: 10px;
  position: relative;
  width: 100%;
}
.birthday-form .i-select span{
  font-weight: bold;
  margin-left: 5px;
}
.pref-form{
  display: flex;
}
.pref-form .i-select{
  margin-right: 10px;
  position: relative;
  width: 30%;
  margin-bottom: 10px;
}
.select{
  width:100%;
}
.select:after {
  border: 3px solid transparent;
  border-radius: 2px;
  border-right: 0;
  border-top: 0;
  content: " ";
  display: block;
  height: 0.625em;
  margin-top: -0.4375em;
  pointer-events: none;
  position: absolute;
  top: 50%;
  transform: rotate(-45deg);
  transform-origin: center;
  width: 0.625em;
  border-color: #5fa59b;
  border-width: 2px !important;
  right: 30px;
}

.pref-form .select:after{
  right: 14px;
  bottom: 22px;
  top: auto;
}
.btn_area{
  margin: 50px auto 30px;
}
.edit_btn{
  background: #f08300;
  color: white;
  box-shadow: 0px 5px 0px rgba(0, 0, 0, 0.15);
  border-radius: 9999px;
  width: 100%;
  font-weight: bold;
  padding: 20px 60px;
  display: block;
  font-size: 20px;
  text-align: center;
  text-decoration: none;
  position: relative;
}
.edit_btn:after {
  border: 3px solid transparent;
  border-radius: 2px;
  border-right: 0;
  border-top: 0;
  content: " ";
  display: block;
  height: 0.625em;
  margin-top: -0.4375em;
  pointer-events: none;
  position: absolute;
  top: 56%;
  transform: rotate(-135deg);
  transform-origin: center;
  width: 0.625em;
  border-color: #fff;
  border-width: 2px !important;
  right: 30px;
}
.edit_btn:hover {
  -webkit-transform: translateY(4px);
  transform: translateY(4px);
  box-shadow: none;
}
@media screen and (max-width: 768px) {
  .edit_btn{
    width: 100%;
    font-size: 16px;
  }
}

.inline-radio {
  display: flex;
  border-radius: 4px;
  overflow: hidden;
  border: 1px solid #005448;
}

.inline-radio div {
  position: relative;
  flex: 1;
}

.inline-radio input {
  width: 100%;
  height: 50px;
  opacity: 0;
}

.inline-radio label {
  position: absolute;
  top: 0; left: 0;
  color: #005448;
  font-weight: bold;
  width: 100%;
  height: 100%;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  border-right: 1px solid #b6b6b6;
}

.inline-radio div:last-child label {
  border-right: 0;
}

.inline-radio input:checked + label {
  background: #005448;
  font-weight: bold;
  color: #fff;
}
.birth-notice{
  font-size: 12px;
  color: #555;
  font-weight: bold;
  margin-top: 10px;

}
.agree-area{
  margin-top: 10px;
  font-weight: bold;
  font-size: 17px;
}
.agree-area.ver2{
  margin-top: 10px;
}

.agree-area label{
  display: flex;
  align-items: flex-start;
}
.agree-area a{
  margin: 0 3px;
}
.agree-area input[type="checkbox"]{
  transform: scale(1.5);
  margin: 3px 10px 0 5px;
  border:#005448 1px solid;
  cursor: pointer;
}
.agree-area .agree-notice{
  display: inline-block;
  font-size: 14px;
  color: #b22222;
  margin-top: 10px;
}
@media screen and (max-width: 768px) {
  .agree-area{
    font-size: 14px;
  }
  .agree-area input[type="checkbox"]{
    transform: scale(1.2);
    margin: 0 5px 0 5px;
  }
  .agree-area .agree-notice{
    font-size: 12px;
  }
}

/*====================================

  confirm

====================================*/
.confirm .form_heading{
  margin-left: 10px;
}
.confirm_box{
  background: #fff;
  border-radius: 5px;
  padding:20px;
  margin-top: 5px;
}
.confirm_box p{
  font-size: 16px;
  color: #005448;
  font-weight: bold;
}

.confirm .btn_area{
  display: flex;
  justify-content: space-between;
}
.confirm .back_btn{
  background: #ccc;
  color: white;
  box-shadow: 0px 5px 0px rgba(0, 0, 0, 0.15);
  border-radius: 9999px;
  width: 30%;
  font-weight: normal;
  padding: 20px 60px;
  display: block;
  font-size: 20px;
  text-align: center;
  text-decoration: none;
  position: relative;
}
.confirm .back_btn:after {
  border: 3px solid transparent;
  border-radius: 2px;
  border-right: 0;
  border-top: 0;
  content: " ";
  display: block;
  height: 0.625em;
  margin-top: -0.4375em;
  pointer-events: none;
  position: absolute;
  top: 56%;
  transform: rotate(45deg);
  transform-origin: center;
  width: 0.625em;
  border-color: #fff;
  border-width: 2px !important;
  left: 30px;
}
.confirm .back_btn:hover {
  -webkit-transform: translateY(4px);
  transform: translateY(4px);
  box-shadow: none;
}
.confirm .edit_btn{
  width: 60%;
}
@media screen and (max-width: 768px) {
  select{
    padding: 0.5em 0.5em 0.5em 0.75em;
  }
  .select:after{
    right: 26px;
  }
  .form_heading {
    margin-top: 20px;
  }
  .edit_btn{
    width: 100%;
    font-size: 16px;
  }
  .confirm .back_btn{
    font-size: 16px;
  }
}

@media screen and (max-width: 480px) {
  .confirm .btn_area{
    flex-wrap: wrap;
    flex-direction: column-reverse;
  }
  .confirm .back_btn{
    width: 100%;
  }
  .confirm .edit_btn{
    width: 100%;
    margin-bottom: 20px;
  }
}
/*====================================

  complete

====================================*/
.complete .read{
  margin-top: 60px;
}
.complete .read b{
  color: #f08300;
}
.complete .mail_abstract{
  text-align: center;
  font-weight: bold;
  font-size: 18px;
  line-height: 1.8;
  margin-top: 3rem;
  margin-bottom: 4rem;
}
.complete .mail_abstract .head{
  color: #005448;
  font-size: 20px;
  margin-bottom: 20px;
  border: solid #999;
  border-width: 2px 0;
  padding: 5px 0;
}
.complete .mail_abstract .item{
  margin-top:10px;
}
.complete .mail_abstract .subject{
  display: inline-block;
  color: #005448;
  line-height: 1.5;
}
.complete .mail_abstract .mail-icon{
  color: #005448;
  margin-right: 5px;
}
.complete .mail-notice{
  color: #b22222;
  text-align: center;
  font-weight: bold;
  font-size: 14px;
  margin-top: 10px;
}
.complete .mail-notice .fas{
  margin-right: 3px;
}

@media screen and (max-width: 768px){
  .complete .mail_abstract .subject{
    font-size: 14px;
  }
  .complete .mail_abstract{
    margin-bottom: 20px;
  }
}
.complete .atten{
  background: #eef9f1;
  padding: 20px 20px 10px;
  border-radius: 10px;
  margin: 60px auto;
}
.complete .atten p.head,
.complete .atten p.body{
  text-align: center;
  font-weight: bold;
}
.complete .atten p.head{
  color: #b22222;
  font-size: 20px;
  margin-bottom: 10px;
}
.complete .atten p.body{
  color: #333;
  font-size: 16px;
  margin-bottom: 20px;
}
.complete .atten p.head i{
  margin-right: 5px;
}
.complete .atten a{
  background: #f08300;
  color: white;
  box-shadow: 0px 5px 0px rgba(0, 0, 0, 0.15);
  border-radius: 9999px;
  width: 480px;
  font-weight: bold;
  padding: 10px 40px;
  display: block;
  font-size: 16px;
  text-align: center;
  text-decoration: none;
  position: relative;
  margin: 30px auto;
}
.complete .atten a:after {
  border: 3px solid transparent;
  border-radius: 2px;
  border-right: 0;
  border-top: 0;
  content: " ";
  display: block;
  height: 0.625em;
  margin-top: -0.4375em;
  pointer-events: none;
  position: absolute;
  top: 56%;
  transform: rotate(-135deg);
  transform-origin: center;
  width: 0.625em;
  border-color: #fff;
  border-width: 2px !important;
  right: 30px;
}
.complete .atten a:hover {
  -webkit-transform: translateY(4px);
  transform: translateY(4px);
  box-shadow: none;
}

.complete .atten .info p{
  color: #333;
  font-size: 16px;
  font-weight: normal;
}

.complete .mail_link{
  font-weight:bold;
  color: #005448;
}
@media screen and (max-width: 768px) {
  .complete .read {
      margin-top: 30px;
  }
  .complete .atten{
    padding: 20px 10px 10px;
    margin: 30px auto;
  }
  .complete .atten p{
    font-size: 16px;
  }
  .complete .atten a{
    width: 100%;
    font-size: 16px;
  }
  .complete .atten .info p{
    font-size: 14px;
  }
}