/*
Theme Name: もしも会員＠メモリアルアートの大野屋2026
Description: もしも会員のページ2026
*/
@charset "UTF-8";

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
margin: 0;
padding: 0;
border: 0;
font-size: 100%;
font: inherit;
vertical-align: baseline;
}
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
display: block;
}
body {
line-height: 1;
}
ol, ul {
list-style: none;
}
blockquote, q {
quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
content: '';
content: none;
}
table {
border-collapse: collapse;
border-spacing: 0;
}

/* @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ */

*, *::before, *::after {
  box-sizing: border-box;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: normal;
}

strong, b {
  font-weight: bold;
}

em, i {
  font-style: italic;
}

img {
  border: 0;
  vertical-align: bottom;
  -ms-interpolation-mode: bicubic;
}

input, button, select, textarea {
  font-family: inherit;
  font-size: inherit;
}

input[type="submit"],
button {
  cursor: pointer;
}


/* @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ */

html {
  background-color: transparent;
  background-image: none;
}

body {
  position: relative;
  color: #000;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Meiryo", sans-serif;
  font-size: 13px;
  font-weight: 400;
  line-height: 1;
  -webkit-text-size-adjust: 100%;
}

a {
  color: inherit;
  text-decoration: none;
}

a:hover,
a:active,
a:focus {
  text-decoration: none;
}

img {
  max-width: 100%;
  height: auto;
}

a img {
  transition: opacity 0.2s;
}

a:hover img {
  opacity: 0.7;
}

table th,
table td {
  padding: 0px;
  vertical-align: top;
}

table th {
  /* text-align: left; */
  font-weight: normal;
}

hr {
  height: 0;
  margin: 0;
  border: none;
  border-bottom: 1px dotted #333;
  padding: 0;
}

/* -------------------------------- */

.ir {
  overflow: hidden;
  text-indent: 110%;
  white-space: nowrap;
}

.irb {
  height: 0;
  overflow: hidden;
  line-height: 2;
}

.clearfix {
  content: "";
  clear: both;
  display: block;
}

.float-wrapper::after {
  content: "";
  clear: both;
  display: block;
}

.float_left {float: left;}
.float_right {float: right;}

.align_center {text-align: center;}
.align_left {text-align: left;}
.align_right {text-align: right;}

.bold {
	font-weight: 700;
}

a.disabled {
  pointer-events: none;
}

.font-weight-normal {
  font-weight: normal !important;
}

.nowrap {
  white-space: nowrap;
}

span.nowrap {
  display: inline-block;
}

.buttons a,
.buttons button {
  text-decoration: none !important;
}

.buttons a :hover,
.buttons button :hover {
  text-decoration: none !important;
}

.list-style_disc {
  padding-left: 2em;
}

.list-style_disc>li {
  list-style-type: disc;
}

.list-style_decimal {
  padding-left: 2em;
}

.list-style_decimal>li {
  list-style-type: decimal;
}

.list-style_none {
  padding-left: 0;
}

.list-style_none>li {
  list-style-type: none;
}

.note {
  /* font-size: 85%; */
}

span.note {
  display: inline-block;
}

.kome {
  padding-left: 1.25em;
  text-indent: -1.25em;
}

.kome::before {
  display: inline-block;
  content: "※";
  width: 1.25em;
  text-indent: 0;
}

.break_all {
  word-break: break-all;
}


/* @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ */

#wrapper {
  background-color: #fff;
}

.br_sp {
  display: inline;
}

.br_pc {
  display: none;
}

.mincho {
  font-family: "Noto Serif JP", serif;
}

.red {
  color: #f00;
}


.buttons {
  text-align: center;
}

.buttons a {
  position: relative;
  display: inline-flex;
  box-shadow: 0 0 6px 0 rgba(0,0,0,0.4);
  border-radius: 10px;
  border: 2px solid #fff;
}

.buttons a.regist {
  flex-direction: column;
  align-items: center;
  width: 90%;
  max-width: 324px;
  background-color: #007240;
  padding: 18px 44px 19px 0;
  color: #fff;
  font-size: 28px;
  font-weight: 700;
  transition: background-color 0.2s;
}

.buttons a.regist:hover {
  background-color: #3f8f68;
}

.buttons a.regist::after {
  position: absolute;
  top: 50%;
  right: 24px;
  display: block;
  content: "";
  background: url(images/icon_arrow.svg) no-repeat center center / contain;
  width: 32px;
  height: 32px;
  transform: translateY(-50%);
}

.buttons a.regist .small {
  margin-top: 13px;
  font-size: 16px;
  font-weight: 400;
}


.buttons a.type1 {
  flex-direction: column;
  align-items: flex-start;
  width: 90%;
  max-width: 324px;
  background-color: #007240;
  padding: 22px 54px 23px 26px;
  color: #fff;
  text-align: left;
  font-size: 20px;
  font-weight: 700;
  transition: background-color 0.2s;
}

.buttons a.type1:hover {
  background-color: #3f8f68;
}

.buttons a.type1::after {
  position: absolute;
  top: 50%;
  right: 21px;
  display: block;
  content: "";
  background: url(images/icon_arrow.svg) no-repeat center center / contain;
  width: 22px;
  height: 22px;
  transform: translateY(-50%);
}


.buttons a.type2 {
  flex-direction: column;
  align-items: center;
  width: 90%;
  max-width: 344px;
  background-color: #007240;
  padding: 17px 42px 19px 62px;
  color: #fff;
  font-size: 20px;
  font-weight: 700;
  transition: background-color 0.2s;
}

.buttons a.type2:hover {
  background-color: #3f8f68;
}

.buttons a.type2::before {
  position: absolute;
  top: 50%;
  display: block;
  content: "";
  transform: translateY(-50%);
}

.buttons a.type2::after {
  position: absolute;
  top: 50%;
  right: 20px;
  display: block;
  content: "";
  background: url(images/icon_arrow.svg) no-repeat center center / contain;
  width: 22px;
  height: 22px;
  transform: translateY(-50%);
}

.buttons a.type2 .small {
  margin-top: 12px;
  font-size: 15px;
  font-weight: 400;
}


.buttons a.arrow_down::after {
  transform: translateY(-50%) rotate(90deg);
}

.buttons a.external.multiline {
  padding-top: 15px;
  padding-bottom: 17px;
}

.buttons a.external .small {
  margin-top: 6px;
  font-size: 14px;
  font-weight: 400;
}

.buttons a.external::after {
  right: 18px;
  background: url(images/icon_external.svg) no-repeat center calc(50% - 1px) / contain;
  width: 24px;
  height: 100%;
}

.buttons a.download {
  align-items: center;
  max-width: 384px;
  padding: 17px 0 18px;
}

.buttons a.download::after {
  right: 15px;
  background: url(images/icon_download.svg) no-repeat center calc(50% - 1px) / contain;
  width: 27px;
  height: 100%;
}

.buttons a.lime {
  background-color: #5AB620;
  color: #fff;
}
.buttons a.lime:hover {
  background-color: #7bc54d;
}

.consultation-button a.tel::before {
  left: 20px;
  background: url(images/icon_tel.svg) no-repeat center center / contain;
  width: 36px;
  height: 100%;
}

.consultation-button a.mailform::before {
  left: 16px;
  background: url(images/icon_mail.svg) no-repeat center center / contain;
  width: 46px;
  height: 100%;
}

@media screen and (max-width: 359px) {
  .consultation-button a.tel {
    padding-left: 46px;
    padding-right: 36px;
  }

  .consultation-button a.tel::before {
    left: 10px;
    width: calc(36px * 0.8);
  }

  .consultation-button a.mailform {
    padding-left: 46px;
    padding-right: 36px;
  }

  .consultation-button a.mailform::before {
    left: 8px;
    width: calc(46px * 0.8);
  }

  .consultation-button a.tel::after,
  .consultation-button a.mailform::after {
    right: 10px;
  }
}

.apply-button a.type2 {
  width: 100%;
  padding: 15px 0 17px;
}

.apply-button a.type2 .small {
  margin-top: 6px;
  font-size: 14px;
  font-weight: 400;
}

.apply-button a.tel::before {
  left: 21px;
  background: url(images/icon_tel_2.svg) no-repeat center center / contain;
  width: 32px;
  height: 100%;
  left: 22px;
  background-image: url(images/icon_tel.svg);
  width: 30px;
}

.apply-button a.mailform::before {
  left: 22px;
  background: url(images/icon_mail_2.svg) no-repeat center center / contain;
  width: 30px;
  height: 100%;
  left: 18px;
  background-image: url(images/icon_mail.svg);
  width: 38px;
}

@media screen and (max-width: 339px) {
  .apply-button a.tel::before {
    left: 16px;
  }

  .apply-button a.mailform::before {
    left: 12px;
  }
}

.referral-button a.type2 {
  width: 100%;
  padding: 11px 0 13px 20px;
  font-size: 22px;
}

.referral-button a.type2 .small {
  margin-top: 8px;
  font-size: 14px;
  font-weight: 500;
}

.referral-button a.tel::before {
  left: 16px;
  background: url(images/icon_tel_3.svg) no-repeat center center / contain;
  width: 48px;
  height: 100%;
  left: 22px;
  background-image: url(images/icon_tel.svg);
  width: 30px;
}

@media screen and (max-width: 339px) {
  .referral-button a.tel::before {
    left: 16px;
  }
  .referral-button a.tel::after {
    right: 10px;
  }
}

.buttons a.type2.home {
  padding: 9px 20px 11px 20px;
  font-weight: 500;
}

.buttons a.type2.home::before {
  left: 18px;
  background: url(images/icon_home.svg) no-repeat center calc(50% - 1px) / contain;
  width: 26px;
  height: 100%;
}


