@charset "UTF-8";
/* ######################################################################################

  　アコーディオンリスト　faqAccordionList

###################################################################################### */
.faqAccordionList,
.faqAccordionList__item__q,
.faqAccordionList__item__a{position: relative; width: 100%;}

.faqAccordionList__item__q{
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  color: #006eb8;
  background: #d7ebf6;
  font-weight: bold;
}
.faqAccordionList__item__q:after{
  content: "＋";
  display: block;
  position: absolute;
  font-size: 2rem;
}
.faqAccordionList__item.open .faqAccordionList__item__q:after{
  transform: rotate(45deg);
}

@media print, screen and (min-width: 768px){
  .faqAccordionList{max-width: 900px; margin-left: auto; margin-right: auto; margin-bottom: 7em;}
  .faqAccordionList__item{font-size: 1.7rem;}
  .faqAccordionList__item + .faqAccordionList__item{margin-top: 1.4em;}
  .faqAccordionList__item__q{padding: 1.15em 0.75em;}
  .faqAccordionList__item__q:after{top: 1em; right: 1.5em;}
  .faqAccordionList__item__a__inner{padding: 1.5em 2em 0.75em;}
  .faqAccordionList__item__a__inner p{font-size: 1.5rem;}
  .faqAccordionList__item__a__inner p + p{margin-top: 1.5em;}
}
@media only screen and (max-width: 767px){
  .faqAccordionList{margin-bottom: 4em;}
  .faqAccordionList__item + .faqAccordionList__item{margin-top: 1em;}
  .faqAccordionList__item__q,
  .faqAccordionList__item__a__inner{padding: 1em 1.5em 1em 0.6em; font-size: 1.4rem;}
  .faqAccordionList__item__a__inner{padding-left: 0; padding-right: 0;}
  .faqAccordionList__item__q:after{top: calc(50% - 0.65em); right: 0.4em;}
  .faqAccordionList__item__a__inner p{font-size: 1.3rem;}
  .faqAccordionList__item__a__inner p + p{margin-top: 1.5em;}
}




