﻿.l-wp {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

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

  Header
  
----------------------------------------------------------------------------------------------------*/
:root {
  --hd-shadow: 0 5px 15px 0 rgba(var(--bcolor-4),0.05);
}
.l-hd {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  background-color: #fff;
}
@media print, screen and (min-width:901px) {
  header {
    position: relative;
    z-index: 200;
  }
  .l-hd {
    box-sizing: border-box;
    justify-content: space-between;
    padding: 20px;
  }
}
@media screen and (max-width:900px) {
  :root {
    --SP-hd-height: 90px;
  }
  body {
    padding-top: 90px;
  }
  header {
    width: 100%;
    min-width: var(--SP-min-width);
    position: fixed;
    left: 0;
    top: 0;
    z-index: 200;
  }
  .l-hd {
    position: relative;
    z-index: 200;
    box-shadow: var(--hd-shadow);
    padding: 15px 20px;
  }
}


/*--------------------------------------------------------------------------------
  ロゴ
--------------------------------------------------------------------------------*/
.l-hd-logo {
  line-height: 1;
  -ms-flex-item-align: center;
  align-self: center;
  text-align: left;
}
.l-hd-logo a {
  display: block;
  text-indent: 200%;
  overflow: hidden;
  white-space: nowrap;
}
@media print, screen and (min-width:901px) {
  .l-hd-logo a {
    width: 318px;
    height: 84px;
    background: url("../image/header/site-title-pc.png?upd=20240806") no-repeat top left;
  }
}
@media screen and (max-width:900px) {
  .l-hd-logo a {
    width: 243px;
    height: 55px;
    background: url("../image/header/site-title-sp.png?upd=20240806") no-repeat top left;
  }
}


/*--------------------------------------------------------------------------------
  right content
--------------------------------------------------------------------------------*/
.l-hd-rContent {
  text-align: right;
}

@media screen and (max-width:900px) {
  .l-hd-rContent {
    display: none;
  }
}

/*--------------------------------------------------------------------------------
  sub navigation
--------------------------------------------------------------------------------*/
.l-hd-nav {
  display: flex;
  justify-content: flex-end;
}

.l-hd-nav .p-btn:first-child {
  margin-right: 10px;
}

/*--------------------------------------------------------------------------------
  fontsize change/site search
--------------------------------------------------------------------------------*/
.l-hd-extra {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  margin-top: 16px;
}

/* font-size */
.l-hd-extra .font-size {
  display: flex;
  align-items: center;
  margin-right: 10px;
  line-height: 1;
}

.l-hd-extra .font-size dt {
  margin-right: 1em;
}

.l-hd-extra .font-size dd {
  padding: 0.75em 1em;
  border: 1px solid #b2b2b2;
  box-sizing: border-box;
  color: inherit;
  text-decoration: none;
}
.l-hd-extra .font-size dd:hover {
  color: rgba(var(--acolor-3),1);
  cursor: pointer;
}
.l-hd-extra .font-size dd:first-of-type {
  border-right: none;
}

body.fs-standard .l-hd-extra .font-size dd[data-size="S"],
body.fs-large .l-hd-extra .font-size dd[data-size="L"] {
  background-color: rgba(var(--acolor-3),1);
  border: 1px solid rgba(var(--acolor-3),1);
  color: rgba(var(--acolor-f),1);
}

/* site-search */
.l-hd-extra .site-search form {
  display: flex;
  align-items: center;
  overflow: hidden;
  border-radius: 3px;
}

.l-hd-extra .site-search input[type="text"] {
  width: 100%;
  max-width: 220px;
  height: 2.9em;
  padding: 0.5em 0.75em;
  border: 1px solid #b2b2b2;
  border-radius: none;
  box-sizing: border-box;
  background-color: #f0f4f9;
  outline: none;
}

.l-hd-extra .site-search input[type="text"]::placeholder {
  color: #777777;
}

.l-hd-extra .site-search button {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 2.9em;
  padding: 0.5em 0.75em;
  border: none;
  border-radius: none;
  background-color: rgba(var(--bcolor-1),1);
  cursor: pointer;
}

.l-hd-extra .site-search button::after {
  width: 1.5em;
  height: 1.5em;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18.031 16.6168L22.3137 20.8995L20.8995 22.3137L16.6168 18.031C15.0769 19.263 13.124 20 11 20C6.032 20 2 15.968 2 11C2 6.032 6.032 2 11 2C15.968 2 20 6.032 20 11C20 13.124 19.263 15.0769 18.031 16.6168ZM16.0247 15.8748C17.2475 14.6146 18 12.8956 18 11C18 7.1325 14.8675 4 11 4C7.1325 4 4 7.1325 4 11C4 14.8675 7.1325 18 11 18C12.8956 18 14.6146 17.2475 15.8748 16.0247L16.0247 15.8748Z' fill='%23fff'%3E%3C/path%3E%3C/svg%3E");
  background-repeat: no-repeat;
  content: '';
}


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

  Global navigation
  
----------------------------------------------------------------------------------------------------*/
.l-gNav-list {
  list-style: none;
  max-width: var(--base-width);
  margin-left: auto;
  margin-right: auto;
  line-height: var(--line-height-s);
}
.l-gNav-list a,
.l-gNav-list a:visited,
.l-gNav-list a:hover,
 .l-gNav-list .noLink {
  color: rgba(var(--acolor-f),1);
  text-decoration: none;
}
.l-gNav-list a,
.l-gNav-list .noLink {
  display: block;
}
.l-gNav-list > li > a {
}
/* second */
.l-gNav-secondList {
  list-style: none;
}
@media print, screen and (min-width:901px) {
  .l-gNav {
    background-color: rgba(var(--bcolor-4),1);
  }
  .l-gNav.set-ani {
    transition: background 0.3s ease-out;
  }
  .l-gNav--fixSet.is-fix {
    position: fixed;
    left: 0;
    top: 0;
    z-index: 900;
    width: 100%;
    box-shadow: var(--hd-shadow);
    background-color: rgba(var(--bcolor-4),1);
  }
  .l-gNav--fixSet.is-fix .l-gNav-list > li > a {
  }
  .l-gNav--fixSet.is-fix .l-gNav-list a,
  .l-gNav--fixSet.is-fix .l-gNav-list a:visited,
  .l-gNav--fixSet.is-fix .l-gNav-list a:hover,
  .l-gNav--fixSet.is-fix .l-gNav-list .noLink {
    color: rgba(var(--acolor-f),1);
  }
  .ua-pc .l-gNav--fixSet.is-fix .l-gNav-list a:hover,
  .l-gNav--fixSet.is-fix .l-gNav-list .noLink:hover {
    color: rgba(var(--acolor-f),.7);
  }
  .l-gNav {
  }
  .l-gNav-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .l-gNav-list > li {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    text-align: center;
  }
  .l-gNav-list > li:last-child {
    display: none;
  }
  .ua-pc .l-gNav-list > li > a:hover,
  .l-gNav-list > li.parent.is-active > a
  .ua-pc .l-gNav-list > li > .noLink:hover,
  .l-gNav-list > li.parent.is-active > .noLink { color: rgba(var(--acolor-f),.7); }
  .l-gNav--fixSet.is-fix .l-gNav-list > li.parent.is-active > a,
  .l-gNav--fixSet.is-fix .l-gNav-list > li.parent.is-active > .noLink { color: rgba(var(--acolor-f),.7); }
  .l-gNav-list > li > a,
  .l-gNav-list > li > .noLink {
    padding: 1em 0;
    position: relative;
    overflow: hidden;
    transition: color 0.15s ease-out, opacity 0.15s ease-out, font-size 0.15s ease-out;
  }
  .l-gNav-list > li > a > span,
  .l-gNav-list > li > .noLink > span {
    display: block;
    width: 100%;
    border-right: 1px solid rgba(255,255,255,.2);
  }
  .l-gNav-list > li:first-child > a > span {
    border-left: 1px solid rgba(255,255,255,.2);
  }
  .l-gNav-list > li.parent {
    position: relative;
    z-index: 199;
  }
  .l-gNav-list > li.parent > a .icon {
    display: none;
  }
  /* second */
  .l-gNav-secondList {
    display: none;
    min-width: 100%;
    position: absolute;
    left: 50%;
    top: 70%;
    transform: translateX(-50%);
    text-align: left;
    font-size: var(--fs-2s);
    white-space: nowrap;
    transition: top 0.4s var(--cubic-bezier);
  }
  .l-gNav-secondList.is-active {
    top: 100%;
  }
  .l-gNav-secondList a,
  .l-gNav-secondList a:visited,
  .l-gNav-secondList a:hover,
  .ua-pc .l-gNav-secondList a:hover {
    text-decoration: none;
  }
  .l-gNav-secondList > li > a {
    background-color: rgba(var(--bcolor-1),1);
    padding: 0.75em 2em 0.75em 0.75em;
    position: relative;
  }
  .ua-pc .l-gNav-secondList > li > a:hover {
    background-color: rgba(var(--bcolor-2),1);
  }
  .l-gNav-secondList > li:not(:first-child) > a {
    border-top: 1px solid rgba(255,255,255,0.2);
  }
  .ua-pc .l-gNav-secondList > li > a:hover,
  .ua-pc .l-gNav-secondList > li:hover + li > a {
    border-top-color: transparent;
  }
  .l-gNav-secondList > li > a:after {
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
    position: absolute;
    right: 0.75em;
    top: 50%;
    transform: rotate(-45deg) translateY(-50%);
  }
}
@media screen and (max-width:1160px) {
  .l-gNav-list {
    padding: 0;
  }
}
@media screen and (max-width:900px) {
  .l-gNav-list a,
  .l-gNav-list a:visited,
  .l-gNav-list a:hover {
    color: rgba(var(--acolor-f),1);
  }
  html.is-sp-gNav-open,
  html.is-sp-gNav-close {
    overflow: hidden;
  }
  html.is-sp-gNav-open,
  html.is-sp-gNav-open body,
  html.is-sp-gNav-close,
  html.is-sp-gNav-close body {
    height: 100%;
  }
  .l-gNav {
    display: none;
    pointer-events: none;
    width: 100%;
    min-width: var(--SP-min-width);
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 199;
    text-align: center;
    background-color: rgba(var(--bcolor-4),1);
  }
  .l-SPgNav {
    pointer-events: auto;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding-top: var(--SP-hd-height);
  }
  .l-SPgNav__item {
    opacity: 0;
    overflow-y: auto;
    padding: 0.5em 1.5em 0 1.5em;
    text-align: left;
    transition: padding 0.4s var(--cubic-bezier), opacity 0.6s var(--cubic-bezier);
  }
  .l-SPgNav__item.is-aniSet {
    opacity: 1;
    padding-top: 1em;
  }
  .l-SPgNav__item:after {
    content: "";
    width: 100%;
    height: 1.5em;
    display: block;
  }
  .l-gNav-list > li {
    border-bottom: 1px solid rgba(var(--acolor-f),0.3);
  }
  .l-gNav-list > li > a,
  .l-gNav-list > li > .noLink {
    padding: 0.75em 0;
  }
  .l-gNav-list > li.parent > a,
  .l-gNav-list > li.parent > .noLink {
    padding-right: 2em;
    position: relative;
  }
  .l-gNav-list > li.parent > a .icon,
  .l-gNav-list > li.parent > .noLink .icon {
    position: absolute;
    right: 0.5em;
    top: 1em;
    line-height: 0;
    display: block;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    width: 1em;
    height: 1em;
    background-color: rgba(var(--bcolor-2),1);
    box-sizing: content-box;
    border-radius: 50%;  
  }
  .l-gNav-list > li.parent > a .icon:before,
  .l-gNav-list > li.parent > a .icon:after,
  .l-gNav-list > li.parent > .noLink .icon:before,
  .l-gNav-list > li.parent > .noLink .icon:after {
    content: "";
    display: inline-block;
    --width: 50%;
    --height: 2px;
    width: var(--width);
    height: var(--height);
    background: #fff;
    position: absolute;
    left: 50%;
    top: 50%;
    margin-top: -webkit-calc(-1 * var(--height) / 2);
    margin-top: calc(-1 * var(--height) / 2);
    margin-left: -webkit-calc(-1 * var(--width) / 2);
    margin-left: calc(-1 * var(--width) / 2);
  }
  .l-gNav-list > li.parent > a .icon:after,
  .l-gNav-list > li.parent > .noLink .icon:after {
    transition: transform 0.5s var(--cubic-bezier);
    transform-origin: center center;
    transform: rotate(90deg) scale(1,1);
  }
  .l-gNav-list > li.parent.is-active > a .icon:after,
  .l-gNav-list > li.parent.is-active > .noLink .icon:after {
    transform: rotate(90deg) scale(0,1);
  }
  /* second */
  .l-gNav-secondList {
    display: none;
    padding-bottom: 1.25em;
  }
  .l-gNav-secondList > li > a {
    padding: 0.4em 1em 0.4em 2em;
    position: relative;
  }
  .l-gNav-secondList > li > a:before {
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    border-right: 1px solid rgba(var(--bcolor-2),1);
    border-bottom: 1px solid rgba(var(--bcolor-2),1);
    position: absolute;
    left: 1em;
    top: 1em;
    transform: rotate(-45deg);
  }
}

/*--------------------------------------------------------------------------------
  SP button
--------------------------------------------------------------------------------*/
@media print, screen and (min-width:901px) {
  .l-gNavBtn {
    display: none;
  }
}
@media screen and (max-width:900px) {
  .l-gNavBtn {
    width: 66px;
    height: 58px;
    margin-left: auto;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background-color: rgba(var(--bcolor-1),1);
    border-radius: 4px;
  }
  .l-gNavBtn__icon,
  .l-gNavBtn__icon span,
  .l-gNavBtn__icon span:before,
  .l-gNavBtn__icon span:after {
    display: inline-block;
  }
  .l-gNavBtn__icon {
    position: relative;
    width: 26px;
    height: 20px;
    transition: all 0.3s ease-out;
  }
  .l-gNavBtn__icon span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 3px;
    transition: all 0.3s ease-out;
  }
  .l-gNavBtn__icon span,
  .l-gNavBtn.is-close .l-gNavBtn__icon span {
    background-color: rgba(var(--acolor-f),1);
  }
  .l-gNavBtn__icon span:nth-of-type(1) {
    top: 0;
  }
  .l-gNavBtn__icon span:nth-of-type(2) {
    top: 8px;
  }
  .l-gNavBtn__icon span:nth-of-type(3) {
    bottom: 0;
  }
  .l-gNavBtn.is-aniSet .l-gNavBtn__icon span:nth-of-type(1) {
    -webkit-animation: navBtn01 0.4s forwards;
    animation: navBtn01 0.4s forwards;
  }
  .l-gNavBtn.is-aniSet .l-gNavBtn__icon span:nth-of-type(2) {
    transition: opacity 0.2s 0.2s;
    opacity: 1;
  }
  .l-gNavBtn.is-aniSet .l-gNavBtn__icon span:nth-of-type(3) {
    -webkit-animation: navBtn02 0.4s forwards;
    animation: navBtn02 0.4s forwards;
  }
  .l-gNavBtn.is-close .l-gNavBtn__icon span:nth-of-type(1) {
    -webkit-animation: active-navBtn01 0.4s forwards;
    animation: active-navBtn01 0.4s forwards;
  }
  .l-gNavBtn.is-close .l-gNavBtn__icon span:nth-of-type(2) {
    opacity: 0;
  }
  .l-gNavBtn.is-close .l-gNavBtn__icon span:nth-of-type(3) {
    -webkit-animation: active-navBtn03 0.4s forwards;
    animation: active-navBtn03 0.4s forwards;
  }
  html.is-sp-gNav-open .l-gNavBtn:not(.is-aniSet) .l-gNavBtn__icon span:nth-of-type(1) {
    transform: translateY(8px) rotate(45deg);
    animation: none;
  }
  html.is-sp-gNav-open .l-gNavBtn:not(.is-aniSet) .l-gNavBtn__icon span:nth-of-type(3) {
    transform: translateY(-8px) rotate(-45deg);
    animation: none;
  }
}
@keyframes navBtn01 {
  0% {
    transform: translateY(8px) rotate(45deg);
  }
  50% {
    transform: translateY(8px) rotate(0);
  }
  100% {
    transform: translateY(0) rotate(0);
  }
}
@keyframes navBtn02 {
  0% {
    transform: translateY(-8px) rotate(-45deg);
  }
  50% {
    transform: translateY(-8px) rotate(0);
  }
  100% {
    transform: translateY(0) rotate(0);
  }
}
@keyframes active-navBtn01 {
  0% {
    transform: translateY(0) rotate(0);
  }
  50% {
    transform: translateY(8px) rotate(0);
  }
  100% {
    transform: translateY(8px) rotate(45deg);
  }
}
@keyframes active-navBtn03 {
  0% {
    transform: translateY(0) rotate(0);
  }
  50% {
    transform: translateY(-8px) rotate(0);
  }
  100% {
    transform: translateY(-8px) rotate(-45deg);
  }
}

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

  Contents
  