.inverted-triangle-head {
  position: relative;
  z-index: 0;
}

.inverted-triangle-head::before {
  position: absolute;
  top: -1px;
  left: 0;
  right: 0;
  display: block;
  content: "";
  background-color: #fff;
  height: 61px;
  clip-path: polygon(0% 0%, 100% 0%, 100% calc(100% - 60px), 50% 100%, 0% calc(100% - 60px));
  z-index: -1;
}


.container_type1 .container-heading {
  text-align: center;
}

.container_type1 .container-heading>span {
  display: inline-block;
  border-radius: 16px 16px 0 0;
  padding: 10px 30px 8px;
  text-align: center;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.5;
}

.container_type1 .container-body {
  background-color: #fff;
  border: 4px solid;
  border-radius: 20px;
}


.heading_type1 {
  display: flex;
  align-items: center;
}

.heading_type1::before,
.heading_type1::after {
  flex-grow: 1;
  content: "";
  height: 2px;
}

.heading_type1::before {
  margin-right: 24px;
}

.heading_type1::after {
  margin-left: 24px;
}


#global-nav {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: rgba(255,255,255,0.7);
  box-shadow: 0 0 4px 0 rgba(0,0,0,0.2);
  padding: 8px 0;
  z-index: 1000;
}

#global-nav .links {
  display: flex;
  justify-content: space-between;
  width: calc((64px * 4) + (12px * 3));
  margin: 0 auto;
  font-size: 11px;
  font-weight: 700;
}

#global-nav .links>li {
  width: 64px;
}

#global-nav .links>li>* {
  display: flex;
  flex-direction: column;
  background-color: #007240;
  height: 64px;
  border-radius: 8px;
  color: #fff;
  text-align: center;
  cursor: pointer;
  transition: background-color 0.2s;
}

#global-nav .links>li>*:hover {
  background-color: #3f8f68;
}

#global-nav .links>li>*::before {
  display: block;
  content: "";
  background: no-repeat center center;
  height: 44px;
}

#global-nav .links .home::before {
  background-image: url(images/icon_home.svg);
  background-size: 26px auto;
}

#global-nav .links .tokuten::before {
  background-image: url(images/icon_star.svg);
  background-size: 30px auto;
}

#global-nav .links .login::before {
  background-image: url(images/icon_login.svg);
  background-position: calc(50% - 3px) center;
  background-size: 28px auto;
}

#global-nav .links .mypage::before {
  background-image: url(images/icon_mypage.svg);
  background-size: 30px auto;
}

#global-nav .links .menu::before {
  background-image: url(images/icon_menu.svg);
  background-size: 26px auto;
}

#global-nav .goto-top {
  position: absolute;
  bottom: calc(100% + 8px);
  right: 8px;
  display: none;
}

#global-nav .goto-top a {
  display: block;
  background: #5AB620 url(images/icon_2chevrons_up.svg) no-repeat center calc(50% - 0px) / 18px auto;
  width: 42px;
  box-shadow: 0 0 4px 0 rgba(0,0,0,0.2);
  border-radius: 4px;
  padding-top: 42px;
  transition: background-color 0.2s;
}

#global-nav .goto-top a:hover {
  background-color: #7bc54d;
}

#modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  display: none;
  background-color: rgba(0,0,0,0.5);
  width: 100%;
  height: 100%;
  z-index: 1001;
}

#modal-box {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: none;
  background-color: #fff;
  box-shadow: 0 0 8px 0 rgba(0,0,0,0.3);
  width: 92%;
  max-width: 360px;
  padding: 24px 20px;
  z-index: 1002;
}

#modal-box .links>li:not(:first-child) {
  margin-top: 16px;
}

#modal-box .links a {
  position: relative;
  display: block;
  background-color: #FFF9EB;
  /* box-shadow: 0 0 8px 0 rgba(0,0,0,0.3); */
  border-radius: 8px;
  padding: 22px 72px 22px 26px;
  color: #007240;
  font-size: 20px;
  font-weight: 700;
  /* transition: opacity 0.2s; */
}

#modal-box .links a:hover {
  opacity: 0.6;
}

#modal-box .links a::after {
  position: absolute;
  top: 50%;
  right: 21px;
  display: block;
  content: "";
  background: url(images/icon_arrow_g.svg) no-repeat center center / contain;
  width: 22px;
  height: 22px;
  transform: translateY(-50%);
}

#close-modal {
  margin-top: 26px;
  text-align: center;
}

#close-modal span {
  position: relative;
  display: inline-block;
  background-color: #007240;
  /* box-shadow: 0 0 8px 0 rgba(0,0,0,0.3); */
  border-radius: 8px;
  padding: 10px 50px 12px 26px;
  color: #fff;
  font-size: 18px;
  font-weight: 700;
  cursor: pointer;
  transition: background-color 0.2s;
}

#close-modal span:hover {
  background-color: #3f8f68;
}

#close-modal span::after {
  position: absolute;
  top: 50%;
  right: 20px;
  display: block;
  content: "";
  background: url(images/icon_close.svg) no-repeat center center / contain;
  width: 16px;
  height: 16px;
  transform: translateY(-50%);
}




/* ################################################################
  header */

header {
}

header .logo {
  display: flex;
  flex-direction: column;
  align-items: center;
}

#general-header>.upper>.inner {
  padding-top: 16px;
  padding-bottom: 16px;
}

#general-header>.upper .logo_corp {
  width: 90%;
  max-width: 280px;
}

#general-header>.upper .logo_logo {
  width: 90%;
  max-width: 288px;
  margin-top: 16px;
}

#general-header>.upper .tel-center {
  display: none;
}

#general-header>.lower {
  background-color: #FFF9EB;
}

#general-header>.lower>.inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 6px 10px 6px 24px;
}

#general-header>.lower .member-name {
  padding-bottom: 2px;
  font-size: 16px;
}

#general-header>.lower .member-button a {
  position: relative;
  display: inline-block;
  background-color: #007240;
  border-radius: 8px;
  padding: 10px 44px 12px 12px;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  transition: background-color 0.2s;
}

#general-header>.lower .member-button a:hover {
  background-color: #3f8f68;
}

#general-header>.lower .member-button a::after {
  position: absolute;
  top: 50%;
  right: 0;
  display: block;
  content: "";
  width: 44px;
  height: 100%;
  transform: translateY(-50%);
}

#general-header>.lower .member-button a.login::after {
  background: url(images/icon_login_alt.svg) no-repeat calc(50% - 2px) center / 22px auto;
}

#general-header>.lower .member-button a.mypage::after {
  background: url(images/icon_mypage.svg) no-repeat center center / 24px auto;
}


/*-------------------- index --------------------*/
#index header {
  overflow: hidden;
}

#mv {
  padding-top: 24px;
  padding-bottom: 10px;
}

#mv .logo_corp {
  width: 90%;
  max-width: 280px;
}

#mv .logo_logo {
  width: 90%;
  max-width: 288px;
  margin-top: 16px;
}

#mv .persons {
  max-width: 407px;
  margin: 18px auto 0;
  transform: translateX(calc((16 / 407) * 100%));
}

#mv .regist-button {
  margin-top: -92px;
}

#mv .regist-button a.regist {
  max-width: 344px;
}




/* ################################################################
  main */

.page-heading {
  background-color: #5AB620;
  padding: 27px 16px 29px;
  color: #fff;
  text-align: center;
  font-size: 32px;
  font-weight: 700;
  line-height: calc(44 / 32);
}

.page-heading>span {
  display: inline-block;
}

.page-introduction {
  width: 84%;
  /* max-width: 640px; */
  margin: 20px auto 0;
  font-size: 18px;
  line-height: 2;
}

.page-nav {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: calc(100% - 32px);
  margin: 30px auto 0;
  border-bottom: 2px solid #C6C6C6;
  padding-bottom: 38px;
}

.page-nav a.type1 {
  max-width: 364px;
  padding-top: 19px;
  padding-bottom: 20px;
  font-weight: 500;
}

.page-nav a:not(:first-child) {
  margin-top: 12px;
}

.page-nav a.type1::after {
  width: 20px;
  height: 20px;
}


.section-heading {
  text-align: center;
  font-size: 28px;
  font-weight: 700;
  line-height: calc(44 / 28);
}

@media screen and (max-width: 375px) {
  .section-heading {
    font-size: 26px;
  }
}


.apply-button a:not(:first-child) {
  margin-top: 12px;
}


.howto-use {
  background-color: #FFEBED;
  border: 2px solid #ffbdbd;
  padding: 21px 0;
}

.howto-use.detail {
  background-color: #fff9eb;
  border-color: #ffcc42;
}

.howto-use>dt {
  text-align: center;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
}

.howto-use>dd+dt {
  margin-top: 24px;
}

.howto-use>dd {
  margin-top: 16px;
  padding: 0 5%;
  text-align: left;
  font-size: 16px;
  line-height: 1.8;
}


#privileges .section-body,
#ohnoya .section-body {
  background-color: #F8F0DC;
  padding-top: 20px;
}

#privileges .section-body.inverted-triangle-head,
#ohnoya .section-body.inverted-triangle-head {
  padding-top: calc(20px + 60px);
}

#privileges .section-body>.catchcopy,
#ohnoya .section-body>.catchcopy {
  width: 90%;
  max-width: 360px;
  margin: 0 auto;
}


#external-services-nav {
  background-color: #fff;
}

#external-services-nav .description {
  width: 84%;
  max-width: 640px;
  margin: 24px auto 0;
  font-size: 18px;
  line-height: 1.5;
}

#external-services-nav .images {
  display: flex;
  flex-wrap: wrap;
  width: calc(100% - 10px);
  max-width: 640px;
  margin: 14px auto 0;
}