/* ######################################################################################

　ボタン：button

###################################################################################### */
.button {
  opacity: 1;
  display: inline-block;
  position: relative;
  border: none;
  -webkit-appearance: none;
  box-shadow: none;
  border: 1px solid #000;
  border-radius: 3em;
  background: #cccccc;
  font-weight: normal;
  font-family: "游ゴシック Medium", "YuGothic Medium", "游ゴシック", YuGothic, "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
  color: #000000;
  vertical-align: middle;
  line-height: 1;
  text-decoration: none;
  text-align: center;
  cursor: pointer;
}
.button:not(.disabled):hover {
  opacity: 0.8;
}
.button:not(.disabled):active {
  top: 1px;
  box-shadow:none;
}
.button.block {
  display: block;
  width: 100%;
}
.button.block + .block {
  margin-top: 0.5em;
}
@media print, screen and (min-width: 768px) {
  .button {
    padding: 1.25em 2.5em;
    font-size: 1.6rem;
    min-width: 300px;
  }
    .button.access{
        min-width: 130px;
        padding: 0.5em 1em;
    }
  form .button{
    padding-top: 1.25em;
    padding-bottom: 1.25em;
    font-weight: bold;
    display: block;
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .button {
    padding: 1.25em 2.5em;
    font-size: 1.4rem;
    min-width: 260px;
  }
  form .button{
    font-weight: bold;
  }
    .button.access{
        min-width: 130px;
        padding: 0.4em 1em;
    }
}
.button.form-submit {
  -webkit-transition: background-color 0.5s ease;
  -moz-transition: background-color 0.5s ease;
  -o-transition: background-color 0.5s ease;
  transition: background-color 0.5s ease;
}
.button.next:not(.disabled) {
  background: #d5ecf6;
  border-color: #d5ecf6;
  color: #000;
  font-weight: bold;
}
.button.before:after, .button.after:after {
  margin-left: 0.5em;
}
.button.before:before, .button.after:before {
  margin-right: 0.5em;
}
.button.before:before, .button.before:after, .button.after:before, .button.after:after {
  display: inline-block;
  vertical-align: middle;
  font-family: FontAwesome;
  content: "";
  width: 1em;
  height: 1em;
}
.button.before.snap, .button.after.snap {
  padding-left: 3.75em;
  padding-right: 3.75em;
}
.button.before.snap:after, .button.before.snap:before, .button.after.snap:after, .button.after.snap:before {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.button.before.snap:after, .button.after.snap:after {
  right: 1.75em;
}
.button.before.snap:before, .button.after.snap:before {
  left: 1.75em;
}
.button.ico {
  /* ≫ */
  /* ≪ */
  /* 人物チーム */
  /* GoogleMaps */
}
.button.ico.before:before, .button.ico.after:after {
    content: "";
    width: 1em;
    height: 1em;
    background-size: contain !important;
    background-repeat: no-repeat;
    background-position: center center;
}
.button.ico.before.b-mail:before{
    width: 1.2em;
    height: 1.2em;
    transform: translateY(-35%);
    background-image: url("../img/contents/ico_mail.svg");
}
@media all and (-ms-high-contrast: none) { /* IE*/
  .button.ico.before.b-mail{
    padding-top: 1.25em;
    padding-bottom: 1em;
  }
  .button.ico.before.b-mail:before{
    transform: translateY(-65%);
  }
}

.button.ico.before.a-arrow:after{
    width: 1.2em;
    height: 1.2em;
    right: 0.75em;
    background-image: url("../img/contents/ico_arrow_r_w.svg");
}
.button.ico.after.a-arrowblue:after{
    width: 1em;
    height: 1em;
    right: 0.75em;
    background-image: url("../img/contents/ico_arrow_blue.svg");
}
.button.ico.after.b-arrowblue:before{
    width: 1em;
    height: 1em;
    left: 0.75em;
    background-image: url("../img/contents/ico_arrow_l_blue.svg");
}
.button.ico.after.a-arrow.orange:after{
  width: 1em;
  height: 1em;
  right: 0.75em;
  background-image: url("../img/contents/ico_arrow_orange.svg");
}
.button.ico.after.submit:after,
.button.ico.after.next:after{
  width: 1em;
  height: 1em;
  right: 1.5em;
  background-image: url("../img/contents/ico_arrow_r.svg");
}
.button.ico.before.back:before{
  width: 1em;
  height: 1em;
  left: 1.5em;
  background-image: url("../img/contents/ico_arrow_l.svg");
}


.button.disabled {
  box-shadow: none;
  cursor: no-drop;
  background: #cccccc;
  color: #aaaaaa;
}
.button.submit {
  background: #d5ecf6;
  border-color: #d5ecf6;
  color: #000;
}
.button.back {
  background: #e4e1e2;
  border-color: #e4e1e2;
  color: #000;
}
.button.del {
  background: #cc0000;
  color: #ffffff;
}

.button.blue{
    background: #006ebc;
    border-color: #006ebc;
    color: #fff;
}

.button.white{
    background: #fff;
    border-color: #006EB8;
    color: #006EB8;
}

.button.lightBlue{
    background: #006ebc;
    border-color: #006ebc;
    color: #000;
}

.button.gray{
    background: #717071;
    border-color: #717071;
    color: #fff;
}

.button.orange{
  background: #d96429;
  border-color: #d96429;
  color: #fff;
}
.button.reverse{
  background: #fff;
  border-color: #d96429;
  color: #d96429;
}

.button[class^="autoZip"] {
  background: #def1f5;
  padding: 0.5em;
  vertical-align: middle;
  margin-left: 0.5em;
}

@media screen and (max-width: 767px) {
  .button.xs-block {
    display: block;
    width: 100%;
    margin: 1em 0;
  }
}


.button.corner_triangle{
  position: relative;
  width: auto;
  min-width: auto;
  max-width: 252px;
  display: block;
  border-radius: 0;
  padding: 0.72em 0 0.8em;
  font-size: 1.5rem;
}
.button.corner_triangle:after{
  content: "";
  position: absolute;
  right: 2px;
  bottom: 2px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 12px 12px;
  border-color: transparent transparent #ffffff transparent;
}
.button.corner_triangle:hover{
  border-color: #df3c3b;
  color: #df3c3b;
  text-decoration: underline;
  background-color: #fff;
  opacity: 1;
}
.button.corner_triangle:hover:after{
  border-bottom-color: #df3c3b;
}


/* ====================================================
	ボタンボックス
==================================================== */
.buttonBox {
  text-align: center;
}
.buttonBox p {
  text-align: center;
}
.buttonBox.center .row {
  display: inline-block;
  width: 103%;
  max-width: 768px;
}
.buttonBox.center.single .row {
  max-width: 384px;
}

@media screen and (max-width: 767px) {
  .buttonBox > .row > .col-xs-12 {
    margin-top: 0.25em;
    margin-bottom: 0.25em;
  }
}
@media screen and (max-width: 991px) {
  .buttonBox > .row > .col-sm-12 {
    margin-top: 0.25em;
    margin-bottom: 0.25em;
  }
}
@media screen and (max-width: 1199px) {
  .buttonBox > .row > .col-md-12 {
    margin-top: 0.25em;
    margin-bottom: 0.25em;
  }
}
@media screen and (max-width: 9999px) {
  .buttonBox > .row > .col-lg-12 {
    margin-top: 0.25em;
    margin-bottom: 0.25em;
  }
}

/* フォーム */
form .buttonBox ul{
  display: flex;
  justify-content: center;
}

@media print, screen and (min-width: 768px) {
  form .buttonBox ul{
    flex-direction: row-reverse;
  }
  form .buttonBox ul li + li{
    margin-right: 2em;
  }
}

@media screen and (max-width: 767px) {
  form .buttonBox ul{
    flex-direction: column;
  }
  form .buttonBox ul li + li{
    margin-top: 1em;
  }
}

/* ######################################################################################

　ボックス：Box

###################################################################################### */
/* ====================================================
　innerBox
==================================================== */
@media print, screen and (min-width: 768px) {
  .innerBox{padding-left: 50px;}
}
@media screen and (max-width: 767px) {
  .innerBox__sp,
  .innerBox{padding-left: 8px;}
}




/* ====================================================
　shadowSquareBox
==================================================== */
.shadowSquareBox{
  position: relative;
  background: #fff;
  box-shadow: 0px 0px 6px rgba(193, 95, 125, 0.7);
}
.shadowSquareBox__img{position: absolute;}
.shadowSquareBox__text .leftBorderTitle {
  position: relative;
  margin-bottom: 0.35em;
  padding-left: 0.5em;
  letter-spacing: 0.03em;
  font-feature-settings: "palt";
}

@media print, screen and (min-width: 768px) {
  .shadowSquareBox{
    padding: 10px 10px 12px 150px;
    min-height: 102px;
    border-radius: 10px;
  }
  .shadowSquareBox + .shadowSquareBox{
    margin-top: 70px;
  }
  .shadowSquareBox__img{
    position: absolute;
    left: 10px;
    top: -20px;
  }
  .shadowSquareBox__img img{
    width: 130px;
    height: auto;
  }
  .shadowSquareBox__text .leftBorderTitle {font-size: 2.5rem;}
  .shadowSquareBox__text p{
    padding-left: 12px;
    font-size: 1.8rem;
    font-feature-settings: "palt";
  }
}
@media screen and (max-width: 767px) {
  .shadowSquareBox{
    padding: 8px 5px 8px 80px;
    border-radius: 5px;
  }
  .shadowSquareBox + .shadowSquareBox{
    margin-top: 30px;
  }
  .shadowSquareBox__img{
    position: absolute;
    top: -10px;
    left: 0;
  }
  .shadowSquareBox__img img{
    width: 75px;
    height: auto;
  }
  .shadowSquareBox__text .leftBorderTitle {font-size: 1.7rem;}
  .shadowSquareBox__text p{
    padding-left: 5px;
    font-size: 1.4rem;
    line-height: 1.44;
    font-feature-settings: "palt";
  }
}




/* ######################################################################################

　表示・非表示：dispaly

###################################################################################### */
@media print, screen and (min-width: 768px) {
  div.pc, ul.pc, ol.pc, li.pc, dl.pc, dt.pc, dd.pc {
    display: block;
  }
  div.sp, ul.sp, ol.sp, li.sp, dl.sp, dt.sp, dd.sp {
    display: none;
  }

  span.pc, img.pc, em.pc, br.pc {
    display: inline;
  }
  span.sp, img.sp, em.sp, br.sp {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  div.sp, ul.sp, ol.sp, li.sp, dl.sp, dt.sp, dd.sp {
    display: block;
  }
  div.pc, ul.pc, ol.pc, li.pc, dl.pc, dt.pc, dd.pc {
    display: none;
  }

  span.sp, img.sp, em.sp, br.sp {
    display: inline;
  }
  span.pc, img.pc, em.pc, br.pc {
    display: none;
  }
}








/* ######################################################################################

　エフェクト：effect

###################################################################################### */
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeUp {
  0% {
    opacity: 0;
    transform: translateY(100px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fadeDown {
  0% {
    opacity: 0;
    transform: translateY(-100px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fadeRight {
  0% {
    opacity: 0;
    transform: translateX(100px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes fadeLeft {
  0% {
    opacity: 0;
    transform: translateX(-100px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}


.effect.fadeIn {
  opacity: 0;
}
.effect.fadeIn.insert {
  animation-name: fadeIn;
  animation-duration: 1.0s;
  animation-timing-function: ease;
  animation-fill-mode: forwards;
}
.effect.fadeUp, .effect.fadeDown, .effect.fadeRight, .effect.fadeLeft {
  opacity: 0;
}
.effect.fadeUp.insert, .effect.fadeDown.insert, .effect.fadeRight.insert, .effect.fadeLeft.insert {
  position: relative;
  animation-timing-function: ease;
  animation-fill-mode: forwards;
}
.effect.fadeUp.insert, .effect.fadeDown.insert {
  animation-duration: 0.75s;
}
.effect.fadeLeft.insert, .effect.fadeRight.insert {
  animation-duration: 1s;
}
.effect.fadeUp.insert {
  animation-name: fadeUp;
}
.effect.fadeDown.insert {
  animation-name: fadeDown;
}
.effect.fadeLeft.insert {
  animation-name: fadeLeft;
}
.effect.fadeRight.insert {
  animation-name: fadeRight;
}

@media print, screen and (min-width: 768px) {
  .effect.insert[class*="-1"] {
    animation-delay: 0.0s;
  }
  .effect.insert[class*="-2"] {
    animation-delay: 0.1s;
  }
  .effect.insert[class*="-3"] {
    animation-delay: 0.2s;
  }
  .effect.insert[class*="-4"] {
    animation-delay: 0.3s;
  }
  .effect.insert[class*="-5"] {
    animation-delay: 0.4s;
  }
  .effect.insert[class*="-6"] {
    animation-delay: 0.5s;
  }
  .effect.insert[class*="-7"] {
    animation-delay: 0.6s;
  }
  .effect.insert[class*="-8"] {
    animation-delay: 0.7s;
  }
  .effect.insert[class*="-9"] {
    animation-delay: 0.8s;
  }
  .effect.insert[class*="-10"] {
    animation-delay: 0.9s;
  }
  .effect.insert[class*="-11"] {
    animation-delay: 1.0s;
  }
}


@media print{
  .effect.fadeIn {
    opacity: 1;
  }
  .effect.fadeUp, .effect.fadeDown, .effect.fadeRight, .effect.fadeLeft {
    opacity: 1;
  }
}




/* ######################################################################################

　フォーム：form

###################################################################################### */
input[type="text"], input[type="password"], input[type="search"], input[type="tel"], input[type="url"], input[type="email"], input[type="datetime"], input[type="datetime-local"], input[type="date"], input[type="month"], input[type="week"], input[type="time"], input[type="number"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
  box-shadow: none;
  border: 1px solid #999999;
  border-radius: 0;
  background-color: #ffffff;
  max-width: 100%;
  width: 100%;
  padding: 0.5em 0.5em;
  font-size: 1.6rem;
  color: #000 !important;
  font-family: "游ゴシック Medium", "YuGothic Medium", "游ゴシック", YuGothic, "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
}

label.select select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
  box-shadow: none;
  border: 1px solid #999999;
  border-radius: 0;
  background-color: #ffffff;
  max-width: 100%;
  width: 100%;
  padding: 0.5em 0.5em;
  font-size: 1.6rem;
  color: #000 !important;
  font-family: "游ゴシック Medium", "YuGothic Medium", "游ゴシック", YuGothic, "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
}

input[type="text"], input[type="password"], input[type="search"], input[type="tel"], input[type="url"], input[type="email"], input[type="datetime"], input[type="datetime-local"], input[type="date"], input[type="month"], input[type="week"], input[type="time"], input[type="number"] {
  height: auto;
}

textarea {
  width: 100%;
  min-height: 4em;
}

label.select select {
  padding-right: 2.1em;
  line-height: 1.2;
}
label.select select:not([multiple]) {
  box-shadow: none;
  margin: 0;
}

label.select {
  display: inline-block;
  position: relative;
}
label.select:before, label.select:after {
  display: inline-block;
  position: absolute;
  font-size: 50%;
}
label.select:before {
  content: "";
  border-left: 1px solid #999999;
  right: 3em;
  height: 100%;
}
label.select:after {
  pointer-events: none;
  content: "▼";
  top: 50%;
  transform: translateY(-50%);
  right: 1em;
  color: #777777;
}
label.select select::-ms-expand {
  display: none;
}
label.select option[disabled="disabled"] {
  background: #f0f0f0;
  color: #cccccc;
}

input-placeholder {
  color: #aaa !important;
}

::-webkit-input-placeholder {
  color: #aaa !important;
}

::-moz-placeholder {
  color: #aaa !important;
}

::-ms-input-placeholder {
  color: #aaa !important;
}

-webkit-input-placeholder {
  color: #aaa !important;
}

input:-ms-input-placeholder {
  color: #aaa !important;
}

-moz-placeholder {
  color: #aaa !important;
}

:-ms-input-placeholder {
  color: #aaa !important;
}

input[type="text"]:focus, input[type="password"]:focus, input[type="search"]:focus, input[type="tel"]:focus, input[type="url"]:focus, input[type="email"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="date"]:focus, input[type="month"]:focus, input[type="week"]:focus, input[type="time"]:focus, input[type="number"]:focus {
  border-color: #006ebc;
  box-shadow: none;
}

label.select select:focus,
textarea:focus {
  border-color: #006ebc;
  box-shadow: none;
}

select:not([multiple]):focus {
  box-shadow: none;
}

input + label, input + span {
  cursor: pointer;
}
input:not(.df)[type="checkbox"], input:not(.df)[type="radio"] {
  display: none;
}
input:not(.df)[type="checkbox"] + label,
input:not(.df)[type="checkbox"] + span {
  position: relative;
  padding-left: 1.5em;
}
input:not(.df)[type="radio"] + label,
input:not(.df)[type="radio"] + span {
  position: relative;
  padding-left: 1.5em;
}
input:not(.df)[type="checkbox"] + label:before, input:not(.df)[type="checkbox"] + span:before, input:not(.df)[type="radio"] + label:before, input:not(.df)[type="radio"] + span:before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 0.25em;
  transform: translateY(-50%);
}
input:not(.df):not(.fa)[type="checkbox"] + label:before, input:not(.df):not(.fa)[type="checkbox"] + label:after, input:not(.df):not(.fa)[type="checkbox"] + span:before, input:not(.df):not(.fa)[type="checkbox"] + span:after, input:not(.df):not(.fa)[type="radio"] + label:before, input:not(.df):not(.fa)[type="radio"] + label:after, input:not(.df):not(.fa)[type="radio"] + span:before, input:not(.df):not(.fa)[type="radio"] + span:after {
  width: 1em;
  height: 1em;
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
input:not(.df):not(.fa)[type="checkbox"] + label:before, input:not(.df):not(.fa)[type="checkbox"] + span:before {
  content: "";
  border: 1px solid #000;
  border-radius: 2px;
}
input:not(.df):not(.fa)[type="checkbox"]:checked + label:after, input:not(.df):not(.fa)[type="checkbox"]:checked + span:after {
  content: "";
  background: url(../../../../_assets/img/contents/ico-check_check.svg) center no-repeat;
  background-size: 100%;
  top: 40%;
  left: 3px;
}
input:not(.df):not(.fa)[type="radio"] + label:before, input:not(.df):not(.fa)[type="radio"] + span:before {
  border: 1px solid #000;
  border-radius: 50%;
}
input:not(.df):not(.fa)[type="radio"]:checked + label:after, input:not(.df):not(.fa)[type="radio"]:checked + span:after {
  content: "";
  background: url(../../../../_assets/img/contents/ico-radio_check.svg) center no-repeat;
  background-size: 58%;
}
input.fa[type="checkbox"] + label:before, input.fa[type="checkbox"] + span:before, input.fa[type="radio"] + label:before, input.fa[type="radio"] + span:before {
  font-family: FontAwesome;
}
input.fa[type="checkbox"] + label:before, input.fa[type="checkbox"] + span:before {
  content: "\f096";
}
input.fa[type="radio"] + label:before, input.fa[type="radio"] + span:before {
  content: "\f10c";
}
input.fa[type="checkbox"]:checked + label:before, input.fa[type="checkbox"]:checked + span:before {
  content: "\f046";
}
input.fa[type="radio"]:checked + label:before, input.fa[type="radio"]:checked + span:before {
  content: "\f192";
}

@media screen and (max-width: 767px) {
  input:not(.df)[type="checkbox"] + label, input:not(.df)[type="checkbox"] + span, input:not(.df)[type="radio"] + label, input:not(.df)[type="radio"] + span {
    display: block;
    padding-top: 0.5em;
    padding-bottom: 0.5em;
  }

  .mwform-radio-field > label,
  label.df {
    display: block;
    padding-top: 0.5em;
    padding-bottom: 0.5em;
  }
}
label.file:before {
  content: "ファイルを選択";
  display: inline-block;
  border-radius: 5px;
  background: #6C003C;
  color: #ffffff;
  padding: 0.5em 1em;
}

.privacyPolicyBox {
  border: 1px solid #cccccc;
  margin-top: 1em;
  padding: 1em;
}
.privacyPolicyBox .scroll {
  border: 1px solid #f0f0f0;
  overflow-y: scroll;
}
@media print, screen and (min-width: 768px) {
  .privacyPolicyBox .scroll {
    height: 300px;
  }
}
@media screen and (max-width: 767px) {
  .privacyPolicyBox .scroll {
    height: 300px;
  }
}

.agreementBox {
  margin-top: 1em;
  text-align: center;
  background: #f0f0f0;
}
.agreementBox input[type="checkbox"] + label,
.agreementBox input[type="checkbox"] + span {
  display: block;
}
.agreementBox + .buttonBox {
  margin-top: 2em;
}
@media print, screen and (min-width: 768px) {
  .agreementBox input[type="checkbox"] + label, .agreementBox input[type="checkbox"] + span {
    padding: 1em;
  }
  .agreementBox input[type="checkbox"] + label::before, .agreementBox input[type="checkbox"] + span::before {
    left: 50%;
    transform: translate(-10.6em, -50.1%);
  }
}
@media screen and (max-width: 767px) {
  .agreementBox input[type="checkbox"] + label {
    padding: 1em 1em 1em 2.5em;
    font-size: 13px;
  }
  .agreementBox input[type="checkbox"] + label::before, .agreementBox input[type="checkbox"] + span::before {
    left: 1em;
  }
}

.checkConf {
  display: block;
}

.month-picker-year-table .ui-button {
  height: auto !important;
}



form th.required:after {
  content: "※";
  display: inline-block;
  border-radius: 3px;
  margin-left: 0.25em;
  vertical-align: middle;
  line-height: 1;
  color: #ff0000;
  font-size: 1.7rem;
}
form .select + .size-input-address,
form .size-input-address + .size-input-address,
form .size-input-address + .size-input-address {
  margin-top: 5px;
}
form .sample {
  display: block;
  margin: 0.5em 0 0;
  padding-left: 1em;
  text-indent: -1em;
  line-height: 1;
  font-size: 1.4rem;
  color: #000;
}
@media screen and (max-width: 767px) {
  form .sample {font-size: 1.3rem;}
}


form .error {
  display: block;
  margin: 0.5em 0 0;
  padding-left: 1em;
  text-indent: -1em;
  line-height: 1;
  font-size: 1.4rem;
  color: #ff0000;
  font-weight: bold;
}
form .error:before {
  content: "※";
}
@media screen and (max-width: 767px) {
  form .error {font-size: 1.3rem;}
}




/* ######################################################################################

　リスト：list

###################################################################################### */
/* ====================================================
  dotList
==================================================== */
.dotList{}
.dotList__item{position: relative; padding-left: 0.75em;}
.dotList__item:before{
  content: "";
  position: absolute;
  top: 0.6em;
  left: 0.1em;
  width: 4px;
  height: 4px;
  background: #006ebc;
}

@media print, screen and (min-width: 768px) {
  .dotList__item{font-size: 1.5rem; line-height: 1.4;}
}
@media screen and (max-width: 767px) {
  .dotList__item{font-size: 1.4rem; line-height: 1.4;}
}


/* ######################################################################################

　ハンバーガーメニュー：meanMenu

###################################################################################### */
/* ====================================================
　3＠デフォルト　※基本的には変更しない
==================================================== */
/* ＋－のはみ出し防止 */
.meanMenuAcc ul li,
.mean-container .mean-nav ul li {
  position: relative;
  z-index: 10;
}

.meanMenuAcc ul li a.meanAcc-expand,
.mean-container .mean-nav ul li a.mean-expand {
  background: none !important;
  border: none !important;
}

.mean-container .mean-bar {
  padding: 0;
  min-height: 0;
}

.header {
  width: 100%;
  position: relative;
}

.mean-container .mean-bar {
  height: 0;
}

.meanMenuAcc ul li a,
.mean-container .mean-nav ul li a {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
}

.meanMenuAcc ul li a:not(.meanAcc-expand),
.mean-container .mean-nav ul li a:not(.mean-expand) {
  width: 100% !important;
}

/* 重なり順 DF
-------------------------------------*/
.header {
  z-index: 9999;
}

.mean-bar {
  z-index: 10000;
}

/* ×スタイル DF
-------------------------------------*/
.mean-container a.meanmenu-reveal.meanclose span:nth-of-type(1) {
  transform: rotate(45deg);
}

.mean-container a.meanmenu-reveal.meanclose span:nth-of-type(2) {
  opacity: 0;
}

.mean-container a.meanmenu-reveal.meanclose span:nth-of-type(3) {
  transform: rotate(-45deg);
}

/* ＋・－　スタイル DF
-------------------------------------*/
.meanMenuAcc ul li a.meanAcc-expand,
.mean-container .mean-nav ul li a.mean-expand {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0px !important;
}

.meanMenuAcc ul li a.meanAcc-expand:before,
.meanMenuAcc ul li a.meanAcc-expand:after,
.mean-container .mean-nav ul li a.mean-expand:before,
.mean-container .mean-nav ul li a.mean-expand:after {
  content: "";
  display: block;
  position: relative;
}

.meanMenuAcc ul li a.meanAcc-expand:after,
.mean-container .mean-nav ul li a.mean-expand:after {
  transform: rotate(90deg);
}

.meanMenuAcc ul li a.meanAcc-expand.meanAcc-clicked:after,
.mean-container .mean-nav ul li a.mean-expand.mean-clicked:after {
  display: none;
}

/* MENU・CLOSE　スタイル DF
-------------------------------------*/
.mean-container a.meanmenu-reveal em {
  display: block;
  position: absolute;
  width: 100%;
  text-indent: 0;
  text-align: center;
  font-weight: normal;
  font-style: normal;
  color: #000000;
  font-size: 11px;
}

/* スクロール対応 DF
-------------------------------------*/
.meanmenu-reveal.meanclose + .mean-nav {
  box-sizing: border-box;
  transition: height ease 0.3s;
  max-height: calc(100vh - 50px);
  /* 100% からヘッダの高さを引く*/
  overflow-y: scroll;
}

/* mmOpen時にbodyのスクロールを止める DF
-------------------------------------*/
/*
    html.mmOpen,
    html.mmOpen body {overflow: auto; height: 100%;}
    html.mmOpen body {overflow: hidden;}
*/
/* meanMenuAcc DF
-------------------------------------*/
.meanMenuAcc ul li a {
  display: block;
  border-top: 1px solid #383838;
  border-bottom: 1px solid #cccccc;
  text-decoration: none;
  text-transform: uppercase;
}

.meanMenuAcc ul {
  position: relative;
  z-index: 10;
}

.meanMenuAcc ul li {
  position: relative;
  float: left;
  width: 100%;
}

.meanMenuAcc ul li a.meanAcc-expand {
  position: absolute;
  z-index: 2;
  right: 0;
  top: 0;
  margin-top: 1px;
  text-align: center;
}

/* #####################  ここから　meanMenu　個別設定  ##################### */
/* =========================================================
  PC対応  ※PCで使用する場合は削除
          ※[meanScreenWidth] に大きめの値を設定
========================================================= */
@media print, screen and (min-width: 768px) {
  .meanMenu {
    display: none !important;
  }

  .header {
    height: auto !important;
  }

  .header .contents {
    height: auto !important;
  }
}
@media screen and (max-width: 767px) {
  /* =========================================================
  　ヘッダ固定  ※固定にしない場合は削除
  ========================================================= */
  header,
  .mean-container .mean-bar {
    position: fixed !important;
  }

  /* =========================================================
  　ヘッダ高さ  ※[meanNavPush]にも設定
  ========================================================= */
  .header .contents {
    height: 50px;
  }

  .mean-container .mean-nav {
    margin-top: 53px;
  }

/* ====================================================
　≡ボタン
==================================================== */
.mean-container a.meanmenu-reveal {
    width: 50px;
    height: 47px;
    top: 3px;
    padding: 0;
    background: #fff;
}

.mean-nav ul li li > a:not(fitst-of-child) {
  opacity: 1 !important;
}

/* ====================================================
　≡スタイル
==================================================== */
.mean-container a.meanmenu-reveal span {
  position: relative;
  top: 10px;
  /* ≡の位置調整 */
  width: 45%;
  /* ≡の長さ */
  background: #006ebc;
  /* ≡の色 */
  height: 3px;
  /* ≡の太さ */
  margin: 5px auto;
  /* ≡の間隔 */
}

/* ====================================================
　×スタイル
==================================================== */
.mean-container a.meanmenu-reveal.meanclose span {
  top: 18px;
  /* ×の位置調整 */
  left: 15px;
  /* ×の位置調整 */
  width: 48%;
  /* ×の長さ */
  background: #006ebc;
  /* ×の色 */
  height: 3px;
  /* ×の太さ */
}

/* ====================================================
　MENU・CLOSE　スタイル
==================================================== */
.mean-container a.meanmenu-reveal em {
    display: none;
}

/* ====================================================
　メニュースタイル
==================================================== */
.mean-container .mean-nav {
    background: #fff;
    box-shadow: 0 0 3px rgba(27, 29, 36, 0.2);
}

/* メニュー色 */
.mean-container .mean-nav ul li a {
    position: relative;
    border: none !important;
    padding: 1em 55px 0.95em 25px !important;
    /* ボタン余白 */
    color: #000;
    /* 文字色 */
    font-size: 1.4rem;
}
.mean-container .mean-nav ul li a:after {
    content: "";
    width: 70px;
    height: 42px;
    padding: 0 !important;
    text-align: center;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 2;
    font-weight: 700;
    background: url("../img/contents/ico_arrow_r.svg") center center no-repeat;
    background-size: 9%;
    border: none !important;
    border-left:none !important;
    border-bottom: none !important;
}
    
.mean-container .mean-nav ul li ul li a:hover,
.mean-container .mean-nav ul li ul li a{
    position: relative;
    padding: 0.5em 55px 0.45em 55px !important;
    background: #e2e0e1;
    font-size: 1.3rem;
    text-transform: none;
}
.mean-container .mean-nav ul li ul li a:before{
    content:"";
    position: absolute;
    top: 0.5em;
    left: 45px;
    width: 1px;
    height: calc(100% - 0.95em);
    background: #000;
}
.mean-container .mean-nav ul li ul li a .en{
    display: block;
    margin-top: 0.15em;
    font-size: 1.1rem;
    font-weight: 400;
}

/* 下端の罫線 */
/* ====================================================
　＋・－　スタイル
==================================================== */
.mean-container .mean-nav ul li a.mean-expand {
  width: 70px;
  height: 42px;
  background: #fff !important;
}

.mean-container .mean-nav ul li a.mean-expand:before{
    display: none;
}
.mean-container .mean-nav ul li a.mean-expand.mean-clicked:after,
.mean-container .mean-nav ul li a.mean-expand:after {
    content: "";
    width: 70px;
    height: 42px;
    padding: 0 !important;
    display: block !important;
    text-align: center;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 2;
    font-weight: 700;
    background-position: 48% center;
    background-repeat: no-repeat;
    background-size: 24%;
    border: none !important;
    border-left:none !important;
    border-bottom: none !important;
    transform: none;
}

    .mean-container .mean-nav ul li a.mean-expand:after{
    background-image: url("../img/contents/ico_plus.svg");
        
    }
.mean-container .mean-nav ul li a.mean-expand.mean-clicked:after{
    background-image: url("../img/contents/ico_arrow_d.svg");
}

/* ====================================================
　閉じるボタン追加
==================================================== */
.mean-container .mean-nav ul li.add-close .meanmenu-reveal{position: relative;}
.mean-container .mean-nav ul li.add-close .meanmenu-reveal{
  top: 0;
  padding: 0!important;
  background: #006ebc;
  height: 40px;
}
.mean-container .mean-nav ul li.add-close .meanmenu-reveal:after{
  display: none;
}
.mean-container .mean-nav ul li.add-close .meanmenu-reveal span{display: none;}
.mean-container .mean-nav ul li.add-close .meanmenu-reveal.meanclose span{display: block;}
.mean-container .mean-nav ul li.add-close .meanmenu-reveal span{
  top: 13px;
  /* ×の位置調整 */
  left: calc(50% - 40px);
  /* ×の位置調整 */
  width: 12px;
  /* ×の長さ */
  background: #fff;
  /* ×の色 */
  height: 2px;
  /* ×の太さ */
}
.mean-container .mean-nav ul li.add-close .meanmenu-reveal em {
  display: block;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  color: #fff;
  font-size: 12px;
}
}





/* ######################################################################################

    pageTop：ページトップ

###################################################################################### */ 
.pageTopFix{
  position: fixed;
  z-index: 8000;
  cursor: pointer;
  text-indent: -99999px;
  background: url(../img/footer/pageTop.svg) no-repeat;
  background-position: center center;
  box-shadow: 0 0 6px rgba(30, 29, 27, 0.3);
  border-radius: 50%;
}

@media print, screen and (min-width: 768px) {
  .pageTopFix{
      bottom: 140px;
      right: 50px;
      width: 53px;
      height: 53px;
      background-size: 53px 53px;
  }
}
@media screen and (max-width: 767px) {
  .pageTopFix{
      bottom: 55px;
      right: 15px;
      width: 35px;
      height: 35px;
      background-size: 35px 35px;
  }
}

@media print{
  .pageTopFix{
    display: none!important;
  }
}
    
    
  /* ######################################################################################

　 パンくず：topicPath

###################################################################################### */
.topicPath {
  clear: both;
  line-height: 1;
}
.topicPath ol {
  display: inline-block;
  max-width: 980px;
  width: 100%;
  margin: 0 auto;
  text-align: left;
  font-size: 0;
}
.topicPath ol li {
  font-size: 12px;
}
.topicPath ol li:before {
  content: "＞";
}
.topicPath ol li:first-child:before {
  display: none;
}
.topicPath ol li a {
  color: #000;
  text-decoration: none;
}
.topicPath ol li:last-child > span{
  color: #006ebc;
}

@media print, screen and (min-width: 768px) {
  .topicPath {
    padding: 0 0 90px; 
    display: block;
  }
  .topicPath li {
    display: inline-block;
  }
  .topicPath li:before {
    margin-right: 0.25em;
    margin-left: 0.25em;
  }
  .topicPath a:hover {
    text-decoration: underline;
  }
}
@media screen and (max-width: 767px) {
  .topicPath {
    display: none;
  }
}



/* ######################################################################################

　表：table

###################################################################################### */
/* ====================================================
　基本設定
==================================================== */
table {
  border-collapse: separate;
  border-spacing: 0;
  width: 100%;
}

caption {
  margin-bottom: 0.75em;
  text-align: left;
  font-size: 80%;
  font-weight: bold;
}

th, td {
  border-color: #000000;
  padding: 0.5em;
  text-align: left;
  font-weight: normal;
}

@media print, screen and (min-width: 768px) {
  th {
    background: #fff;
    padding: 1.25em 1em 1.25em 50px;
    vertical-align: top;
    font-size: 1.7rem;
    width: 240px;
  }

  td {
    padding: 1.3em;
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  th {
    background: #fff;
    padding: 0.75em 0 0.25em;
    font-size: 1.4rem;
  }

  td {
    padding: 0.25em 0 0.75em;
    font-size: 1.4rem;
  }
}
/* ====================================================
　囲み
==================================================== */
.borderHorizon th, .borderHorizon td {
  border-width: 0 0 1px 0;
}
.borderHorizon.topBorder tr:first-child th,
.borderHorizon.topBorder tr:first-child td{
  border-top-width: 1px; 
}

@media screen and (max-width: 767px) {
  .borderHorizon.xs-block th {border-bottom-width: 0;}
  .borderHorizon.topBorder tr:first-child td{border-top-width: 0; }
}



/* ====================================================
　線種
==================================================== */
.borderSolid th {
  border-style: solid;
}
.borderSolid td {
  border-style: solid;
}
.borderSolid td:before {
  border-style: solid;
}


@media screen and (max-width: 767px) {
  /* ====================================================
  　xsのときcellをBlock
  ==================================================== */
  table.xs-block {
    display: block;
  }
  table.xs-block caption, table.xs-block thead, table.xs-block tbody, table.xs-block tr, table.xs-block th, table.xs-block td {
    display: block;
  }
  table.xs-block tr {
    margin-top: 0%;
  }
  table.xs-block tr + tr th {
    border-top-width: 0;
  }
  table.xs-block th + td,
  table.xs-block td + td {
    border-top-width: 0;
  }
  table.xs-block.borderBox td {
    border-left-width: 1px;
  }
  table.cell-xs-create th {
    display: none;
  }
  table.cell-xs-create td {
    position: relative;
    overflow: hidden;
    padding-left: 7em;
  }
  table.cell-xs-create td:before {
    content: attr(title);
  }
  table.cell-xs-create td:nth-of-type(1) {
    border-top-width: 1px;
  }
}


/* ====================================================
　フォームtable
==================================================== */
form th{font-weight: bold;}

@media print, screen and (min-width: 768px) {
  form table{margin-top: 30px;}
  form table{margin-bottom: 60px;}
  form th {width: 270px; padding: 1.45em 0 1.45em 40px;}
  form th .small{font-size: 1.5rem; font-feature-settings: "palt";}
  form td {padding-right: 3em; padding-top: 1.5em; padding-bottom: 1.45em;}
}
@media screen and (max-width: 767px) {
  form table{margin-top: 20px;}
  form table{margin-bottom: 40px;}
  form th{padding-top: 1em;}
  form td {padding-bottom: 1em;}
}

/* 入力画面 */
@media print, screen and (min-width: 768px) {
  .fotmmailer.input th{padding-top: 1.9em;}
}
@media screen and (max-width: 767px) {
}


/* ######################################################################################

　テキスト：text

###################################################################################### */
/* ====================================================
　lead__text
==================================================== */
@media print, screen and (min-width: 768px) {
  .lead__text{font-size: 1.7rem;}
}
@media screen and (max-width: 767px) {
  .lead__text{font-size: 1.4rem;}
}



/* ######################################################################################

　タイトル：title

###################################################################################### */
h1, h2, h3, h4, h5, h6 {
  margin: 0 0 0.75em;
  padding: 0;
  line-height: 1.25;
  font-weight: bold;
}

@media print, screen and (min-width: 768px) {
  h1 {
    font-size: 40px;
  }
}
@media screen and (max-width: 767px) {
  h1 {
    font-size: 32px;
  }
}

@media print, screen and (min-width: 768px) {
  h2 {
    font-size: 30px;
  }
}
@media screen and (max-width: 767px) {
  h2 {
    font-size: 26px;
  }
}

@media print, screen and (min-width: 768px) {
  h3 {
    font-size: 20px;
  }
}
@media screen and (max-width: 767px) {
  h3 {
    font-size: 18px;
  }
}

@media print, screen and (min-width: 768px) {
  h4 {
    font-size: 18px;
  }
}
@media screen and (max-width: 767px) {
  h4 {
    font-size: 16px;
  }
}

@media print, screen and (min-width: 768px) {
  h5 {
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  h5 {
    font-size: 14px;
  }
}

@media print, screen and (min-width: 768px) {
  h6 {
    font-size: 14px;
  }
}
@media screen and (max-width: 767px) {
  h6 {
    font-size: 12px;
  }
}


/* ====================================================
　balloonTitleBox
==================================================== */
.balloonTitleBox{
    text-align: center;
}
.balloonTitleBox__title{
  margin-bottom: 0;
    position: relative;
    display: inline-block;
    color: #006ebc;
    font-weight: bold;
    background: url("../img/contents/frame_balloon.svg");
    background-repeat: no-repeat;
    background-position: center top;
    font-feature-settings: "palt";
}
@media print, screen and (min-width: 768px) {
    .balloonTitleBox{margin-bottom: 70px}
    .balloonTitleBox__title{
        padding: 21px 0.25em;
        width: 185px;
        height: 82px;
        background-size: 185px 82px;
        font-size: 2.4rem;
        letter-spacing: 0.18em;
    }
    .balloonTitleBox__title.narrow{
        letter-spacing: 0.04em;
    }
}
@media screen and (max-width: 767px) {
    .balloonTitleBox{margin-bottom: 1.5em;}
    .balloonTitleBox__title{
        padding: 16px 0.25em;
        width: 135px;
        height: 60px;
        background-size: 135px 60px;
        font-size: 1.7rem;
        letter-spacing: 0.06em;
    }
}

/* サイズ */
.balloonTitleBox__title.wide{
  background-image:  url("../img/contents/frame_balloon_wide.svg");
}
@media print, screen and (min-width: 768px) {
  .balloonTitleBox__title.wide{
      width: 253px;
      height: 82px;
      background-size: 253px 82px;
      letter-spacing: 0;
  }
}
@media screen and (max-width: 767px) {
  .balloonTitleBox__title.wide{
      width: 185px;
      height: 60px;
      background-size: 185px 60px;
      letter-spacing: 0;
  }
}


/* ====================================================
　imgTitleBox
==================================================== */
.imgTitleBox{
    display: flex;
    align-items: center;
    background-position: center top;
    background-repeat: no-repeat;
}
.imgTitleBox__inner__title{
    margin-bottom: 0;
    padding-bottom: 0.15em;
    border-bottom-width: 1px;
    border-bottom-style: solid;
    font-weight: bold;
}
.imgTitleBox__inner__en{
    margin-top: 0.35em;
    font-weight: bold;
    letter-spacing: 0.03em;
}

@media print, screen and (min-width: 768px) {
    .imgTitleBox{margin-bottom: 50px; background-size: auto;}
    .imgTitleBox__inner{padding-right: 85px;}
    .imgTitleBox__inner__title{font-size: 2.8rem;}
    .imgTitleBox__inner__title img{
      display: inline-block;
      margin-bottom: 0.25em;
    }
    .imgTitleBox__inner__en{font-size: 1.5rem;}

}
@media screen and (max-width: 767px) {
  .imgTitleBox{margin-bottom: 25px; background-size: cover;}
  .imgTitleBox__inner{padding-right: 15px;}
  .imgTitleBox__inner__title,
  .imgTitleBox__inner__en{padding-left: 15px;}
  .imgTitleBox__inner__title{font-size: 1.6rem; line-height: 1.16;}
  .imgTitleBox__inner__title img{
    display: inline-block;
    height: 17px;
    width: auto;
  }
  .imgTitleBox__inner__en{font-size: 1.1rem; line-height: 1;}
}

/* 画面100% */
.imgTitleBox.full{background-size: cover;}

@media print, screen and (min-width: 768px) {
  .imgTitleBox.full{height: 240px; margin-bottom: 40px;}
  .imgTitleBox.full .imgTitleBox__inner{
    padding-right: 68px;
    padding-top: 25px;
    width: 50%;
    text-align: right;
  }
}
@media screen and (max-width: 767px) {
  .imgTitleBox.full{height: 90px;}
}

/* 画面分割 */
.imgTitleBox.split{
  background-color: #eee;
}
.imgTitleBox.split .imgTitleBox__inner{
  width: 50%;
  text-align: right;
}
@media print, screen and (min-width: 768px) {
  .imgTitleBox.split{height: 176px;}
  .imgTitleBox.split .imgTitleBox__inner{padding-bottom: 0.75em;}
}
@media screen and (max-width: 767px) {
  .imgTitleBox.split{height: 85px;}
}


/* ====================================================
　leftBorderTitle
==================================================== */
.leftBorderTitle{
  position: relative;
  letter-spacing: 0.185em;
  color: #006ebc;
}
.leftBorderTitle:before{
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 2px;
  height: calc(100% - 0.4em);
  background-color: #006ebc;
}

@media print, screen and (min-width: 768px) {
  .leftBorderTitle{
    padding-left: 0.65em;
    margin-bottom: 1.1em;
    font-size: 2.1rem; 
    line-height: 1.46;
  }
}
@media screen and (max-width: 767px) {
  .leftBorderTitle{
    padding-left: 0.5em;
    margin-bottom: 0.5em;
    font-size: 1.6rem;
    line-height: 1.46;
  }
}

/*  英字
-------------------------------------*/
.leftBorderTitle .en{
  display: block;
  letter-spacing: 0.03em;
}

@media print, screen and (min-width: 768px) {
  .leftBorderTitle .en{font-size: 1.5rem;}
}
@media screen and (max-width: 767px) {
  .leftBorderTitle .en{font-size: 1.6rem;}
}



/* ====================================================
　underBalloonTitle
==================================================== */
.underBalloonTitle{
  position: relative;
  padding-bottom: 1.35em;
  text-align: center;
  color: #006ebc;
  letter-spacing: 0.125em;
}
.underBalloonTitle:after{
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  background-repeat: no-repeat;
  background-image: url(../img/contents/underBalloon_blue.svg);
}

@media print, screen and (min-width: 768px) {
  .underBalloonTitle{margin-bottom: 3.35em; font-size: 2.1rem; line-height: 1.46;}
  .underBalloonTitle:after{
    width: 183px;
    height: 12px;
    background-size: 183px 12px;
  }
}
@media screen and (max-width: 767px) {
  .underBalloonTitle{margin-bottom: 1.5em; font-size: 1.7rem; line-height: 1.46;}
  .underBalloonTitle:after{
    width: 154px;
    height: 10px;
    background-size: 154px 10px;
  }
}


/* ====================================================
　doubleLineBalloonTitle
==================================================== */
.doubleLineBalloonTitle{
  display: flex;
  justify-content: center;
  align-items: center;
  background-repeat: no-repeat;
  position: relative;
  text-align: center;
  font-feature-settings: "palt";
  color: #006ebc;
  background-size: contain;
}

@media print, screen and (min-width: 768px) {
  .doubleLineBalloonTitle{
    padding-bottom: 0.65em;
    height: 92px;
    background-image: url(../img/contents/doubleLineBalloon_blue.svg);
    background-position: center center;
    font-size: 2.1rem;
  }
}
@media screen and (max-width: 767px) {
  .doubleLineBalloonTitle{
    padding-bottom: 0.45em;
    height: 28vw;
    font-size: 1.6rem;
    background-image: url(../img/contents/doubleLineBalloon_blue_sp.svg);
    background-position: center center;
  }
}



/* ######################################################################################

　topicsInfo：新着お知らせ

###################################################################################### */
.topicsInfo .inner{
  overflow-y: scroll;
}
.topicsInfo.borderSolid .entry {
  border-style: solid;
}
.topicsInfo.borderDashed .entry {
  border-style: dashed;
}
.topicsInfo.borderDotted .entry {
  border-style: dotted;
}
.topicsInfo.topBorder .entry:first-child {
  border-top-width: 1px;
}
.topicsInfo .entry {
  border-color: #9d9d9e;
  border-bottom-width: 1px;
  position: relative;
  line-height: 1.5;
}
.topicsInfo .entry a {
  color: #333333;
  text-decoration: none;
}
.topicsInfo .entry a:hover {
  text-decoration: underline;
}
.topicsInfo .tag {
  display: inline-block;
  font-size: 1.1rem;
  background: #4c77b5;
  border-radius: 4px;
  padding: 0.3em 0.5em 0.25em;
  white-space: nowrap;
  vertical-align: middle;
  margin: 0 0 0 1em;
  text-align: center;
  line-height: 1;
  color: #fff;
  letter-spacing: 0.2em;
}
.topicsInfo .entry.new .text:after{
  content: "NEW";
  display: inline-block;
  vertical-align: middle;
  margin-left: 1em;
  color: #006EB8;
  font-weight: bold;
  font-size: 1.3rem;
}


@media print, screen and (min-width: 768px) {
  .topicsInfo .inner{
    max-height: 300px;
  }
  .topicsInfo .entry {
    font-size: 1.6rem;
  }
  .topicsInfo .tag {
    margin-left: 40px;
    font-size: 1.4rem;
    min-width: 108px;
  }
  .topicsInfo.dateInline .date {
    display: table-cell;
    white-space: nowrap;
    padding: 1.08em 0;
    font-size: 100%;
  }
  .topicsInfo.dateInline .text {
    display: table-cell;
    padding: 1em 0 1em 40px;
    font-size: 100%;
  }
}
@media screen and (max-width: 767px) {
  .topicsInfo .inner{
    max-height: 335px;
  }
  .topicsInfo .entry {
    padding: 10px 0;
    font-size: 1.3rem;
  }
  .topicsInfo .tag {
    min-width: 90px;
    font-size: 1.1rem;
  }
  .topicsInfo .date {
    margin-bottom: 0.5em;
    padding: 0 5px;
    font-size: 100%;
  }
  .topicsInfo .text {
    padding: 0 5px;
  }
}



/* end */