----------------------------------------------------------------------------------------------------*/

@media screen and (max-width:900px) {
  main {
    margin-top: 88px;
  }
}


/*--------------------------------------------------------------------------------
  base-width
--------------------------------------------------------------------------------*/
.base-width {
  width: 100%;
  max-width: var(--base-width);
  margin-left: auto;
  margin-right: auto;
}

@media screen and (max-width:1160px) {
  .base-width {
    padding-left: 20px;
    padding-right: 20px;
  }
}


/* -----------------------------------------------------------------------------
	table
 -------------------------------------------------------------------------------*/

.table-content {
}

.table-content table {
  width:100%;
  border-collapse:collapse;
  text-align:left;
  border:1px solid rgba(var(--bcolor-2),1);
}

.table-content th {
	text-align:left;
	padding:1em;
	background-color: rgba(var(--bcolor-6),1);
	border-bottom:1px solid rgba(var(--bcolor-2),1);
	border-right:1px solid rgba(var(--bcolor-2),1);
	vertical-align:top;
}

.table-content td {
	padding:1em;
	border-bottom:1px solid rgba(var(--bcolor-2),1);
	border-right:1px solid rgba(var(--bcolor-2),1);
	background-color:rgba(var(--acolor-f),1);
}

/*--------------------------------------------------------------------------------
  サブページタイトル
--------------------------------------------------------------------------------*/
.l-pgTtl {
  background-color: rgba(var(--bcolor-6),1);
  padding-left: var(--side-space);
  padding-right: var(--side-space);
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  align-items: center;
  position: relative;
  overflow: hidden;
}
.l-pgTtl::after {
  content: "";
  position: absolute;
  top: 10%;
  left: 6%;
  background-image: url("../image/subpage/l-pgTtl-bg.svg");
  background-repeat: no-repeat;
  background-position: bottom right;
  background-size: 100% auto;
  width: 220px;
  height: 220px;
  pointer-events: none;
  opacity: 0.36;
}
@media screen and (max-width:900px) {
  .l-pgTtl::after {
    left: auto;
    right: -3%;
  }  
}
@media screen and (max-width:700px) {
  .l-pgTtl::after {
    width: 160px;
    height: 160px;
  }  
}
.l-pgTtl__txtArea {
  width: 100%;
  max-width: var(--base-width);
  margin-left: auto;
  margin-right: auto;
  text-align: left;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  flex-wrap: wrap;
  color: rgba(var(--bcolor-4),1);
  font-weight: 700;
  z-index: 2;
  line-height: var(--line-height-s); 
}
.l-pgTtl__cate,
.l-pgTtl__txt {
  display: block;
  width: 100%;
}
.l-pgTtl__cate {
  color: rgba(var(--bcolor-1),1);
}
/*
.l-pgTtl__txt:before {
  content: "";
  width: 2em;
  height: 2em;
  border-radius: 50%;
  background-color: #fff;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: auto 60%;
  display: inline-block;
  margin-right: 0.75em;
}
.l-pgTtl--info .l-pgTtl__txt:before { background-image: url("../image/icon/pg_info.svg"); }
.l-pgTtl--guide .l-pgTtl__txt:before { background-image: url("../image/icon/pg_guide.svg"); }
.l-pgTtl--shinryo .l-pgTtl__txt:before { background-image: url("../image/icon/pg_shinryo.svg"); }
.l-pgTtl--doctor .l-pgTtl__txt:before { background-image: url("../image/icon/pg_doctor.svg"); }
.l-pgTtl--clinic .l-pgTtl__txt:before { background-image: url("../image/icon/pg_clinic.svg"); }
.l-pgTtl--access .l-pgTtl__txt:before { background-image: url("../image/icon/pg_access.svg"); }
*/
@media print,screen and (min-width:901px) {
  .l-pgTtl {
    height:180px;
  }
  .l-pgTtl__txt {
    font-size: var(--fs-5l);
  }
}
@media screen and (max-width:900px) {
  .l-pgTtl {
    height:-webkit-calc(140 / 640 * 100vw);
    height:calc(140 / 640 * 100vw);
    min-height:110px;
  }
  .l-pgTtl__txt {
    font-size: var(--fs-4l);
  }
}