#external-services-nav img {
  width: calc(50% - 10px);
  margin: 10px 5px 0;
}

#external-services-nav .navigations {
  width: calc(100% - 32px);
  max-width: 400px;
  margin: 0 auto;
  padding-top: 24px;
}

#external-services-nav .navigations .container:not(:first-child) {
  margin-top: 24px;
}

#external-services-nav .navigations .container-heading>span {
  background-color: #5AB620;
  color: #fff;
}

#external-services-nav .navigations .container-body {
  border-color: #5AB620;
  border-radius: 16px;
  padding: 20px 20px;
}

#external-services-nav .navigations .container:nth-child(3) .container-heading>span {
  background-color: #EAD9AB;
  color: inherit;
}
#external-services-nav .navigations .container:nth-child(3) .container-body {
  border-color: #EAD9AB;
}

#external-services-nav .navigations .links {
  font-size: 18px;
  line-height: 1.5;
}

#external-services-nav .navigations .links>li:not(:first-child) {
  margin-top: 20px;
}

#external-services-nav .navigations .links a {
  position: relative;
  display: inline-block;
  padding-left: 36px;
}

#external-services-nav .navigations .links a:hover {
  text-decoration: underline;
}

#external-services-nav .navigations .links a::before {
  position: absolute;
  top: 7px;
  left: 10px;
  display: block;
  content: "";
  background: url(images/icon_arrow_b.svg) no-repeat center center / contain;
  width: 16px;
  height: 16px;
}


#referral {
  background-color: #fff;
  padding: 18px 0;
}

#referral>.inner {
  background-color: #FFF9EB;
  width: calc(100% - 24px);
  max-width: 480px;
  margin: 0 auto;
  border-radius: 8px;
  padding: 26px 18px 24px;
}

#referral .heading {
  color: #007240;
  text-align: center;
  font-size: 27px;
  font-weight: 700;
  line-height: calc(39 / 27);
}

#referral .catchcopy {
  margin-top: 12px;
  text-align: center;
  font-size: 19px;
  font-weight: 500;
  /* font-weight: 700; */
  line-height: 1.5;
}

@media screen and (max-width: 399px) {
  #referral .heading {
    font-size: 25px;
  }

  #referral .catchcopy {
    font-size: 18px;
  }
}

#referral .catchcopy::before,
#referral .catchcopy::after {
  display: inline-block;
  content: "―";
}

#referral .catchcopy::before {
  margin-right: 4px;
}
#referral .catchcopy::after {
  margin-left: 4px;
}

#referral .description {
  display: flex;
  align-items: center;
  max-width: 400px;
  margin: 12px auto 0;
  padding: 0 0 0 4px;
  font-size: 15px;
  font-weight: 500;
  /* font-weight: 400; */
  line-height: 1.6;
}

#referral .description::after {
  flex-shrink: 0;
  display: block;
  content: "";
  background: url(images/referral_persons.webp) no-repeat center center / contain;
  width: 119px;
  height: 197px;
  margin-left: 16px;
}

@media screen and (max-width: 399px) {
  #referral .description::after {
    width: calc(100% - 200px - 16px);
  }
}

@media screen and (max-width: 374px) {
  #referral .description {
    padding-right: 4px;
  }

  #referral .description::after {
    content: normal;
  }
}

#referral .referral-button {
  margin-top: 18px;
}


.pagination {
  text-align: center;
}

.pagination>.inner {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
}

.pagination .page-numbers {
  margin: 10px 5px 0;
  color: #007240;
  font-size: 18px;
}

.pagination .page-numbers:not(.dots) {
  background-color: #fff;
  min-width: 38px;
  border: 2px solid #007240;
  border-radius: 4px;
  padding: 7px 4px 9px;
  text-align: center;
}

.pagination .page-numbers.dots {
  padding-bottom: 2px;
}

.pagination a.page-numbers {
  text-decoration: none;
  font-weight: normal;
  transition: background-color 0.2s, color 0.2s;
}

.pagination a.page-numbers:hover,
.pagination .page-numbers.current {
  background-color: #007240;
  color: #fff;
  text-decoration: none;
}


#footer-regist-button {
  padding: 40px 0;
}




/*-------------------- index --------------------*/
#privileges {
  background-color: #fff;
}

#privileges .more {
  position: relative;
  background-color: #fff;
  padding: 12px 0 38px;
  color: #007240;
  text-align: center;
  font-size: 22px;
  font-weight: 700;
  z-index: 1;
}

#privileges .more::before {
  position: absolute;
  bottom: -49px;
  left: 50%;
  display: block;
  content: "";
  background: url(images/arrow_more.svg) no-repeat center center / contain;
  width: 48px;
  height: 88px;
  transform: translateX(-50%);
}

#privileges .section-body {
  padding-bottom: 40px;
}

#privileges .container {
  width: calc(100% - 32px);
  max-width: 480px;
  margin: 24px auto 0;
}

#privileges .container-heading>span {
  background-color: #5AB620;
  color: #fff;
}

#privileges .container-body {
  border-color: #5AB620;
  padding: 40px 5%;
  text-align: center;
}

#privileges .boxes:not(:first-child) {
  margin-top: 40px;
}

#privileges .boxes-heading  {
  background-color: #5AB620;
  padding: 7px 0.5em 9px;
  color: #fff;
  text-align: center;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.5;
}

#privileges .boxes-wrapper {
  background-color: #fff;
  border: 4px solid #EAD9AB;
}

#privileges .description .box {
  border-top: 4px solid #EAD9AB;
  padding: 24px 0;
  color: #007240;
}

#privileges .description .content-type2 {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: -4px;
}

#privileges .description .content-type2>*:not(:first-child) {
  margin-top: 10px;
}

#privileges .description .content-type2 .text {
  color: #007240;
  font-size: 14px;
  font-weight: 600;
  font-weight: 700;
  line-height: 1.5;
}

#privileges .description .content-type2 .text>span {
  display: inline-block;
}

#privileges .description .note {
  margin-top: 10px;
  font-size: 13px;
  line-height: 1.5;
}

#privileges .buttons-wrapper {
  margin-top: 36px;
}

#privileges .buttons-wrapper>p:not(:first-child) {
  margin-top: 28px;
}


#index #external-services-nav {
  padding-top: 40px;
  padding-bottom: 60px;
}


#voices .heading,
#faq .heading {
  text-align: center;
}

#voices .heading>span,
#faq .heading>span {
  display: inline-block;
  border-radius: 16px 16px 0 0;
  padding: 14px 30px 15px;
  text-align: center;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
}


#voices {
  background-color: #F1F1F1;
}

#voices .heading {
  background-color: #fff;
}

#voices .heading>span {
  background-color: #F1F1F1;
}

#voices .contents {
  padding: 8px 0 60px;
}

#voices .item {
  background-color: #fff;
  width: calc(100% - 32px);
  max-width: 640px;
  margin: 86px auto 0;
  border-radius: 8px;
  padding: 0 0 24px;
}

#voices .persona {
  text-align: center;
}

#voices .persona img {
  display: inline-block;
  width: 200px;
  margin-top: -54px;
}

#voices .text {
  margin-top: 20px;
  padding: 0 6%;
}

#voices .text>dt {
  color: #5AB620;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.6;
}

#voices .text>dd {
  margin-top: 20px;
  font-size: 16px;
  line-height: 1.8;
}


#faq .heading {
  background-color: #F1F1F1;
}

#faq .heading>span {
  background-color: #fff;
}

#faq .contents {
  padding: 40px 0 40px;
}

#faq .category:not(:first-child) {
  margin-top: 40px;
}

#faq .category-heading {
  padding: 0 24px;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.5;
}

#faq .category-heading::before,
#faq .category-heading::after {
  background-color: #5AB620;
}

#faq .category-items {
  width: calc(100% - 32px);
  max-width: 640px;
  margin: 24px auto 0;
}

#faq .item {
  border-radius: 10px;
  overflow: hidden;
}

#faq .item:not(:first-child) {
  margin-top: 24px;
}

#faq .question,
#faq .answer {
  border-style: solid;
  border-color: #E7F3DF;
  padding-left: 52px;
  font-size: 16px;
  line-height: 1.8;
}

#faq .question {
  background: url(images/faq_q.svg) no-repeat 13px 14px / 24px auto;
}
#faq .answer {
  background: url(images/faq_a.svg) no-repeat 14px 18px / 23px auto;
}

#faq .question {
  position: relative;
  background-color: #E7F3DF;
  border-width: 4px;
  padding-top: 6px;
  padding-right: 56px;
  padding-bottom: 8px;
  cursor: pointer;
}

#faq .question::before,
#faq .question::after {
  position: absolute;
  top: calc(50% - 1px);
  right: 16px;
  display: block;
  content: "";
  background-color: #000;
  width: 16px;
  height: 2px;
  border-radius: 1px;
}

#faq .question::before {
  transform: rotate(-90deg);
  transition: transform 0.2s;
}

#faq .question.open::before {
  transform: rotate(0deg);
}

#faq .answer {
  display: none;
  background-color: #fff;
  border-width: 0 4px 4px;
  border-radius: 0 0 10px 10px;
  padding-top: 10px;
  padding-right: 16px;
  padding-bottom: 12px;
}

#faq .answer a {
  color: #FF5500;
  text-decoration: underline;
}

#faq .answer a:hover {
  text-decoration: none;
}


#event {
  background-color: #EBDAC3;
  padding: 20px 0 28px;
}

#event>.inner::before {
  display: block;
  content: "";
  background: url(images/event_icon.svg) no-repeat center top / contain;
  width: 72px;
  height: 73px;
  margin: 0 auto;
}

#event .text {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 16px;
}

#event .heading {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.5;
}

#event .description {
  margin-top: 10px;
  font-size: 16px;
  line-height: 1.5;
}

#event .buttons {
  margin-top: 18px;
}

#event .buttons a.event {
  background-color: #B97D4C;
  color: #fff;
}
#event .buttons a.event:hover {
  background-color: #c79770;
}




/*-------------------- about --------------------*/
#join {
  padding: 40px 0 0;
}

#join .description {
  width: 84%;
  max-width: 640px;
  margin: 32px auto 0;
  font-size: 18px;
  line-height: 2;
}

#join .booklets {
  margin: 12px auto 0;
}

#join .booklets .booklet {
  padding-bottom: 40px;
}

#join .booklets .image {
  /* max-width: 640px; */
  margin: 0 auto;
  text-align: center;
}

#join .booklets .image img {
  width: auto;
  height: 276px;
  object-fit: cover;
}

#join .booklets .title {
  width: 84%;
  margin: 0px auto 0;
  color: #489A02;
  text-align: center;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.5;
}

#join .booklets .title>span {
  display: inline-block;
  margin: 0 calc((3 / 22) * 1em);
}

#join .booklets .download-button {
  margin-top: 12px;
}

#join .booklets .chapter {
  width: 84%;
  max-width: 336px;
  margin: 16px auto 0;
  font-size: 18px;
  line-height: 2;
}

#join .regist-button {
  background-color: #F1F1F1;
  padding: 22px 0;
}


#ohnoya {
  background-color: #fff;
  padding-top: 60px;
}

#ohnoya .area-tab {
  position: relative;
  display: flex;
  justify-content: center;
  margin-top: 32px;
  padding-bottom: 12px;
  z-index: 1;
}

#ohnoya .area-tab.sticky {
  position: sticky;
  top: 10px;
  z-index: 999;
}

#ohnoya .area-tab>li {
  position: relative;
  background-color: #F8F0DC;
  width: calc(50% - 16px - 4px);
  max-width: 320px;
  margin: 0 8px;
  border-radius: 8px;
  padding: 20px 0 22px;
  text-align: center;
  font-size: 18px;
  font-weight: 700;
  cursor: pointer;
  transition: background-color 0.2s;
}

#ohnoya .area-tab>li.current,
#ohnoya .area-tab>li:hover {
  background-color: #007240;
  color: #fff;
}

#ohnoya .area-tab>li.current {
  pointer-events: none;
}

#ohnoya .area-tab>li.current::after {
  position: absolute;
  top: calc(100% - 1px);
  left: 50%;
  display: block;
  content: "";
  background-color: #007240;
  width: 34px;
  height: 17px;
  clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
  transform: translateX(-50%);
}

#ohnoya .section-body {
  padding-bottom: 40px;
}

#ohnoya .container {
  width: calc(100% - 32px);
  max-width: 480px;
  margin: 24px auto 0;
}

#ohnoya .container-heading>span {
  background-color: #5AB620;
  color: #fff;
}

#ohnoya .container-body {
  border-color: #5AB620;
  padding: 10px 12px 10px;
  text-align: center;
}

#ohnoya .category {
  padding-top: 30px;
  padding-bottom: 30px;
}

#ohnoya .category.area {
  display: none;
}

#ohnoya .category.show {
  display: block;
}

#ohnoya .category-heading {
  font-size: 28px;
  font-weight: 700;
}

#ohnoya .category-heading::before,
#ohnoya .category-heading::after {
  background-color: #D9D9D9;
}

#ohnoya .category-heading::before {
  margin-right: 16px;
}

#ohnoya .category-heading::after {
  margin-left: 16px;
}

#ohnoya .category-body {
  padding-top: 6px;
}

#ohnoya .category-body>* {
  margin-top: 24px;
}

#ohnoya .content-type1>dt {
  text-align: center;
}

#ohnoya .content-type1>dt>span {
  display: inline-block;
  background-color: #007240;
  border-radius: 18px;
  padding: 5px 20px 7px;
  color: #fff;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.2;
}

#ohnoya .content-type1>dt>span>span {
  display: inline-block;
}

#ohnoya .content-type1>dd {
  /* padding-bottom:6px; */
}

#ohnoya .content-type1>dd>* {
  margin-top: 24px;
}

#ohnoya .content-type2 {
  display: flex;
  flex-direction: column;
  align-items: center;
}

#ohnoya .content-type2>*:not(:first-child) {
  margin-top: 24px;
}

#ohnoya .content-type2 .text {
  color: #007240;
  font-size: 18px;
  font-weight: 600;
  font-weight: 700;
  line-height: calc(26 / 18);
}

#ohnoya .obutsudan .content-type2 .text,
#ohnoya .temoto .content-type2 .text {
  font-size: 16px;
  line-height: 1.5;
}

#ohnoya .content-type2 .text>span {
  display: inline-block;
}

#ohnoya .content-type1 .facilities {
  margin-top: 0;
}

#ohnoya .facilities {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

#ohnoya .facilities>li {
  width: 48%;
  margin-top: 24px;
}

#ohnoya .facilities .text {
  margin-top: 8px;
  font-size: 13px;
  line-height: calc(24 / 13);
}

#ohnoya .facilities .text .red {
  display: inline-block;
  margin-left: 3px;
  color: #D01E1E;
  font-weight: 700;
}

#ohnoya .facilities .text .num {
  font-size: 20px;
  line-height: calc(24 / 20);
}

#ohnoya .plus {
  padding-bottom: 8px;
  color: #5AB620;
  font-size: 72px;
  font-weight: 500;
  /* font-weight: 700; */
  line-height: 32px;
}

#ohnoya .example>dt {
  font-size: 20px;
  font-weight: 700;
}

#ohnoya .example>dd {
  margin-top: 24px;
  font-size: 20px;
  font-weight: 700;
}

#ohnoya .example img {
  width: 100%;
}

#ohnoya .content-type1 .note {
  margin-top: 10px;
}

#ohnoya .note {
  font-size: 13px;
  line-height: calc(20 / 13);
}

#ohnoya .note.long {
  width: 96%;
  max-width: 400px;
  margin-left: auto;
  margin-right: auto;
  text-align: left;
  font-size: 13px;
  line-height: 1.8;
}

#ohnoya .facility-links {
  display: flex;
  flex-direction: column;
  align-items: center;
}

#ohnoya .facility-links a {
  background-color: #F5F5F5;
  box-shadow: none;
  width: 100%;
  max-width: 364px;
  border: none;
  padding: 13px 46px 14px 14px;
  color: #000;
  line-height: 1.5;
  /* transition: opacity 0.2s; */
}

#ohnoya .facility-links a:hover {
  opacity: 0.6;
}

#ohnoya .facility-links a:not(:first-child) {
  margin-top: 16px;
}

#ohnoya .facility-links a::after {
  right: 20px;
  background: url(images/icon_chevron_b.svg) no-repeat center center / contain;
  width: 10px;
  height: 100%;
}

#ohnoya .store .banner {
  position: relative;
  max-width: 330px;
  margin: 0 auto;
}

#ohnoya .store .banner::before {
  display: block;
  content: "";
  padding-top: calc((80 / 330) * 100%);
}

#ohnoya .store .banner a {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #fff;
  border: 1px solid #CCCCCC;
  border-radius: 8px;
  overflow: hidden;
  transition: opacity 0.2s;
}

#ohnoya .store .banner a:hover {
  opacity 0.8;
}

#ohnoya .obutsudan .store .banner img {
  width: calc((290 / 328) * 100%);
}

#ohnoya .temoto .store .banner img {
  width: calc((260 / 328) * 100%);
}

#ohnoya .store .howto-use {
  margin-top: 16px;
}

#ohnoya .store .howto-use>dd {
  padding-left: 0;
  padding-right: 0;
}

#ohnoya .store .howto-use .code {
  padding: 0 5%;
  font-size: 16px;
}

#ohnoya .store .howto-use .process {
  margin: 16px 5% 0 3%;
  font-size: 15px;
}

#ohnoya .store .howto-use .process>li {
  margin-top: 8px;
}

#ohnoya .store .howto-use>dd>.kome {
  margin-left: 5%;
  margin-right: 5%;
}

#ohnoya .partner {
  margin-top: 48px;
}

#ohnoya .partner .catchcopy {
  color: #007240;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.6;
}

#ohnoya .partner .image {
  margin-top: 24px;
}

#ohnoya .partner .image img {
  width: 100%;
}

#ohnoya .partner .logo {
  margin-top: 24px;
}

#ohnoya .partner .description,
#ohnoya .partner .contact {
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  text-align: left;
  font-size: 18px;
  line-height: 2;
}

#ohnoya .partner .description {
  margin-top: 24px;
  font-size: 18px;
  line-height: 2;
}

#ohnoya .partner .contact {
  margin-top: 24px;
}

#ohnoya .partner .contact>dt {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.8;
}

#ohnoya .partner .contact>dd {
  margin-top: 8px;
  font-size: 16px;
  line-height: 1.8;
}

#ohnoya .partner .contact a {
  text-decoration: underline;
}

#ohnoya .partner .contact a:hover {
  text-decoration: none;
}

#ohnoya .partner .apply-button {
  margin-top: 24px;
}

#ohnoya .column-wrapper {
  margin-top: 0 !important;
}

#ohnoya .column-wrapper>* {
  margin-top: 24px;
}

#ohnoya .column-wrapper .column-content-wrapper>* {
  margin-top: 24px;
}

#ohnoya .column-wrapper .column-content-wrapper>*:first-child {
  margin-top: 0;
}

#ohnoya .osoushiki.kanto .content_2 .catchcopy {
  color: #007240;
  font-size: 24px;
  font-weight: 700;
  line-height: calc(32 / 24);
}

#ohnoya .houji.kanto .images {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