/*--------------------------------------------------------------------------------
  セクションタイトル1
--------------------------------------------------------------------------------*/
.l-secTtl01 {
  padding-top: 90px;
  background: url("../image/common/section-title01-img.png") no-repeat top center;
  color: rgba(var(--bcolor-1),1);
  font-family: "DMSans", sans-serif;
  font-weight: 900;
  font-optical-sizing: auto;
  font-style: normal;
  font-size: var(--fs-5l);
  text-align: center;
}

/*--------------------------------------------------------------------------------
  セクションタイトル2
--------------------------------------------------------------------------------*/
.l-secTtl02 {
  background: url("../image/common/section-title02-bg.png") repeat-x center left;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-size: var(--fs-4l);
  text-align: left;
}

.l-secTtl02 span {
  display: inline-block;
  padding-right: 0.75em;
  background-color: #fff;
}

/*--------------------------------------------------------------------------------
  セクションタイトル3
--------------------------------------------------------------------------------*/
.l-secTtl03 {
  padding: 0.75em;
  box-sizing: border-box;
  background-color: rgba(var(--bcolor-6),1);
  border-left: 6px solid rgba(var(--bcolor-1),1);
  color: rgba(var(--bcolor-4),1);
  font-size: var(--fs-l);
}


/*--------------------------------------------------------------------------------
  パンくずリスト
--------------------------------------------------------------------------------*/
.l-pan {
  padding: 1.25em var(--side-space);
}
.l-pan__list {
  width: 100%;
  max-width: var(--base-width);
  margin-left: auto;
  margin-right: auto;
  text-align: left;
  list-style: none;
  line-height: 2;
  font-size: var(--fs-2s);
}
.l-pan__list li {
  display: inline;
  position: relative;
}
.l-pan__list li:not(:last-child) {
  padding-right: 1.25em;
}
.l-pan__list li:not(:last-child):after {
  content: "";
  display: inline-block;
  width: 0.5em;
  height: 1px;
  position: absolute;
  top: 50%;
  right: 0.25em;
  background-color: rgba(var(--bcolor-3),1);
}