#ohnoya .houji.kanto .images img:nth-child(2),
#ohnoya .houji.kanto .images img:nth-child(3) {
  width: calc(50% - 4px);
  margin-top: 8px;
}

#ohnoya .ohaka.kansai .content_3 {
  margin-top: 36px;
}

#ohnoya .ohaka.kansai .content_3>dt {
  color: #007240;
  font-size: 32px;
  font-weight: 700;
  line-height: calc(44 / 32);
}

#ohnoya .ohaka.kansai .content_3>dd {
  margin-top: 16px;
  color: #007240;
  font-size: 18px;
  font-weight: 600;
  line-height: calc(26 / 18);
}

#ohnoya .ohaka.kansai .content_3>dd p>span {
  display: inline-block;
}

#ohnoya .buttons-wrapper {
  margin-top: 36px;
}


#about #external-services-nav {
  padding-top: 40px;
  padding-bottom: 40px;
}




/*-------------------- about2 --------------------*/
#about2 #external-services-nav {
  padding-top: 40px;
  padding-bottom: 20px;
}

#services {
  background-color: #F8F0DC;
  padding-bottom: calc(40px - 12px);
}

#services.inverted-triangle-head {
  padding-top: 60px;
}

#services .service {
  padding-top: 20px;
  padding-bottom: 12px;
}

#services .container {
  background-color: #fff;
  width: calc(100% - 32px);
  max-width: 480px;
  margin: 0 auto;
  border: 4px solid #5AB620;
  border-radius: 16px;
  padding: 26px 10px 24px;
}

#services .service-heading {
  color: #007240;
  text-align: center;
  font-size: 24px;
  font-weight: 700;
  line-height: calc(32 / 24);
}

#services .partner {
  background-color: #F5F5F5;
  margin-top: 16px;
  border-radius: 16px;
  padding: 10px 13px 9px;
  text-align: center;
}

#services .partner>dt {
  font-size: 15px;
  line-height: 1.6;
}

#services .partner>dd {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.6;
}

#services .image {
  margin-top: 16px;
  text-align: center;
}

#services .image img {
  width: 100%;
}

#services .introduction ,
#services .description,
#services .contact {
  padding: 0 3%;
}

#services .introduction {
  margin-top: 16px;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.8;
}

#services .description {
  margin-top: 16px;
  font-size: 16px;
  line-height: 1.8;
}

#services .buttons-wrapper {
  margin-top: 16px;
}

#services .buttons-wrapper>.buttons:not(:first-child),
#services .buttons-wrapper>.buttons>a:not(:first-child) {
  margin-top: 12px;
}

#services .buttons a {
  width: 100%;
  max-width: 324px;
}

#services .buttons a.external {
  align-items: center;
  /* padding-top: 17px; */
  /* padding-bottom: 19px; */
}

#services .buttons a.external.multiline {
  padding-top: 15px;
  padding-bottom: 17px;
}

#services .howto-use {
  margin-top: 16px;
}

#services .contact {
  margin-top: 24px;
  text-align: left;
}

#services .contact>dt {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.8;
}

#services .contact>dd {
  margin-top: 8px;
  font-size: 16px;
  line-height: 1.8;
}

#services .howto-use a,
#services .contact a {
  text-decoration: underline;
}

#services .howto-use a:hover,
#services .contact a:hover {
  text-decoration: none;
}

#services .goto_nav {
  width: calc(100% - 32px);
  max-width: 480px;
  margin: 32px auto 0;
  padding: 0 20px;
  text-align: right;
}

#services .goto_nav a {
  position: relative;
  display: inline-block;
  padding-left: 28px;
  color: #007240;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
}

#services .goto_nav a:hover {
  text-decoration: underline;
}

#services .goto_nav a::before {
  position: absolute;
  top: 6px;
  left: 0;
  display: inline-block;
  content: "";
  background: url(images/icon_arrow_g.svg) no-repeat center center / contain;
  width: 16px;
  height: 16px;
  transform: rotate(-90deg);
}




/*-------------------- mosimo --------------------*/
#mosimo .container {
  width: calc(100% - 32px);
  max-width: 480px;
  margin: 24px auto 0;
}

#mosimo .container-heading>span {
  background-color: #5AB620;
  color: #fff;
}

#mosimo .container-body {
  border-color: #5AB620;
  padding: 40px 5%;
}

#mosimo-features .content-type1:not(:first-child) {
  margin-top: 40px;
}

#mosimo-features .content-type1>dt {
  text-align: center;
}

#mosimo-features .content-type1>dt>span {
  display: inline-block;
  background-color: #007240;
  border-radius: 23px;
  padding: 7px 20px 9px;
  color: #fff;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
}

#mosimo-features .content-type1>dt>span>span {
  display: inline-block;
}

#mosimo-features .content-type1>dd {
  padding: 0 8px;
  color: #007240;
  font-size: 18px;
  line-height: 1.8;
}

#mosimo-features .content-type1>dd>* {
  margin-top: 20px;
}


#mosimo .buttons-wrapper {
  margin-top: 40px;
  padding-bottom: 20px;
}

#mosimo .buttons-wrapper>p:not(:first-child) {
  margin-top: 28px;
}




/*-------------------- mypage --------------------*/
#mypage #sml-user-links-block {
  padding-bottom: 40px;
}

#mypage .page-heading,
#mypage .sml-user-links-title {
  margin: 0;
  padding: 27px 16px 29px;
}

#mypage .sml-user-links-title {
  background-color: #5AB620;
  color: #fff;
  text-align: center;
  font-family: "Noto Serif JP", serif;
  font-size: 32px;
  font-weight: 700;
  line-height: calc(44 / 32);
}

#mypage .sml-login {
  width: 90%;
  max-width: 400px;
  margin: 32px auto 0;
  font-size: 18px;
  line-height: 1.5;
}

#mypage .sml-login p {
  display: flex;
  flex-direction: column;
  margin-bottom: 0;
}

#mypage .sml-login p:not(:first-child) {
  margin-top: 24px;
}

#mypage .sml-login p.cap-tuki,
#mypage .sml-login p label {
  padding: 0 6px;
}

#mypage .sml-login p.cap-tuki {
  margin-top: 8px;
  font-size: 16px;
}

#mypage .sml-login p label,
#mypage .sml-login input[name="login_id"],
#mypage .sml-login input[name="password"] {
  display: block;
  width: auto;
}

#mypage .sml-login input[name="login_id"],
#mypage .sml-login input[name="password"] {
  margin: 8px 0 0;
  border: 1px solid #aaa;
  padding: 6px 6px;
}

#mypage .sml-login p.submit {
  margin-top: 44px;
}

#mypage .sml-login p.submit .log-in-btn {
  background: #f16272;
  margin: 0 auto;
  border-radius: 8px;
  padding: 0 0 2px;
  color: #fff;
  text-align: center;
  transition: opacity 0.2s;
}

#mypage .sml-login p.submit .log-in-btn:hover {
  opacity: 0.8;
}

#mypage .sml-action-links-register,
#mypage .sml-action-links-lostpassword {
  text-align: center;
  font-size: 18px;
  line-height: 1.8;
}

#mypage .sml-action-links-register {
  margin-top: 44px;
}

#mypage .sml-action-links-lostpassword {
  margin-top: 8px;
}

#mypage .sml-action-links-register a,
#mypage .sml-action-links-lostpassword a {
  text-decoration: underline;
}

#mypage .sml-action-links-register a:hover,
#mypage .sml-action-links-lostpassword a:hover {
  text-decoration: none;
}

#mypage .subtitle {
  margin: 20px 0;
  font-size: 20px;
  line-height: 1.8;
}

#mypage .wp-block-image {
  margin-top: 16px;
}

#mypage .wp-block-image figcaption {
  width: calc(100% - 64px);
  max-width: 400px;
  margin: 10px auto 0;
  text-align: left;
  font-size: 16px;
  line-height: 1.8;
}

#mypage .wp-block-table.mypage-user-info table th,
#mypage .wp-block-table.mypage-user-info table td {
  font-size: 16px;
  line-height: 1.5;
}

#mypage .sml-user-links>li {
  text-align: center;
}

#mypage .sml-user-links>li:not(:first-child) {
  margin-top: 20px;
}

#mypage .taikai-button a,
#mypage .sml-user-links a {
  background-color: #f16272;
  max-width: 364px;
  padding: 15px 54px 17px 26px;
  line-height: 1;
  transition: opacity 0.2s;
}

#mypage .sml-user-links a {
  position: relative;
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.4);
  width: 100%;
  border-radius: 10px;
  border: 2px solid #fff;
  color: #fff;
  text-align: left;
  font-size: 20px;
  font-weight: 700;
}

#mypage .taikai-button a:hover,
#mypage .sml-user-links a:hover {
  opacity: 0.8;
}

#mypage .sml-user-links a::after {
  position: absolute;
  top: 50%;
  right: 21px;
  display: block;
  content: "";
  background: url(images/icon_arrow.svg) no-repeat center center / contain;
  width: 22px;
  height: 22px;
  transform: translateY(-50%);
}

#mypage .taikai-button {
  margin-top: 60px;
}

#mypage .taikai-button a {
  width: 90%;
}




/*-------------------- kiyaku --------------------*/
#kiyaku .page-nav a:nth-child(1) {
  display: inline-block;
  padding-top: 17px;
  padding-bottom: 18px;
  line-height: calc(24 / 20);
}

@media screen and (max-width: 390px) {
  #kiyaku .page-nav a:nth-child(1) {
    padding-top: 10px;
    padding-bottom: 11px;
  }
}

#kiyaku .page-nav a .small {
  display: inline-block;
  font-size: 16px;
}

#kiyaku .kiyaku {
  width: calc(100% - 32px);
  max-width: 640px;
  margin: 0 auto;
  padding: 40px 2% 60px;
  font-size: 16px;
  line-height: 1.8;
}

#kiyaku .kiyaku:not(:first-of-type) {
  border-top: 2px solid #C6C6C6;
}

#kiyaku .kiyaku h2 {
  display: flex;
  flex-direction: column;
  align-items: center;
  font-size: 32px;
  font-weight: 700;
}

#kiyaku .kiyaku h2 .small {
  margin-top: -4px;
  font-size: 20px;
}

#kiyaku .kiyaku .introduction {
  margin-top: 32px;
}

#kiyaku .kiyaku .kiyaku-body {
  margin-top: 16px;
}

#kiyaku .kiyaku .kiyaku-body>div {
  margin-top: 16px;
}

#kiyaku .kiyaku .kiyaku-body>div>dt {
  font-weight: 600;
}

#kiyaku .kiyaku .kiyaku-body .list-style_decimal:not(:first-child) {
  margin-top: 8px;
}

#kiyaku .kiyaku .kiyaku-body .list-style_decimal>li:not(:first-child) {
  margin-top: 8px;
}

#kiyaku .kiyaku .kiyaku-body .list-style_decimal_parentheses {
  counter-reset: number;
  display: table;
}

#kiyaku .kiyaku .kiyaku-body .list-style_decimal_parentheses>li {
  counter-increment: number;
  display: table-row;
}

#kiyaku .kiyaku .kiyaku-body .list-style_decimal_parentheses>li::before,
#kiyaku .kiyaku .kiyaku-body .list-style_decimal_parentheses>li>p {
  display: table-cell;
}

#kiyaku .kiyaku .kiyaku-body .list-style_decimal_parentheses>li::before {
  content: "(" counter(number) ")\00a0";
  text-align: right;
}

#kiyaku .kiyaku .date {
  margin-top: 16px;
}




/*-------------------- taikai --------------------*/
#taikai .page-content {
  width: 84%;
  max-width: 480px;
  margin: 0 auto;
  padding: 40px 0 60px;
  font-size: 16px;
  line-height: 1.8;
}

#taikai .page-content p:not(:first-child) {
  margin-top: 1em;
}

#taikai .page-content a {
  text-decoration: underline;
}

#taikai .page-content a:hover {
  text-decoration: none;
}




/*-------------------- archive --------------------*/
#archive .page-contents {
  padding-bottom: 20px;
}

#archive .posts {
  width: 90%;
  max-width: 480px;
  margin: 0 auto;
}

#archive .post {
  border-bottom: 2px solid #C6C6C6;
  padding: 30px 3%;
}

#archive .post .date {
  color: #555;
  font-size: 15px;
  line-height: 1.8;
}

#archive .post .title {
  margin-top: 8px;
  font-size: 18px;
  line-height: 1.8;
}

#archive .post .title a {
  text-decoration: underline;
}

#archive .post .title a:hover {
  text-decoration: none;
}

#archive .pagination {
  margin-top: 16px;
}

#archive .pagination>.inner {
  max-width: calc(48px * 10);
}




/*-------------------- single --------------------*/
#single .post .title {
  background-color: #FFF9EB;
  padding: 32px 0 32px;
}

#single .post .title>span,
#single .post .meta,
#single .post .content {
  width: 90%;
  max-width: 480px;
  margin-left: auto;
  margin-right: auto;
}

#single .post .title>span {
  display: block;
  color: #007240;
  font-size: 22px;
  font-weight: 700;
  line-height: calc(36 / 22);
}

#single .post .meta {
  margin-top: 16px;
}

#single .post .meta .date {
  color: #555;
  text-align: right;
  font-size: 15px;
  line-height: 1.8;
}

#single .post .content {
  margin-top: 16px;
  font-size: 16px;
  line-height: 1.8;
  word-break: break-all;
}

#single .post .content::after {
  content: "";
  clear: both;
  display: block;
}

#single .post .content>* {
  max-width: 100%;
}

#single .post .content h1 {
  margin: 40px 0 0;
  color: #007240;
  font-size: 22px;
  font-weight: 700;
}

#single .post .content h2 {
  margin: 40px 0 0;
  color: #007240;
  font-size: 20px;
  font-weight: 700;
}

#single .post .content h3 {
  margin: 32px 0 0;
  font-size: 18px;
  font-weight: 700;
}

#single .post .content h4 {
  margin: 24px 0 0;
  font-size: 16px;
  font-weight: 700;
}

#single .post .content h1+h2,
#single .post .content h1+h3,
#single .post .content h1+h4,
#single .post .content h2+h3,
#single .post .content h2+h4,
#single .post .content h3+h4 {
  margin-top: 16px;
}

#single .post .content div,
#single .post .content ul,
#single .post .content ol,
#single .post .content form,
#single .post .content table,
#single .post .content p {
  margin-top: 16px;
}

#single .post .content ul,
#single .post .content ol {
  padding-left: 2em;
}

#single .post .content ul {
  list-style: disc;
}

#single .post .content ol {
  list-style: decimal;
}

#single .post .content>*:first-child {
  margin-top: 0;
}

#single .post .content table th,
#single .post .content table td {
  border: 1px solid #999;
  padding: 0.5em 1.2em;
}

#single .post .content table th {
  background-color: #e8f4ff;
}

#single .post .content table td {
  background-color: #fff;
}

#single .post .content a {
  color: #FF5500;
  text-decoration: underline;
}

#single .post .content a:hover {
  text-decoration: none;
}

#single .post .content .alignleft,
#single .post .content .alignright {
  float: none;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 16px;
}

#single .post .content img.alignleft,
#single .post .content img.alignright {
  display: block;
}

#single .archive-button {
  margin-top: 60px;
  padding-bottom: 40px;
}




/*-------------------- 404 --------------------*/
#not-found .page-content {
  width: 84%;
  max-width: 480px;
  margin: 0 auto;
  padding: 40px 0 40px;
  font-size: 16px;
  line-height: 1.8;
}

#not-found .page-content p:not(:first-child) {
  margin-top: 1em;
}

#not-found .page-content p.home-button {
  margin-top: 60px;
}

#not-found .home-button a {
  max-width: 324px;
}




/* ################################################################
  footer */

footer {
}

footer>.upper {
  background-color: #fff;
}

footer>.lower {
  background-color: #fff;
  padding: 40px 0 calc(40px + 80px);
}

@media screen and (max-width: 449px) {
  footer>.lower {
    padding-bottom: calc(40px + 80px + 30px);
  }
}

#consultation {
  background-color: #5AB620;
  padding: 20px 0 30px;
}

#consultation .tel-center {
  width: calc(100% - 40px);
  max-width: 400px;
  margin: 0 auto;
}

#consultation .tel-center>.inner {
  position: relative;
  background: url(images/consultation_tel_center_sp.svg) no-repeat center top / contain;
  padding-top: calc((3130 / 3624) * 100%);
}

#consultation .tel-center>.inner .tel-num {
  position: absolute;
  top: calc((1600 / 3130) * 100%);
  left: 0;
  right: 0;
  padding-top: calc((640 / 3624) * 100%);
  transition: background-color 0.2s;
}

#consultation .tel-center>.inner .tel-num:hover {
  background-color: rgba(255,255,255,0.3);
}

#consultation .person {
  width: 90%;
  max-width: 400px;
  margin: 16px auto 0;
}

#consultation .consultation-button {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 0 auto 0;
}

#consultation .consultation-button>a:not(:first-child) {
  margin-top: 12px;
}


#ohnoya-nav .links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  width: calc(100% - 16px);
  max-width: calc((170px + 16px) * 3);
  margin: -16px auto 0;
}

#ohnoya-nav .links>li {
  background-color: #fff;
  box-shadow: 0 0 6px 0 rgba(0,0,0,0.4);
  width: calc(50% - 16px);
  max-width: 170px;
  margin: 16px 8px 0;
}

#ohnoya-nav .links a {
  display: flex;
  align-items: center;
  background-color: #F3F3F3;
  height: 80px;
  border-top: 8px solid;
  padding: 0 calc((12 / 170) * 100%) 2px;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.25;
  transition: opacity 0.2s;
}

#ohnoya-nav .links>li:nth-child(1) a {border-top-color: #8488C2;}
#ohnoya-nav .links>li:nth-child(2) a {border-top-color: #80C241;}
#ohnoya-nav .links>li:nth-child(3) a {border-top-color: #F4A200;}
#ohnoya-nav .links>li:nth-child(4) a {border-top-color: #ED707E;}
#ohnoya-nav .links>li:nth-child(5) a {border-top-color: #1687C4;}
#ohnoya-nav .links>li:nth-child(6) a {border-top-color: #009944;
                                      justify-content: center;
                                      padding-left: 0;
                                      padding-right: 0;
                                    }

#ohnoya-nav .links a:hover {
  opacity: 0.6;
}

#ohnoya-nav .links>li:not(:nth-child(6)) a::before {
  display: block;
  content: "";
  background: no-repeat center calc(50% + 1px);
  width: 48px;
  height: 100%;
  margin-right: calc((6 / (170 - 12)) * 100%);
}

#ohnoya-nav .links>li:nth-child(1) a::before {
  background-image: url(images/icon_other_1.svg);
  background-size: 54px auto;
}

#ohnoya-nav .links>li:nth-child(2) a::before {
  background-image: url(images/icon_other_2.svg);
  background-size: 56px auto;
}

#ohnoya-nav .links>li:nth-child(3) a::before {
  background-image: url(images/icon_other_3.svg);
  background-size: 48px auto;
}

#ohnoya-nav .links>li:nth-child(4) a::before {
  background-image: url(images/icon_other_4.svg);
  background-size: 60px auto;
}