/*--------------------------------------------------------------------------------
  content-area
--------------------------------------------------------------------------------*/
.l-ct-main {
  margin-top: var(--block-space-m);
  margin-bottom: var(--block-space-max);
}

/*--------------------------------------------------------------------------------
  2column
--------------------------------------------------------------------------------*/
.l-ct-cols {
  padding-top: var(--block-space-m);
  padding-bottom: var(--block-space-max);
  padding-left: var(--side-space);
  padding-right: var(--side-space);
  text-align: left;
}
@media print, screen and (min-width:901px) {
  .l-ct-cols {
    box-sizing: content-box;
    max-width: var(--base-width);
    margin-left: auto;
    margin-right: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .l-ct__main {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    padding-right: 3.5em;
  }
  .l-ct__side {
    width: 28%;
  }
  /* 小見出し */
  .l-ct__side .p-sub-hdLine {
    font-size: var(--fs-m);
    padding-top: 0.75em;
    padding-bottom: 0.75em;
  }
}
@media screen and (max-width:900px) {
  .l-ct__side {
    padding-top: var(--block-space-max);
  }
}

/* -----------------------------------------------------------------------------
	form
 -------------------------------------------------------------------------------*/
 
.mailform-layout {
  display: block;
}

.mailform-layout .item {
	display: flex;
  justify-content: space-between;
  width: 100%;
}

@media screen and (max-width: 900px) {
	.mailform-layout .item {
		flex-wrap: wrap;
	}
}

.mailform-layout .item .name {
	width: 240px;
  padding: 1em 0;
}

@media screen and (max-width: 900px) {
	.mailform-layout .item .name {
		width: 100%;
	}
}

.mailform-layout .item .answer {
  width: calc(100% - 270px);
  margin-left: 30px;
  overflow: hidden;
  padding: 1em 0;
}

@media screen and (max-width: 900px) {
	.mailform-layout .item .answer {
    width: 100%;
    margin-left: 0;
	}
}

.mailform-layout .name-part {
  display: block;
  width: calc(100% - 60px);
  color: #0d66ab;
}

@media screen and (max-width: 900px) {
	.mailform-layout .name-part {
    width: auto;
    margin-right: 1em;
  }
}

.mailform-layout .icon-required {
	display: inline-block;
	background-color: rgba(var(--bcolor-1),1);
	color: rgba(var(--acolor-f),1);
	font-size: var(--fs-2s);
  padding: 0 .5em;
	text-align: center;
  margin-right: .5em;
}

.mailform-layout ul {
	list-style: none;
	margin: 0 !important;
	padding: 0 !important;
	margin-bottom: 0 !important;
	padding-bottom: 0 !important;
  overflow: hidden;
}

/*
.mailform-alart {
	background-color: #e3fff2;
	border: 1px solid #bae4d1;
	box-sizing: border-box;
	border-radius: 5px;
	padding-left: 15px;
	padding-right: 15px;
	padding-top: 15px;
	padding-bottom: 15px !important;
	margin-bottom: 30px;
	text-align: center;
}
*/
.mailform-alart {
	background-color: #e3fff2;
	border: 1px solid #bae4d1;
	box-sizing: border-box;
	border-radius: .75em;
  padding: 1em;
  margin: 40px 0;
	text-align: center;
	font-weight: bold;
}

.mailform-alart.error {
	background-color: #ffffff;
	border: 2px solid #ff5353;
	border-radius: .75em;
  padding: 1em;
  margin-bottom: 30px;
	color: #ff5353;
	font-weight: bold;
}

.mailform-setup-alart {
	background-color: #ffffff;
	border: 1px solid #ff5353;
	box-sizing: border-box;
	border-radius: .75em;
  padding: 1em;
	margin-bottom: 30px;
	text-align: center;
	color: #ff5353;
}

.mailform-setup-alart strong {
	display: block;
	text-align: center;
	margin-bottom: 10px;
}

.mailform-setup-alart p {
	margin: 0;
	padding: 0;
}

.mailform-box {
	background-color: #f2f2f2;
	padding: 30px !important;
	margin-bottom: 30px !important;
	box-sizing: border-box;
	border-radius: 5px;
	margin-top: 50px;
}

.mailform-box .title {
	font-size: var(--fs-2l);
	display: block;
	padding-bottom: 10px;
	color: #ff6b6b;
	background-image: url("../image/contact/icon-mailplus.png");
	background-repeat: no-repeat;
	background-position: left 2px top 0;
	padding-left: 60px;
}

.mailform-box p {
	margin: 0 !important;
	padding: 0 !important;
}

.sentok {
	font-size: var(--fs-3l);
	text-align: center;
	color: #ff6b6b;
}

.add {
	border: 1px solid #ccc;
	background: #fff;
	border-radius: 3px;
	width: 200px;
	height: 36px;
	margin-top: 5px;
}

.s_name {
	display: block;
	margin-bottom: 10px;
}

.button-limit {
	display: none !important;
}

.ip_2s { width: 10%; min-width: 3em; }
.ip_s { width: 15%; }
.ip_m { width: calc(25% - .25em); }
.ip_l { width: calc(50% - .25em); }
.ip_2l { width: 75%; }
.ip_max { width: 100%; }
@media screen and (max-width:640px) {
  .ip_2s { width: 15%; min-width: 3em; }
  .ip_s { width: 25%; }
  .ip_m { width: calc(50% - .25em); }
  .ip_l { width: calc(50% - .25em); }
  .ip_2l { width: 100%; }
}


/* select */

.mailform-layout select {
	border: 1px solid #cccccc;
	padding: .35em;
  margin: .5em 0;
	box-sizing: border-box;
	border-radius: 3px;
}

/* textarea */

.mailform-layout textarea {
	width: 100%;
	border: 1px solid #cccccc;
	padding: .35em;
  margin: .5em 0;
	box-sizing: border-box;
	border-radius: 3px;
}

/* input - text,tel,email,number */

input[type=text],
input[type=tel],
input[type=email],
input[type=number] {
	border: 1px solid #cccccc;
	padding: .35em;
  margin: .5em 0;
	box-sizing: border-box;
	border-radius: 3px;
}
input[type=email] {
  width: 100%;
}

/* input - radio */

input[type=radio] {
	position: absolute;
  opacity: 0;
  z-index: -1; 
}
input[type=radio]+label {
	display:block;
	cursor:pointer;
	margin-top:0.25em;
	margin-bottom:0.25em;
	font-family:inherit;
}

input[type=radio]+label:before {
	width:1.25em;
	height:1.25em;
	display:inline-block;
	content:"";
	border-radius:1.25em;
	vertical-align:middle;
	border:2px solid #c8c8c8;
	background-color:#fff;
	margin:-2px 5px 0 0;
	-webkit-transition:border-color ease-in-out .15s, background-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
	-o-transition:border-color ease-in-out .15s, background-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
	transition:border-color ease-in-out .15s, background-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
}

input[type=radio]:hover+label:before {
	border-color:#c8c8c8;
	background-color:#c8c8c8;
	box-shadow:inset 0 0 0 0.25em #fff;
}

input[type=radio]:checked+label:before {
	border-color:#4593ea;
	background-color:#4593ea;
	box-shadow:inset 0 0 0 0.25em #fff;
}

.radio-group label {
	margin-right:1.5em;
}

.radio-group li {
	float: left;
}

/* input - checkbox */

.chk-group {
	position: relative;
	bottom: -0.25em !important;
	display: block;
}

.chk-group li {
	display: inline-block;
	padding-right: 1.1em;
}

.chk-group li label {
  display: block;
  position: relative;
  padding-left: 1.5em;
  padding-bottom: 0.25em;
  cursor: pointer;
}
.chk-group li label input {
  position: absolute;
  z-index: -1;
  opacity: 0;
}
.indicator {
  position: absolute;
  top: 0.3em;
  left: 0;
  height: 1em;
  width: 1em;
  background: #ddd;
  border-radius: 0.1em;
}
.chk-group li label:hover input ~ .indicator,
.chk-group li label input:focus ~ .indicator {
  background: #bbb;
}
.chk-group li label input:checked ~ .indicator {
  background: #4593ea;
}
.chk-group li label:hover input:not([disabled]):checked ~ .indicator,
.chk-group li label input:checked:focus ~ .indicator {
  background: #4593ea;
}
.chk-group li label input:disabled ~ .indicator {
  background: #ddd;
  opacity: 0.6;
  pointer-events: none;
}
.indicator:after {
  content: '';
  position: absolute;
  display: none;
}
.chk-group li label input:checked ~ .indicator:after {
  display: block;
}
.chk-group li .checkbox .indicator:after {
  left: 0.4em;
  top: 0.25em;
  width: 0.2em;
  height: 0.4em;
  border: solid #fff;
  border-width: 0 0.1em 0.1em 0;
  transform: rotate(45deg);
}
.chk-group li .checkbox input:disabled ~ .indicator:after {
  border-color: #7b7b7b;
}

/* item - age */

.mailform-layout ul.age {
}

.mailform-layout ul.age li {
	float: left;
	width: 100px;
	margin-right: 5px;
}
.mailform-layout ul.age li input {
	width: 70px;
	border: 1px solid #cccccc;
	padding: 10px;
	box-sizing: border-box;
	border-radius: 3px;
	margin-right: 5px;
}

.mailform-layout ul.age li:nth-of-type(1) {
	width: 120px
}

.mailform-layout ul.age li:nth-of-type(1) input {
	width: 90px;
}

/* item - postcode */

.mailform-layout .postcode {
	display: block;
	padding-bottom: 10px;
}

.mailform-layout .postcode input {
	border: 1px solid #cccccc;
	padding: 10px;
	box-sizing: border-box;
	border-radius: 3px;
	margin-right: 5px;
}

.mailform-layout .postcode input:nth-of-type(1) {
	width: 60px;
}
.mailform-layout .postcode input:nth-of-type(2) {
	width: 80px;
}

.mailform-layout .postcode+input {
	width: 100%;
}

/* submit-button */

.submit-button {
  display: flex;
  justify-content: center;
  align-items: center;
	text-align: center;
	margin: 40px 0 80px;
}

.submit-button button,
.submit-button .top-back-btn {
  padding: .75em 1.5em;
  transition: all .3s;
  background-color: rgba(var(--acolor-5),1);
  border: 1px solid rgba(var(--acolor-5),1);
  border-radius: 50px;
  color: #fff;
  font-weight: bold;
  text-decoration: none;
}

.submit-button button:hover,
.submit-button .top-back-btn:hover {
	background-color: #fff;
	color: rgba(var(--acolor-5),1);
}

.submit-button button.form-back-btn {
  padding: .75em 1.5em;
  transition: all .3s;
  background-color: #ccc;
  border: 1px solid #ccc;
  border-radius: 50px;
  color: #666;
  font-weight: bold;
  margin-right: 1em;
}

.submit-button button.form-back-btn:hover {
	background-color: #fff;
	color: #666;
  cursor: pointer;
}


/* Design Template
 simple - 下線のみのシンプルなレイアウト
 table - テーブルタグで作成したようなレイアウト
 portable - タブレットスタイルでポップなレイアウト
*/

/* design - simple */
.mailform-layout.simple {
  border-top: 2px solid #0d66ab;
}
.mailform-layout.simple .item {
	border-bottom: 1px solid #bbb;
}
.mailform-layout.simple .item .name {
  font-weight: bold;
}
@media screen and (max-width:900px) {
  .mailform-layout.simple .item .name {
    justify-content: flex-start;
    margin-bottom: 0.75em;
  }
}


/* design - table */

.mailform-layout.table .item {
	position: relative;
	border: 1px solid #e0e0e0;
	margin-top: -1px;
}

.mailform-layout.table .item .name {
	position: absolute;
	left: 0;
	width: 180px;
	height: 100%;
	background-color: #f5f5f5;
	box-sizing: border-box;
	padding: 15px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: left;
}

.mailform-layout.table .item .answer {
	padding: 15px;
	padding-left: 200px;
	box-sizing: border-box;
}

@media screen and (max-width: 900px) {
	.mailform-layout.table .item .name {
		width: 100%;
		display: block;
		position: relative;
		top: inherit;
		left: inherit;
	}
	.mailform-layout.table .item .answer {
		padding-left: 15px;
	}
}


/* design - portable */

.mailform-layout.portable .item {
	position: relative;
	margin-bottom: 10px;
}

.mailform-layout.portable .item .name {
	position: absolute;
	left: 0;
	width: 250px;
	height: 100%;
	background-color: #d2e7ff;
	border-radius: 5px;
	color: #333333;
	font-weight: bold;
	box-sizing: border-box;
	padding: 15px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: left;
}

.mailform-layout.portable .item .answer {
	padding: 15px;
	width: calc(100% - 260px);
	margin-left: 260px;
	box-sizing: border-box;
	border: 1px solid #eeeeee;
	border-radius: 5px;
	background-color: #ffffff;
}


/* form-flow */

.contact-flow {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 520px;
  margin: 0 auto 40px;
}

.contact-flow div::after {
  display: none;
}

.contact-flow-box {
  text-align: center;
  line-height: 1;
}

.contact-flow-box span {
  display: block;
  background-color: #888;
  padding: 0.4em 0.75em;
  margin-bottom: 0.75em;
  color: #fff;
  font-size: 87.5%;
}

.contact-flow-box.now {
  color: #0d66ab;
  font-weight: bold;
}

.contact-flow-box.now span {
  background-color: #0d66ab;
  color: #fff;
}

.contact-flow-point {
  display: block;
}

@media screen and (max-width:900px) {
  .contact-flow {
    width: 600px;
  }
}

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

  Footer
  
----------------------------------------------------------------------------------------------------*/
footer {
  background-color: rgba(var(--bcolor-4),1);
  padding: 46px 0;
}

/* l-ft-information */
footer .l-ft-information {
  display: flex;
  align-content: center;
  justify-content: space-between;
  flex-wrap: wrap;
  padding-bottom: 36px;
  border-bottom: 1px solid rgba(var(--acolor-f),.6);
}

footer .l-ft-information .l-ft-logo {
  display: flex;
  align-items: center;
  width: 317px;
}

footer .l-ft-information address {
  width: calc(100% - 477px);
  padding: 0 2em;
  box-sizing: border-box;
  color: rgba(var(--acolor-f),1);
}

footer .l-ft-information .l-ft-sns {
  list-style: none;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  width: 160px;
}

footer .l-ft-information .l-ft-sns li {
  display: inline-block;
  width: 40px;
  margin-right: 1em;
}
footer .l-ft-information .l-ft-sns li:last-child {
  margin-right: 0;
}
footer .l-ft-information .l-ft-sns li a:hover {
  opacity: .7;
}

@media screen and (max-width:900px) {
  footer .l-ft-information .l-ft-logo {
    width: 100%;
    max-width: 317px;
    margin-bottom: 20px;
  }

  footer .l-ft-information address {
    width: calc(100% - 160px);
    padding-left: 0;
  }

  footer .l-ft-information .l-ft-sns {
    width: 160px;
  }
}

@media screen and (max-width:500px) {
  footer .l-ft-information address {
    width: 100%;    
  }
  
  footer .l-ft-information .l-ft-sns {
    width: 150px;
    margin-top: 1em;
    justify-content: flex-start;
  }
}

footer .l-ft-nav {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-top: 60px;
}

footer .l-ft-nav-list {
  list-style: none;
  width: 25%;
  box-sizing: border-box;
  padding-right: 1em;
}

@media screen and (max-width:700px) {
  footer .l-ft-nav-list {
    width: 50%;
    margin-bottom: 30px;
  }
}

@media screen and (max-width:500px) {
  footer .l-ft-nav {
    display: none;
  }
}

footer .l-ft-nav-list li {
  margin-bottom: 1em;
}

footer .l-ft-nav-list li ul {
  list-style: none;
  margin-top: 1em;
  margin-left: 1em;
  color: rgba(var(--acolor-f),6);
}

footer .l-ft-nav-list li a,
footer .l-ft-nav-list li .noLink {
  color: rgba(var(--acolor-f),1);
  text-decoration: none;
  font-weight: 700;
}

footer .l-ft-nav-list li ul a {
  color: rgba(var(--acolor-f),.6);
}

footer .l-ft-end {
  display: flex;
  justify-content: space-between;
  margin-top: 80px;
}

footer .l-ft-end-link {
  width: 14em;
  box-sizing: border-box;
  padding-right: 1em;
  color: rgba(var(--acolor-f),1);
  font-size: var(--fs-2s);
  text-decoration: none;
}

footer .l-ft-copy {
  line-height: 1;
  color: rgba(var(--bcolor-2),1);
  font-size: var(--fs-3s);
}

@media screen and (max-width:700px) {
  footer .l-ft-end {
    margin-top: 40px;
  }
}

@media screen and (max-width:500px) {
  footer .l-ft-end {
    flex-wrap: wrap;
  }

  footer .l-ft-copy {
    width: 100%;
    margin-top: .5em;
  }
}


/*--------------------------------------------------------------------------------
  Back to top
--------------------------------------------------------------------------------*/
.l-backtoTop-wrap {
  display: none;
  position: fixed;
  left: 0;
  bottom: 0;
  z-index: 90;
  width: 100%;
  min-width: var(--PC-min-width);
  pointer-events: none;
  text-align: right;
  margin-top: 0;
}
.l-backtoTop-wrap.is-noFix {
  display: block;
  position: relative;
  bottom: inherit;
  left: 0 !important;
  margin-top: -80px;
}
.l-backtoTop {
  display: inline-block;
  pointer-events: auto;
  width: 80px;
  height: 80px;
  cursor: pointer;
}
.l-backtoTop__icon {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.l-backtoTop__icon:after {
  content: "";
  display: inline-block;
  width: 14px;
  height: 14px;
  margin-top: 7px;
  border-top: 2px solid rgba(var(--acolor-3),1);
  border-right: 2px solid rgba(var(--acolor-3),1);
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
@media screen and (max-width:900px) {  
  .l-backtoTop-wrap {
    position: absolute;
    min-width: inherit;
    bottom: 0;
    top: 0.5em;
    left: 0 !important;
  }
  .l-backtoTop {
    width: 4em;
    height: 4em;
  }
  .l-backtoTop__icon:after {
    width: 12px;
    height: 12px;
    margin-top: 6px;
  }
}