#ohnoya-nav .links>li:nth-child(5) a::before {
  background-image: url(images/icon_other_5.svg);
  background-size: 50px auto;
}

@media screen and (max-width: 387px) {
  #ohnoya-nav .links a {
    padding-left: calc((9 / 170) * 100%);
    padding-right: calc((9 / 170) * 100%);
  }

  #ohnoya-nav .links>li:not(:nth-child(6)) a::before {
    width: 44px;
  }

  #ohnoya-nav .links>li:nth-child(1) a::before {
    background-size: 49px auto;
  }

  #ohnoya-nav .links>li:nth-child(2) a::before {
    background-size: 50px auto;
  }

  #ohnoya-nav .links>li:nth-child(3) a::before {
    background-size: 43px auto;
  }

  #ohnoya-nav .links>li:nth-child(4) a::before {
    background-size: 54px auto;
  }

  #ohnoya-nav .links>li:nth-child(5) a::before {
    background-size: 45px auto;
  }
}

#ohnoya-nav .links a .br_w360 {
  display: none;
}
@media screen and (max-width: 360px) {
  #ohnoya-nav .links a .br_w360 {
    display: inline;
  }
}


#members-menu {
  background-color: #fff;
  width: calc(100% - 32px);
  max-width: 400px;
  margin: 40px auto 0;
  border: 4px solid #5AB620;
  border-radius: 16px;
  padding: 40px 0 26px;
}

#members-menu .logo {
  display: flex;
  flex-direction: column;
  align-items: center;
}

#members-menu .logo_corp {
  width: 90%;
  max-width: 280px;
}

#members-menu .logo_logo {
  width: 90%;
  max-width: 288px;
  margin-top: 16px;
}

#members-menu>dl {
  margin-top: 40px;
}

#members-menu>dl>dt {
  color: #007240;
  text-align: center;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
}

#members-menu>dl>dd {
  margin-top: 18px;
}

#members-menu>dl>dd .buttons:not(:first-child) {
  margin-top: 16px;
}


#footer-menu {
  text-align: center;
  margin-top: 40px;
}

#footer-menu .links {
  display: inline-flex;
  flex-direction: column;
  text-align: left;
  font-size: 18px;
  line-height: 1.5;
}

#footer-menu .links>li:not(:first-child) {
  margin-top: 12px;
}

#footer-menu .links a {
  position: relative;
  display: inline-block;
  padding-left: 32px;
}

#footer-menu .links a:hover {
  text-decoration: underline;
}

#footer-menu .links a::before {
  position: absolute;
  top: 7px;
  left: 4px;
  display: block;
  content: "";
  background: url(images/icon_arrow_b.svg) no-repeat center center / contain;
  width: 16px;
  height: 16px;
}


footer .copy {
  margin-top: 40px;
  text-align: center;
  font-size: 15px;
  line-height: 1.6;
}




/* ################################################################ */
/* ################################################################ */
@media screen and (min-width: 768px) {

#wrapper {
}

.br_sp {
  display: none;
}

.br_pc {
  display: inline;
}

.inverted-triangle-head::before {
  content: normal;
}


.container_type1 .container-heading>span {
  font-size: 24px;
}





/* ################################################################
  header */


@media screen and (min-width: 960px) {
  #general-header>.upper>.inner {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 1200px;
    margin: 0 auto;
    padding: 10px 10px 10px 20px;
  }

  #general-header>.upper .logo_corp {
    width: 266px;
    max-width: none;
  }

  #general-header>.upper .logo_logo {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 200px;
    max-width: none;
    margin-top: 0;
    transform: translate(-50%, -50%);
  }

  #general-header>.upper .tel-center {
    display: block;
    width: 300px;
  }

  #general-header>.upper .tel-center>a {
    display: block;
    background: #5AB620 url(images/header_tel_center.svg) no-repeat center center / calc((300 / 340) * 100%) auto;
    border-radius: 8px;
    padding-top: calc((100 / 340) * 100%);
    transition: background-color 0.2s;
  }

  #general-header>.upper .tel-center>a:hover {
    background-color: #7bc54d;
  }
}

@media screen and (min-width: 1040px) {
  #general-header>.upper .logo_corp {
    width: 286px;
  }

  #general-header>.upper .tel-center {
    width: 340px;
  }
}

#general-header>.lower>.inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 6px 10px 6px 20px;
}


/*-------------------- index --------------------*/
#mv {
  padding-bottom: 32px;
}

@media screen and (min-width: 900px) {
  #mv {
    position: relative;
    max-width: 1300px;
    margin: 0 auto;
    padding: 0;
  }

  #mv::before {
    display: block;
    content: "";
    padding-top: calc((600 / 1300) * 100%);
  }

  #mv .logo {
    position: absolute;
    top: calc((116 / 600) * 100%);
    left: calc((154 / 1300) * 100%);
    width: calc((414 / 1300) * 100%);
    text-align: center;
  }

  #mv .logo_corp {
    width: calc((404 / 414) * 100%);
    max-width: none;
  }

  #mv .logo_logo {
    width: 100%;
    max-width: none;
    margin-top: calc((24 / 414) * 100%);
  }

  #mv .persons {
    position: absolute;
    top: calc((-44 / 600) * 100%);
    right: calc((-5 / 1300) * 100%);
    width: calc((700 / 1300) * 100%);
    max-width: none;
    margin: 0;
    transform: none;
  }

  #mv .regist-button {
    position: absolute;
    top: calc((390 / 600) * 100%);
    left: calc((362 / 1300) * 100%);
    margin-top: 0;
    transform: translateX(-50%);
  }

  #mv .regist-button a.regist {
    width: 3204px;
    max-width: 324px;
  }

}




/* ################################################################
  main */

.page-introduction {
  width: 84%;
  max-width: 800px;
  margin-top: 32px;
}

@media screen and (min-width: 900px) {
  .page-nav {
    flex-direction: row;
    justify-content: center;
    max-width: 1020px;
    padding-bottom: 30px;
  }

  .page-nav a.type1 {
    width: auto;
    max-width: none;
    margin-left: 6px;
    margin-right: 6px;
  }

  .page-nav a:not(:first-child) {
    margin-top: 0;
  }
}


.section-heading {
  font-size: 32px;
}


.apply-button a:not(:first-child) {
  margin-top: 0;
}



#privileges .section-body,
#ohnoya .section-body {
  padding-top: 32px;
}

#privileges .section-body.inverted-triangle-head,
#ohnoya .section-body.inverted-triangle-head {
  padding-top: 32px;
}

#privileges .section-body>.catchcopy,
#ohnoya .section-body>.catchcopy {
  max-width: 540px;
}


#external-services-nav .description {
  margin-top: 40px;
}

@media screen and (min-width: 900px) {
  #external-services-nav .description {
    max-width: none;
    text-align: center;
  }

  #external-services-nav .images {
    flex-wrap: nowrap;
    max-width: 1030px;
  }

  #external-services-nav img {
    width: calc(25% - 10px);
  }
}

#external-services-nav .navigations {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  max-width: 1020px;
  padding-top: 40px;
}

#external-services-nav .navigations .container {
  display: flex;
  flex-direction: column;
}

#external-services-nav .navigations .container:not(:first-child) {
  margin-top: 0;
}

#external-services-nav .navigations .container:nth-child(1),
#external-services-nav .navigations .container:nth-child(2) {
  width: calc((490 / 1020) * 100%);
}

#external-services-nav .navigations .container:nth-child(3) {
  width: 100%;
  margin-top: 40px;
}

#external-services-nav .navigations .container-body {
  flex-grow: 1;
  padding: 30px 20px;
}

#external-services-nav .navigations .container:nth-child(3) .links {
  display: flex;
  flex-wrap: wrap;
  width: 640px;
  margin: -20px auto 0;
}

#external-services-nav .navigations .container:nth-child(3) .links>li {
  width: 50%;
  margin-top: 20px;
}

@media screen and (min-width: 900px) {
  #external-services-nav .navigations .container-body {
    padding-left: 30px;
    padding-right: 30px;
  }

  #external-services-nav .navigations .container:nth-child(3) .links {
    flex-wrap: nowrap;
    justify-content: space-between;
    width: 96%;
    max-width: 800px;
  }

  #external-services-nav .navigations .container:nth-child(3) .links>li {
    width: auto;
  }
}


#referral {
  margin: 40px 0;
  padding: 0;
}

#referral>.inner {
  position: relative;
  width: calc(100% - 32px);
  max-width: 800px;
  padding: 32px 224px 32px 32px;
}

#referral .description {
  display: block;
  max-width: none;
  margin-top: 16px;
  padding: 0;
}

#referral .description::after {
  position: absolute;
  top: 50%;
  right: 32px;
  width: 160px;
  height: 100%;
  margin-left: 0;
  transform: translateY(-50%);
}


#footer-regist-button {
  margin: 40px 0;
  padding: 0;
}




/*-------------------- index --------------------*/
#privileges {
  position: relative;
  background-color: #fff;
  box-shadow: 0 0 8px 0 rgba(0,0,0,0.4);
  z-index: 1;
}

#privileges .more {
  display: none;
}

#privileges .container {
  width: calc(100% - 32px);
  max-width: 800px;
  margin-top: 32px;
}

#privileges .container-body {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  padding: 10px 30px 40px;
}

#privileges .boxes,
#privileges .boxes:not(:first-child) {
  margin-top: 30px;
}

#privileges .boxes {
  display: flex;
  flex-direction: column;
  width: calc((100% - 30px) / 2);
}

#privileges .boxes:nth-child(2n) {
  margin-left: 30px;
}

#privileges .boxes-heading  {
  padding: 8px 0.5em 10px;
  font-size: 26px;
}

#privileges .boxes-wrapper {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
}

#privileges .description {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
}

#privileges .description .box {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

@media screen and (min-width: 1052px) {
  #privileges .container {
    max-width: 1020px;
  }

  #privileges .boxes {
    width: calc((100% - 60px) / 3);
  }

  #privileges .boxes:nth-child(2n) {
    margin-left: 0;
  }

  #privileges .boxes:not(:nth-child(3n+1)) {
    margin-left: 30px;
  }
}


#index #external-services-nav {
  padding-top: 60px;
  padding-bottom: 80px;
}


#voices .heading>span,
#faq .heading>span {
  padding: 11px 30px 12px;
  font-size: 26px;
}


#voices .contents {
  display: flex;
  justify-content: center;
  padding: 40px 16px 60px;
}

#voices .item {
  width: calc(50% - 32px);
  max-width: 420px;
  margin: 54px 16px 0;
}

#voices .persona img {
  width: 212px;
  margin-top: -54px;
}

#voices .text>dd {
  margin-top: 24px;
}


#faq .contents {
  padding: 40px 0 80px;
}

#faq .category:not(:first-child) {
  margin-top: 60px;
}

#faq .category-items {
  width: calc(100% - 48px);
  max-width: 1020px;
}


@media screen and (min-width: 832px) {
  #event {
    padding: 50px 0;
  }

  #event>.inner {
    background-color: #fff;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: calc(100% - 32px);
    max-width: 800px;
    margin: 0 auto;
    border-radius: 8px;
    padding: 20px 30px;
  }

  #event>.inner::before {
    width: 81px;
    height: 82px;
    margin: 0;
  }

  #event .text {
    margin-top: 0;
  }

  #event .buttons {
    margin-top: 0;
  }

  #event .buttons a.event {
    width: 324px;
  }
}




/*-------------------- about --------------------*/
#join {
  padding: 40px 0 0;
}

#join .description {
  width: 84%;
  max-width: 800px;
  text-align: center;
}

#join .booklets {
  display: flex;
  justify-content: space-between;
  width: calc(100% - 32px);
  max-width: 864px;
  margin: 32px auto 0;
  padding-bottom: 40px;
}

#join .booklets .booklet {
  width: 48%;
  max-width: 400px;
  padding-bottom: 0;
}

#ohnoya .area-tab {
  padding-bottom: 30px;
}

#ohnoya .area-tab>li {
  max-width: 380px;
}

#ohnoya .section-body {
  padding-bottom: 40px;
}

#ohnoya .container {
  width: calc(100% - 32px);
  max-width: 800px;
}

#ohnoya .container-body {
  padding: 10px 0 10px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

#ohnoya .category,
#ohnoya .category-column-wrapper {
  width: calc(100% - 24px);
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
}

#ohnoya .category-column-wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

#ohnoya .category-column-wrapper .category {
  width: 340px;
}

#ohnoya .category-column-wrapper .category:nth-child(2n) {
  margin-left: calc(100% - (340px * 2));

}

#ohnoya .facilities {
  flex-wrap: nowrap;
  justify-content: space-between;
}

#ohnoya .facilities>li {
  width: 24%;
  max-width: 168px;
}

#ohnoya .note.long {
  width: auto;
  max-width: none;
}

#ohnoya .facility-links {
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: space-between;
  width: 696px;
  margin-top: 8px;
  margin-left: auto;
  margin-right: auto;
}

#ohnoya .facility-links a {
  width: 340px;
  max-width: none;
}

#ohnoya .facility-links a,
#ohnoya .facility-links a:not(:first-child) {
  margin-top: 16px;
}

#ohnoya .partner .description,
#ohnoya .partner .contact {
  width: auto;
  margin-left: 0;
  margin-right: 0;
}

#ohnoya .column-wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

#ohnoya .column-wrapper>* {
  width: 340px;
}

#ohnoya .column-wrapper>*:nth-child(2n) {
  margin-left: calc(100% - (340px * 2));
}

#ohnoya .osoushiki.kansai .content_2>dd img {
  width: auto;
  height: 39px;
}

#ohnoya .houji.kanto .images {
  display: block;
  width: calc(340px + 8px + 108px);
  margin-left: auto;
  margin-right: auto;
}

#ohnoya .houji.kanto .images::after {
  content: "";
  clear: both;
  display: block;
}

#ohnoya .houji.kanto .images img:nth-child(1) {
  float: left;
  width: 340px;
}

#ohnoya .houji.kanto .images img:nth-child(2),
#ohnoya .houji.kanto .images img:nth-child(3) {
  float: right;
  width: 108px;
  margin-top: 8px;
}

#ohnoya .houji.kanto .images img:nth-child(2) {
  margin-top: 0;
}

#ohnoya .houji.kanto .content_1>dd img {
  width: auto;
  height: 39px;
}

#ohnoya .houji.kanto .content_2>dt>span {
  width: 280px;
}

#ohnoya .houji.kanto .apply-button {
  margin-top: 32px;
}

#ohnoya .houji.kanto .apply-button>a:nth-child(2n) {
  margin-left: 12px;
}

#ohnoya .obutsudan .content_1 .adjust {
  width: auto;
  height: 39px;
}


#ohnoya .buttons-wrapper {
  margin-top: 36px;
}


#about #external-services-nav {
  padding-top: 40px;
  padding-bottom: 40px;
}




/*-------------------- about2 --------------------*/
#about2 #external-services-nav {
  padding-bottom: 40px;
}

#services.inverted-triangle-head {
  padding-top: 20px;
}

#services .container {
  width: calc(100% - 32px);
  max-width: 800px;
  padding: 26px 0 24px;
}

#services .container>.inner {
  display: flex;
  justify-content: center;
  width: calc(100% - 24px);
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
}

#services .container>.inner>.upper,
#services .container>.inner>.lower {
  width: 340px;
}

#services .container>.inner>.lower {
  margin-left: calc(100% - (340px * 2));
}

#services .goto_nav {
  max-width: 800px;
}




/*-------------------- mosimo --------------------*/
#mosimo .page-introduction {
  text-align: center;
}

#mosimo .page-introduction p {
  margin-top: 1em;
}

#mosimo .container {
  width: calc(100% - 32px);
  max-width: 800px;
  margin-top: 32px;
}

#mosimo .container-body {
  padding: 40px 5%;
}

#mosimo-features .content-type1>dt>span {
  padding-left: 32px;
  padding-right: 32px;
}


#mosimo .buttons-wrapper {
  padding-bottom: 40px;
}




/*-------------------- mypage --------------------*/
#mypage .taikai-button {
  padding-bottom: 40px;
}




/*-------------------- kiyaku --------------------*/
#kiyaku .kiyaku {
  width: calc(100% - 32px);
  max-width: 800px;
}




/*-------------------- taikai --------------------*/
#taikai .page-content {
  max-width: 800px;
}




/*-------------------- archive --------------------*/
#archive .page-contents {
  padding-bottom: 40px;
}

#archive .posts {
  max-width: 800px;
}

#archive .post .title {
  margin-top: 24px;
}

#archive .pagination>.inner {
  max-width: calc(48px * 16); /* 768px */
}




/*-------------------- single --------------------*/
#single .post .title {
  background-color: #FFF9EB;
  padding: 20px 0 20px;
}

#single .post .title>span,
#single .post .meta,
#single .post .content {
  max-width: 800px;
}

#single .post .content {
  margin-top: 32px;
}

#single .post .content .alignleft {
 float: left;
 margin-right: 16px;
}

#single .post .content .alignright {
 float: right;
 margin-left: 16px;
}




/*-------------------- 404 --------------------*/
#not-found .page-content {
  max-width: 800px;
}

#not-found .home-button a {
  max-width: 324px;
}




/* ################################################################
  footer */

footer>.lower {
  background-color: #FFF9EB;
}



@media screen and (min-width: 832px) {
  #consultation {
    position: relative;
    width: calc(100% - 32px);
    max-width: 800px;
    margin: 40px auto;
    border-radius: 8px;
    padding: 32px 30px;
  }

  #consultation .tel-center {
    width: 420px;
    max-width: none;
    margin: 0 auto 0 0;
  }

  #consultation .tel-center>.inner {
    background-image: url(images/consultation_tel_center_pc.svg);
    padding-top: 157px;
  }

  #consultation .tel-center>.inner .tel-num {
    top: calc((73 / 157) * 100%);
    padding-top: calc((23 / 157) * 100%);
  }

  #consultation .person {
    position: absolute;
    top: 16px;
    right: 50px;
    width: 260px;
    max-width: none;
    margin: 0;
  }

  #consultation .consultation-button {
    flex-direction: row;
    justify-content: space-between;
    width: calc((344px * 2) + 32px);
    margin: 32px auto 0;
  }

  #consultation .consultation-button>a:not(:first-child) {
    margin-top: 0;
  }
}



@media screen and (min-width: 1132px) {
  #ohnoya-nav .links {
    width: auto;
    max-width: none;
    margin: 0;
  }

  #ohnoya-nav .links>li {
    margin-top: 0;
  }
}


#members-menu {
  display: flex;
  justify-content: space-between;
  max-width: 760px;
  padding: 28px 38px 28px 52px;
}

#members-menu .logo_corp {
  width: 280px;
  max-width: none;
}

#members-menu .logo_logo {
  width: 288px;
  max-width: none;
}

#members-menu>dl {
  margin-top: 0;
}

#members-menu>dl>dd .buttons a {
  width: 324px;
}


#footer-menu {
  margin-top: 20px;
}

#footer-menu .links {
  flex-direction: row;
  justify-content: space-between;
  width: 680px;
}

#footer-menu .links>li:not(:first-child) {
  margin-top: 0;
}


footer .copy {
  margin-top: 20px;
  text-align: center;
}




}
