@charset "UTF-8";
/* CSS Document */


/*top*/
.top .slide_box {
  position: relative;
  max-width: 100%;
  /*height: 700px;*/
}
.top .slide_box .slide_wrap {
  position: relative;
  max-width: 100%;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.top .slide_box .slick-list {
  overflow: visible;
}
.top .slide_box .slide {
  position: relative;
  /*height: 100%;*/
  /*overflow: hidden;*/
  max-width: 1900px;
}
@media screen and (max-width: 1900px) {
  .top .slide_box .slide_wrap {
    position: relative;
    max-width: 100%;
    display: block;
  }
  .top .slide_box .slick-list {
    overflow: inherit;
  }
  .top .slide_box .slide {
    max-width: 100%;
  }
}
.top .slide_box .slide div {
  /*height: 100% !important;*/
}
.top .slide_box .slide ,
.top .slide_box .slide p ,
.top .slide_box .slide p picture {
  /*width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;*/
}
/*.top .slide_box .slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}*/
.top .slide_box .cetch {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
  width: 200px;
}
.top .slide_box .netbank {
	position: absolute;
  bottom: 45px;
  right: 0;
  z-index: 5;
  width: 180px;
}
.top .slide_box .dots {
  position: relative;
  bottom: 0;
  left: 0;
  z-index: 10;
  padding: 0 40px;
  padding-top: 45px;
  width: 100%;
  height: 15px;
  display: flex;
  justify-content: center;
}
.top .slide_box .dots ul {
  position: relative !important;
  bottom: inherit !important;
  right: inherit !important;
  display: flex;
  height: 15px;
}
.top .slide_box .dots ul li {
  position: relative;
  cursor: pointer;
  margin: 0 20px;
  height: 15px;
}
.top .slide_box .dots ul li button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
  padding: 0;
  border: none;
  width: 15px;
  height: 15px;
  background: rgba(127, 127, 127, 1);
  cursor: pointer;
  border-radius: 50%;
}
.top .slide_box .dots ul li.slick-active button {
  background: rgba(64, 64, 64, 1);
}
.top .slide_box .dots ul li button::before {
  display: none !important;
}

.top .new_post {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 150px 20px 150px;
}
.top .new_post::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #FFF;
  border-radius: 0 0 50px 50px;
  content: '';
}
.top .new_post .box {
  position: relative;
  z-index: 1;
  max-width: 1240px;
  display: flex;
  align-items: baseline;
  background: #e0dcc6;
  padding: 20px;
  border-radius: 20px;
}
.top .new_post .box .cat {
  width: 200px;
}
.top .new_post .box .cat a {
  display: block;
  width: 100%;
  text-align: center;
  font-size: 1.8rem;
  font-weight: 700;
  padding: .2em 1em;
  background: #cf5d5b;
  color: #FFF;
  pointer-events: none;
  border-radius: 40px;
}
.top .new_post .box time {
  width: 200px;
  text-align: center;
  font-size: 1.6rem;
  letter-spacing: .1em;
}
.top .new_post .box .post-title {
  width: calc(100% - (200px + 200px));
}
.top .new_post .box .post-title a {
  font-size: 1.8rem;
  letter-spacing: .1em;
}
.top .trouble {
  position: relative;
  padding: 80px 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.top .trouble::before {
  position: absolute;
  top: -80px;
  left: 0;
  z-index: -1;
  width: 100%;
  height: calc(100% + (80px * 2));
  background: url(../img/top/trouble_bg.jpg) repeat center center;
  content: '';
}
.top .trouble h3 {
  font-size: 4.0rem;
  font-weight: 900;
  margin-bottom: .4em;
}
.top .trouble h3 span {
  font-size: 5.0rem;
  font-weight: 900;
}
.top .trouble ul {
  display: flex;
  gap: 20px;
}
.top .trouble ul li {
  width: 375px;
}
.top .purpose {
  position: relative;
  z-index: 1;
  padding: 80px 20px 200px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.top .purpose::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #FFF;
  border-radius: 70px 70px 0 0;
  content: '';
}
.top .purpose .box {
  position: relative;
  z-index: 1;
  width: 1200px;
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
}
.top .purpose .box h3 ,
.top .purpose .box section {
  width: calc((100% - (30px * 3)) / 4);
  aspect-ratio: 11 / 10;
}
.top .purpose .box h3 {
  background: #539466;
  border-radius: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.top .purpose .box h3 span {
  display: block;
  width: 185px;
}
.top .purpose .box section a {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  background: #e2eac4;
  border-radius: 20px;
  height: 100%;
}
.top .purpose .box section a p {
  width: 125px;
  margin-bottom: 15px;
}
.top .purpose .box section a h4 {
  font-size: 2.2rem;
  font-weight: 700;
}
.top .pickup {
  position: relative;
  z-index: 1;
  background: url(../img/top/pickup_wave_bg.jpg) repeat center center;
  margin-bottom: 120px;
}
.top .pickup::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  background: url(../img/top/pickup_wave_top.svg) repeat-x left top , url(../img/top/pickup_wave_bottom.svg) repeat-x left bottom;
  content: '';
}
.top .pickup .box {
  position: relative;
  padding: 100px 0 100px;
}
.top .pickup .box h3 {
  position: absolute;
  top: -100px;
  left: 0;
  right: 0;
  z-index: 1;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  padding-top: 70px;
}
.top .pickup .box h3::before {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 50px;
  height: 50px;
  background: url(../img/top/pickup_icon.svg) no-repeat center center;
  background-size: cover;
  content: '';
}
.top .pickup .box h3 span ,
.top .pickup .box h3 em {
  display: block;
  line-height: 1em;
}
.top .pickup .box h3 span {
  font-size: 4.0rem;
  font-weight: 700;
  letter-spacing: .1em;
}
.top .pickup .box h3 em {
  font-size: 2.0rem;
  letter-spacing: .05em;
  padding-top: .6em;
  text-transform: uppercase;
}
.top .pickup .box .pickup_slide {
  position: relative;
  width: 100vw;
  margin: 0 auto;
  overflow: hidden;
}
.top .pickup .box .pickup_slide .pickup_slide_box {
  position: relative;
  z-index: 1;
}
.top .pickup .box .pickup_slide .pickup_slide_box section {
  position: relative;
  display: flex !important;
  flex-direction: column;
  width: 400px !important;
  height: 100% !important;
  background: #FFF;
  border-radius: 0 0 25px 25px;
  box-shadow: 6px 6px 6px 0px rgba(0, 0, 0, 0.45);
}
.top .pickup .box .pickup_slide .pickup_slide_box section::after {
  position: absolute;
  right: 20px;
  bottom: 20px;
  width: 30px;
  height: 30px;
  background: url(../img/top/pickup_arrow.svg) no-repeat center center;
  background-size: cover;
  content: '';
}
.top .pickup .box .pickup_slide .pickup_slide_box section .box_in {
  position: relative;
  padding: 10px 30px 30px;
}
.top .pickup .box .pickup_slide .pickup_slide_box section .box_in time {
  display: block;
  font-size: 1.4rem;
  margin-bottom: .4em;
}
.top .pickup .box .pickup_slide .pickup_slide_box section .box_in h4 {
  font-size: 1.6rem;
  font-weight: 500;
}
.top .pickup .box .pickup_slide .pickup_slide_box .slick-list {
  overflow: visible;
  padding-bottom: 50px !important;
}
.top .pickup .box .pickup_slide .pickup_slide_box .slick-track {
  display: flex;
}
.top .pickup .box .pickup_slide .pickup_slide_box .slick-slide {
  height: auto !important;
  margin: 0 20px;
}
.top .pickup .box .pickup_slide .pickup_slide_box .slick-slide > div {
  height: 100% !important;
}
.top .pickup .box .pickup_slide .arrow_box {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.top .pickup .box .pickup_slide .arrow_box .prev-arrow ,
.top .pickup .box .pickup_slide .arrow_box .next-arrow {
  position: absolute;
	top: 50%;
	transform: translateY(-50%);
  z-index: 1;
  transition: all .3s ease;
  cursor: pointer;
  width: 30px;
  height: 30px;
}
.top .pickup .box .pickup_slide .arrow_box .prev-arrow {
  left: 20px;
  background: url(../img/top/pickup_slide-prev.svg) no-repeat center center;
  background-size: cover;
}
.top .pickup .box .pickup_slide .arrow_box .next-arrow {
  right: 20px;
  background: url(../img/top/pickup_slide-next.svg) no-repeat center center;
  background-size: cover;
}
.top .greeting {
  position: relative;
  height: 720px;
  padding-top: 30px;
}
.top .greeting::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  background: url(../img/top/greeting_img.jpg) no-repeat center center;
  background-size: cover;
  mask-image: url(../img/top/greeting_img_mask.svg);
  mask-repeat: no-repeat;
  mask-position: center top;
  mask-size: cover;
  content: '';
}
.top .greeting .catch {
  width: 575px;
  margin: 0 auto;
  margin-bottom: 30px;
}
.top .greeting .box {
  display: flex;
}
.top .greeting .box a {
  display: flex;
  width: 100%;
  height: 100%;
}
.top .greeting .box a .box_in {
  position: relative;
  left: calc(50% - 30px);
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
.top .greeting .box a .box_in h3 {
  width: 340px;
  aspect-ratio: 1;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #FFF;
  margin-bottom: 50px;
}
.top .greeting .box a .box_in h3 span {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
.top .greeting .box a .box_in h3 span em {
  display: block;
  text-align: center;
  line-height: 1.25;
  font-size: 3.2rem;
  font-weight: 900;
  letter-spacing: .075em;
  color: #d78b32;
  margin-bottom: .2em;
}
.top .greeting .box a .box_in h3 span i {
  display: block;
  text-align: center;
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: .075em;
}
.top .greeting .box a .box_in p {
  position: relative;
  display: block;
  background: #FFF;
  border: solid 1px #3c1d07;
  padding: .2em 2em;
  border-radius: 1.5em;
  font-size: 1.5rem;
}
.top .greeting .box a .box_in p span {
  position: relative;
  display: block;
  padding-right: 1.7em;
}
.top .greeting .box a .box_in p span::after {
  position: absolute;
	top: 50%;
	transform: translateY(-50%);
  right: 0;
  width: 1.2em;
  height: 1.2em;
  background: url(../img/top/greeting_btn_arrow.svg) no-repeat center center;
  background-size: cover;
  content: '';
}
.top .greeting .box a:hover .box_in p {
  background: #3c1d07;
  border: solid 1px #3c1d07;
  color: #FFF;
}
.top .greeting .box a:hover .box_in p span::after {
  background: url(../img/top/greeting_btn_arrow-reverse.svg) no-repeat center center;
  background-size: cover;
  content: '';
}
.top .recruit {
  padding-top: 280px;
}
.top .recruit .bg_sky {
  position: relative;
  padding-top: 160px;
}
.top .recruit .bg_sky::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 440px;
  background: url(../img/top/recruit_sky_bg_w.jpg) no-repeat center center;
  background-size: cover;
  content: '';
}
.top .recruit .bg_sky h3 {
  position: absolute;
  top: -90px;
  left: 0;
  right: 0;
  z-index: 1;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  padding-top: 70px;
}
.top .recruit .bg_sky h3::before {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 50px;
  height: 50px;
  background: url(../img/top/recruit_icon.svg) no-repeat center center;
  background-size: cover;
  content: '';
}
.top .recruit .bg_sky h3 span ,
.top .recruit .bg_sky h3 em {
  display: block;
  line-height: 1em;
}
.top .recruit .bg_sky h3 span {
  font-size: 4.0rem;
  font-weight: 700;
  letter-spacing: .1em;
}
.top .recruit .bg_sky h3 em {
  font-size: 2.0rem;
  letter-spacing: .05em;
  padding-top: .6em;
  text-transform: uppercase;
}
.top .recruit .bg_sky .img_title {
  position: relative;
  max-width: 1440px;
  padding-left: 20px;
  padding-right: 20px;
  margin: 0 auto;
}
.top .recruit .bg_sky .img_title::before {
  position: absolute;
  top: 0;
  left: 20px;
  z-index: -1;
  width: calc(1440px - (20px * 2));
  height: 100%;
  overflow: hidden;
  border-radius: 40px;
  background: #FFF;
  display: block;
  content: '';
}
.top .recruit .bg_sky .img_title a {
  position: relative;
  display: block;
}
.top .recruit .bg_sky .img_title a .img {
  display: block;
  overflow: hidden;
  border-radius: 40px;
}
.top .recruit .bg_sky .img_title a .title {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}
.top .recruit .bg_sky .img_title a .title::before {
	position: absolute;
  top: 15px;
  left: 15px;
  z-index: -1;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, .6);
  content: '';
}
.top .recruit .bg_sky .img_title a .title h4 {
  position: relative;
  width: 560px;
  height: 145px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.top .recruit .bg_sky .img_title a .title h4::before {
  position: absolute;
  top: 0;
  left: 0;
  width: calc(100% - 20px);
  height: calc(100% - 20px);
  border-top: solid 1px #3c1d07;
  border-left: solid 1px #3c1d07;
  content: '';
}
.top .recruit .bg_sky .img_title a .title h4::after {
  position: absolute;
  bottom: 0;
  right: 0;
  width: calc(100% - 20px);
  height: calc(100% - 20px);
  border-bottom: solid 1px #3c1d07;
  border-right: solid 1px #3c1d07;
  content: '';
}
.top .recruit .bg_sky .img_title a .title h4 span {
  display: block;
  width: 480px;
}
.top .recruit .bg_sky .img_title a .btn {
  position: absolute;
  bottom: 70px;
  right: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.top .recruit .bg_sky .img_title a .btn span {
  position: relative;
  display: block;
  background: #FFF;
  border: solid 1px #3c1d07;
  padding: .2em 2em;
  border-radius: 1.5em;
  font-size: 1.5rem;
}
.top .recruit .bg_sky .img_title a .btn span em {
  position: relative;
  display: block;
  padding-right: 1.7em;
}
.top .recruit .bg_sky .img_title a .btn span em::after {
  position: absolute;
	top: 50%;
	transform: translateY(-50%);
  right: 0;
  width: 1.2em;
  height: 1.2em;
  background: url(../img/top/greeting_btn_arrow.svg) no-repeat center center;
  background-size: cover;
  content: '';
}
.top .recruit .bg_sky .img_title a:hover .btn span {
  background: #3c1d07;
  border: solid 1px #3c1d07;
  color: #FFF;
}
.top .recruit .bg_sky .img_title a:hover .btn span em::after {
  background: url(../img/top/greeting_btn_arrow-reverse.svg) no-repeat center center;
  background-size: cover;
  content: '';
}
.top .info {
  padding: 0 20px;
  padding-top: 300px;
}
.top .info .box {
  position: relative;
  width: 1440px;
  margin: 0 auto;
  background: rgba(229, 229, 230, .6);
  border-radius: 40px;
  padding: 150px 80px 60px;
}
.top .info .box h3 {
  position: absolute;
  top: -100px;
  left: 0;
  right: 0;
  z-index: 1;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  padding-top: 70px;
}
.top .info .box h3::before {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 50px;
  height: 50px;
  background: url(../img/top/info_icon.svg) no-repeat center center;
  background-size: cover;
  content: '';
}
.top .info .box h3 span ,
.top .info .box h3 em {
  display: block;
  line-height: 1em;
}
.top .info .box h3 span {
  font-size: 4.0rem;
  font-weight: 700;
  letter-spacing: .1em;
}
.top .info .box h3 em {
  font-size: 2.0rem;
  letter-spacing: .05em;
  padding-top: .6em;
  text-transform: uppercase;
}
.top .info .box .tab_box {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 50px;
}
.top .info .box .tab_box > label {
  order: -99;
  display: block;
  cursor: pointer;
  width: calc((100% - (60px * 3)) / 4);
}
.top .info .box .tab_box > label:not(:last-of-type) {
  margin-right: 60px;
}
.top .info .box .tab_box > label input {
  display: none;
}
.top .info .box .tab_box > label span ,
.top .info .box .tab_box > label a {
  display: block;
  padding: .5em 1em;
  text-align: center;
  border-radius: 30px 30px 0 0;
  color: #FFF;
  font-size: 2.0rem;
  font-weight: 700;
  letter-spacing: .075em;
}
.top .info .box .tab_box > label.new span {
  background: #cf5d5b
}
.top .info .box .tab_box > label.important span {
  background: #4467bb
}
.top .info .box .tab_box > label.topics span {
  background: #d27e2f
}
.top .info .box .tab_box > label.electronic a {
  background: #71a54c
}
.top .info .box .tab_box > .info_list {
  display: none;
  padding-top: 70px;
  width: 100%;
}
.top .info .box .tab_box > label:has(:checked) {
  opacity: 1;
}
.top .info .box .tab_box > label:has(:checked) + .info_list {
  display: block;
}
.top .info .box .tab_box > .info_list section {
  display: flex;
  background: rgba(255, 255, 255, .3);
  border-radius: 2em;
  overflow: hidden;
}
.top .info .box .tab_box > .info_list section:not(:last-of-type) {
  margin-bottom: 15px;
}
.top .info .box .tab_box > .info_list section .cat {
  width: 200px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.top .info .box .tab_box > .info_list section .cat a {
  width: 100%;
  height: 100%;
  background: #FFF;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.8rem;
  font-weight: 700;
  padding: .2em 0;
  letter-spacing: .075em;
  border-radius: 0 1.5em 1.5em 0;
  flex-grow:1;
}
.top .info .box .tab_box > .info_list section .cat.new a {
  color: #cf5d5b;
}
.top .info .box .tab_box > .info_list section .cat.important a {
  color: #4467bb
}
.top .info .box .tab_box > .info_list section .cat.topics a {
  color: #d27e2f
}
.top .info .box .tab_box > .info_list section .cat.electronic a {
  color: #71a54c
}
.top .info .box .tab_box > .info_list section time {
  width: 150px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.6rem;
  letter-spacing: .1em;
}
.top .info .box .tab_box > .info_list section .post-title {
  display: flex;
  align-items: center;
  width: calc(100% - (200px + 150px));
  font-size: 1.8rem;
  letter-spacing: .05em;
  padding-right: 2em;
}
.top .info .box .btn {
  display: flex;
  align-items: center;
  justify-content: center;
}
.top .info .box .btn a {
  position: relative;
  display: block;
  background: #FFF;
  border: solid 1px #3c1d07;
  padding: .2em 2em;
  border-radius: 1.5em;
  font-size: 1.4rem;
}
.top .info .box .btn a span {
  position: relative;
  display: block;
  padding-right: 1.7em;
}
.top .info .box .btn a span::after {
  position: absolute;
	top: 50%;
	transform: translateY(-50%);
  right: 0;
  width: 1.2em;
  height: 1.2em;
  background: url(../img/top/greeting_btn_arrow.svg) no-repeat center center;
  background-size: cover;
  content: '';
}
.top .info .box .btn a:hover {
  background: #3c1d07;
  border: solid 1px #3c1d07;
  color: #FFF;
}
.top .info .box .btn a:hover span::after {
  background: url(../img/top/greeting_btn_arrow-reverse.svg) no-repeat center center;
  background-size: cover;
  content: '';
}
.top .sub_btn {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 20px;
  padding-top: 140px;
  padding-bottom: 260px;
  display: flex;
  gap: 50px;
}
.top .sub_btn section {
  width: 100%;
}
.top .sub_btn section a {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: #e2eac4;
  border-radius: 40px;
  padding: 60px 10px 50px;
}
.top .sub_btn section a p {
  width: 85px;
  margin-bottom: 40px;
}
.top .sub_btn section a h3 {
  font-size: 2.0rem;
  font-weight: 700;
}
.top .banner {
  padding: 0 20px;
}
.top .banner ul {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
}
.top .banner ul li img {
  width: auto;
  height: 60px;
}
.top .city_link {
  padding: 0 20px;
  padding-top: 50px;
  padding-bottom: 150px;
}
.top .city_link ul {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
}
.top .city_link ul li {
  position: relative;
  font-size: 1.4rem;
  padding: 0 .7em;
}
.top .city_link ul li + li {
  margin-left: -1px;
}
.top .city_link ul li::before ,
.top .city_link ul li::after {
  position: absolute;
  top: .2em;
  width: 1px;
  height: calc(100% - (.2em * 2));
  background: #666;
  content: '';
}
.top .city_link ul li::before {
  left: 0;
}
.top .city_link ul li::after {
  right: 0;
}



/*strengths*/
.strengths .main_img {
  position: relative;
  height: 590px;
  overflow: hidden;
}
.strengths .main_img .img ,
.strengths .main_img picture {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
}
.strengths .main_img picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.strengths .main_img h3 {
  position: absolute;
  top: 120px;
  right: 0;
  left: 0;
  margin: 0 auto;
  width: 330px;
}
.strengths main {
  background: none;
  padding-bottom: 0;
}
.strengths main .catch {
  position: relative;
  background: #fbf3dc;
  padding-top: 200px;
  padding-bottom: 240px;
}
.strengths main .catch h3 {
  position: absolute;
  top: calc(-1em - 1em);
  right: 0;
  left: 0;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  font-size: 2.5rem;
}
.strengths main .catch h3 span ,
.strengths main .catch h3 em {
  display: block;
  line-height: 1em;
  font-size: 2.5rem;
  font-weight: 900;
  letter-spacing: .13em;
}
.strengths main .catch h3 span {
  color: #FFF;
  margin-bottom: 2em;
}
.strengths main .catch .sub_catch {
  display: flex;
  justify-content: center;
  margin-bottom: 150px;
}
.strengths main .catch .sub_catch .img {
  width: 275px;
  margin-right: 80px;
}
.strengths main .catch .sub_catch .comment {
  font-size: 2.0rem;
  line-height: 2.0;
  letter-spacing: .06em;
}
.strengths main .catch .box {
  overflow: hidden;
}
.strengths main .catch .box section {
  position: relative;
  z-index: 1;
  height: 440px;
  max-width: 1400px;
  padding: 0 20px;
  margin: 0 auto;
  display: flex;
}
.strengths main .catch .box section::before {
  position: absolute;
  top: 0;
  z-index: -1;
  width: calc(100vw - 50%);
  height: 100%;
  content: '';
}
.strengths main .catch .box section:nth-of-type(1):before {
  left: 50%;
  background: #f08232;
}
.strengths main .catch .box section:nth-of-type(2):before {
  left: -50%;
  background: #e85e73;
}
.strengths main .catch .box section h4 {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}
.strengths main .catch .box section h4 span {
  display: block;
  font-family: "Zen Old Mincho", serif;
  font-size: 3.0rem;
  font-weight: 700;
  color: #539466;
  line-height: 1.2;
  padding: .2em .4em;
  background: #FFF;
}
.strengths main .catch .box section .box_in {
  background: #FFF;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50%;
}
.strengths main .catch .box section:nth-of-type(odd) .box_in {
  order: -99;
  border-radius: 200px 0 0 0;
}
.strengths main .catch .box section:nth-of-type(even) .box_in {
  order: 99;
  border-radius: 0 0 200px 0;
}
.strengths main .catch .box section .box_in p {
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: .03em;
  max-width: 300px;
}
.strengths main .catch .box section .img {
  width: 50%;
  height: 100%;
  overflow: hidden;
}
.strengths main .catch .box section:nth-of-type(odd) .img {
  order: 99;
}
.strengths main .catch .box section:nth-of-type(even) .img {
  order: -99;
}
.strengths main .catch .box section .img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.strengths main .strong-point {
  position: relative;
  padding-top: 200px;
  padding-bottom: 140px;
  background: #e2eac4;
}
.strengths main .strong-point h3 {
  position: absolute;
  top: -90px;
  left: 0;
  right: 0;
  z-index: 1;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  padding-top: 70px;
}
.strengths main .strong-point h3::before {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 50px;
  height: 50px;
  background: url(../img/strengths/strong-point-icon.svg) no-repeat center center;
  background-size: cover;
  content: '';
}
.strengths main .strong-point h3 span ,
.strengths main .strong-point h3 em {
  display: block;
  line-height: 1em;
}
.strengths main .strong-point h3 span {
  font-size: 4.0rem;
  font-weight: 700;
  letter-spacing: .1em;
}
.strengths main .strong-point h3 em {
  font-size: 2.0rem;
  letter-spacing: .05em;
  padding-top: .6em;
  text-transform: uppercase;
}
.strengths main .strong-point .box .box_in {
  margin-bottom: 25px;
  background: #fffde9;
  padding: 80px 90px 120px;
  display: flex;
  border-radius: 25px;
}
.strengths main .strong-point .box .box_in section {
  position: relative;
  width: calc((100% - (100px * 2)) / 3);
  display: flex;
  flex-direction: column;
}
.strengths main .strong-point .box .box_in section:not(:last-of-type) {
  margin-right: 100px;
}
.strengths main .strong-point .box .box_in section .number {
  position: absolute;
  top: calc(-80px - (70px / 2));
  left: 0;
  width: 100%;
  height: 70px;
  display: flex;
  align-items: center;
  justify-content: center;
  content: '';
}
.strengths main .strong-point .box .box_in section .number span {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fffde9;
  height: 100%;
  line-height: 1em;
  font-size: 1.4rem;
  font-weight: 700;
  border-radius: calc(70px / 2);
  padding: 0 2.85em;
}
.strengths main .strong-point .box .box_in section .number span em {
  font-family: "Domine", serif;
  font-size: 5.0rem;
  font-weight: 700;
  color: #c2302d;
  margin: 0 .4em;
}
.strengths main .strong-point .box .box_in section h4 {
  text-align: center;
  font-size: 2.6rem;
  font-weight: 900;
  letter-spacing: .06em;
  color: #539466;
  margin-bottom: .6em;
}
.strengths main .strong-point .box .box_in section .img {
  margin-bottom: 40px;
}
.strengths main .strong-point .box .box_in section .img span {
  display: block;
  border-radius: 20px;
  overflow: hidden;
}
.strengths main .strong-point .box .box_in section .comment {
  padding: 0 20px;
  margin-bottom: 40px;
  font-size: 1.8rem;
}
.strengths main .strong-point .box .box_in section .btn {
  padding: 0 20px;
  margin-top: auto;
}
.strengths main .strong-point .box .box_in section .btn a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  background: #539466;
  border: solid 1px #539466;
  font-size: 2.0rem;
  line-height: 1em;
  color: #FFF;
  padding: .8em .5em;
  border-radius: 1.5em;
}
.strengths main .strong-point .box .box_in section .btn a span {
  position: relative;
  display: block;
  padding-left: 1.5em;
  font-weight: 700;
}
.strengths main .strong-point .box .box_in section .btn a span::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 1em;
  height: 1em;
  background: url(../img/strengths/strong-point-arrow.svg) no-repeat center center;
  background-size: cover;
  content: '';
}
.strengths main .strong-point .box .box_in section .btn a:hover {
  background: #FFF;
  border: solid 1px #539466;
  color: #539466;
}
.strengths main .strong-point .box .box_in section .btn a:hover span::before {
  background: url(../img/strengths/strong-point-arrow-reverse.svg) no-repeat center center;
  background-size: cover;
  content: '';
}



/*about*/
.about .main_img {
  position: relative;
  height: 765px;
  overflow: hidden;
}
.about .main_img::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  background: url(../img/about/main_img_w.jpg) no-repeat center center;
  background-size: cover;
  mask-image: url(../img/about/main_img_mask.svg);
  mask-repeat: no-repeat;
  mask-position: center bottom;
  mask-size: cover;
  content: '';
}
.about .main_img .cetch {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
  width: 140px;
}
.about main {
  background: none;
  padding-bottom: 0;
}
.about main .message {
  position: relative;
  padding: 0 20px;
  padding-top: 150px;
  padding-bottom: 120px;
  display: flex;
  justify-content: center;
}
.about main .message h3 {
  position: absolute;
  top: -50px;
  left: 0;
  right: 0;
  z-index: 1;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  padding-top: 70px;
}
.about main .message h3::before {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 50px;
  height: 50px;
  background: url(../img/about/message_icon.svg) no-repeat center center;
  background-size: cover;
  content: '';
}
.about main .message h3 span ,
.about main .message h3 em {
  display: block;
  line-height: 1em;
}
.about main .message h3 span {
  font-size: 4.0rem;
  font-weight: 700;
  letter-spacing: .1em;
}
.about main .message h3 em {
  font-size: 2.0rem;
  letter-spacing: .05em;
  padding-top: .6em;
  text-transform: uppercase;
}
.about main .message .box {
  display: flex;
  justify-content: center;
}
.about main .message .box .comment {
  order: 99;
  max-width: 610px;
  font-size: 1.8rem;
  letter-spacing: .03em;
}
.about main .message .box .comment p {
  font-weight: 500;
}
.about main .message .box .comment p:not(:last-of-type) {
  margin-bottom: 1.2em;
}
.about main .message .box .img_name {
  order: -99;
  margin-right: 80px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: column;
}
.about main .message .box .img_name .img {
  width: 180px;
  margin-bottom: 10px;
}
.about main .message .box .img_name .name {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
.about main .message .box .img_name .name em ,
.about main .message .box .img_name .name span {
  display: block;
  text-align: center;
  letter-spacing: .03em;
}
.about main .message .box .img_name .name em {
  font-size: 1.4rem;
  font-weight: 500;
  margin-bottom: .2em;
}
.about main .message .box .img_name .name span {
  font-size: 2.2rem;
  font-weight: 900;
}
.about main .philosophy ,
.about main .tagline ,
.about main .vision {
  position: relative;
  padding: 0 20px;
  padding-bottom: 100px;
  display: flex;
  justify-content: center;
}
.about main .philosophy h3 ,
.about main .tagline h3 ,
.about main .vision h3 {
  position: absolute;
  top: -25px;
  left: 0;
  right: 0;
  z-index: 1;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  padding-top: 70px;
}
.about main .philosophy h3::before ,
.about main .tagline h3::before ,
.about main .vision h3::before {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 50px;
  height: 50px;
  background: url(../img/about/philosophy_icon.svg) no-repeat center center;
  background-size: cover;
  content: '';
}
.about main .tagline h3::before {
  background: url(../img/about/philosophy_icon.svg) no-repeat center center;
  background-size: cover;
  content: '';
}
.about main .vision h3::before {
  background: url(../img/about/philosophy_icon.svg) no-repeat center center;
  background-size: cover;
  content: '';
}
.about main .philosophy h3 span ,
.about main .philosophy h3 em ,
.about main .tagline h3 span ,
.about main .tagline h3 em ,
.about main .vision h3 span ,
.about main .vision h3 em {
  display: block;
  line-height: 1em;
}
.about main .philosophy h3 span ,
.about main .tagline h3 span ,
.about main .vision h3 span {
  font-size: 4.0rem;
  font-weight: 700;
  letter-spacing: .1em;
}
.about main .philosophy h3 em ,
.about main .tagline h3 em ,
.about main .vision h3 em {
  font-size: 2.0rem;
  letter-spacing: .05em;
  padding-top: .6em;
  text-transform: uppercase;
}
.about main .philosophy .box ,
.about main .tagline .box ,
.about main .vision .box {
  background: #f4f2f1;
  border-radius: 30px;
  width: 1170px;
  padding: 180px 0 120px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
.about main .tagline .box h4 ,
.about main .vision .box h4 {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  margin-bottom: 15px;
}
.about main .tagline .box h4 * ,
.about main .vision .box h4 * {
  display: block;
  line-height: 1em;
}
.about main .tagline .box h4 span ,
.about main .vision .box h4 span {
  font-size: 2.8rem;
  font-weight: 800;
  margin-bottom: .4em;
}
.about main .tagline .box h4 em ,
.about main .vision .box h4 em {
  font-size: 1.8rem;
  font-weight: 500;
}
.about main .philosophy .box .box_in dl {
  display: flex;
  align-items: center;
}
.about main .philosophy .box .box_in dl:not(:last-of-type) {
  margin-bottom: 50px;
}
.about main .philosophy .box .box_in dl dt {
  position: relative;
  font-size: 2.8rem;
  font-weight: 800;
  letter-spacing: .1em;
  line-height: 1em;
  padding-right: 1.8em;
}
.about main .philosophy .box .box_in dl dt::after {
  position: absolute;
  top: 0;
  right: .35em;
  font-size: 2.8rem;
  font-weight: 300;
  line-height: 1em;
  content: '／';
}
.about main .philosophy .box .box_in dl dd {
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: .05em;
  line-height: 1.35;
}
.about main .tagline .box .box_in ul li ,
.about main .vision .box .box_in ul li {
  position: relative;
  padding-left: 1.2em;
}
.about main .tagline .box .box_in ul li::before ,
.about main .vision .box .box_in ul li::before {
  position: absolute;
  top: 0;
  left: 0;
  content: '1.';
}
.about main .greeting {
  position: relative;
  height: 720px;
  padding-top: 30px;
}
.about main .greeting::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  background: url(../img/top/greeting_img.jpg) no-repeat center center;
  background-size: cover;
  mask-image: url(../img/top/greeting_img_mask.svg);
  mask-repeat: no-repeat;
  mask-position: center top;
  mask-size: cover;
  content: '';
}
.about main .greeting .catch {
  width: 575px;
  margin: 0 auto;
  margin-bottom: 30px;
}
.about main .greeting .box {
  display: flex;
}
.about main .greeting .box .box_in {
  position: relative;
  left: calc(50% - 30px);
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
.about main .greeting .box .box_in h3 {
  width: 340px;
  aspect-ratio: 1;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #FFF;
  margin-bottom: 50px;
}
.about main .greeting .box .box_in h3 span {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
.about main .greeting .box .box_in h3 span em {
  display: block;
  text-align: center;
  line-height: 1.25;
  font-size: 3.2rem;
  font-weight: 900;
  letter-spacing: .075em;
  color: #d78b32;
  margin-bottom: .2em;
}
.about main .greeting .box .box_in h3 span i {
  display: block;
  text-align: center;
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: .075em;
}
.about main .greeting .box .box_in p a {
  position: relative;
  display: block;
  background: #FFF;
  border: solid 1px #3c1d07;
  padding: .2em 2em;
  border-radius: 1.5em;
  font-size: 1.5rem;
}
.about main .greeting .box .box_in p a span {
  position: relative;
  display: block;
  padding-right: 1.7em;
}
.about main .greeting .box .box_in p a span::after {
  position: absolute;
	top: 50%;
	transform: translateY(-50%);
  right: 0;
  width: 1.2em;
  height: 1.2em;
  background: url(../img/top/greeting_btn_arrow.svg) no-repeat center center;
  background-size: cover;
  content: '';
}
.about main .greeting .box .box_in p a:hover {
  background: #3c1d07;
  border: solid 1px #3c1d07;
  color: #FFF;
}
.about main .greeting .box .box_in p a:hover span::after {
  background: url(../img/top/greeting_btn_arrow-reverse.svg) no-repeat center center;
  background-size: cover;
  content: '';
}
.about main .overview_details {
  background: #f4f2f1;
  padding: 0 20px;
  padding-top: 200px;
  padding-bottom: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
.about main .overview_details .overview ,
.about main .overview_details .details {
  position: relative;
  width: 1170px;
  background: #FFF;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 30px;
  margin-bottom: 120px;
}
.about main .overview_details .overview {
  padding-top: 160px;
  padding-bottom: 60px;
}
.about main .overview_details .details {
  padding-top: 200px;
  padding-bottom: 110px;
}
.about main .overview_details .overview h3 ,
.about main .overview_details .details h3 {
  position: absolute;
  top: -30px;
  left: 0;
  right: 0;
  z-index: 1;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  padding-top: 70px;
}
.about main .overview_details .overview h3::before {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 50px;
  height: 50px;
  background: url(../img/about/overview_details_icon01.svg) no-repeat center center;
  background-size: cover;
  content: '';
}
.about main .overview_details .details h3::before {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 50px;
  height: 50px;
  background: url(../img/about/overview_details_icon02.svg) no-repeat center center;
  background-size: cover;
  content: '';
}
.about main .overview_details .overview h3 span ,
.about main .overview_details .details h3 span ,
.about main .overview_details .overview h3 em ,
.about main .overview_details .details h3 em {
  display: block;
  line-height: 1em;
}
.about main .overview_details .overview h3 span ,
.about main .overview_details .details h3 span {
  font-size: 4.0rem;
  font-weight: 700;
  letter-spacing: .1em;
}
.about main .overview_details .overview h3 em ,
.about main .overview_details .details h3 em {
  font-size: 2.0rem;
  letter-spacing: .05em;
  padding-top: .6em;
  text-transform: uppercase;
}
.about main .overview_details .overview .box table {
  width: 100%;
}
.about main .overview_details .overview .box table tr th ,
.about main .overview_details .overview .box table tr td {
  font-size: 1.4rem;
  padding: .8em 1.4em;
  letter-spacing: .03em;
}
.about main .overview_details .overview .box table tr:not(:last-of-type) th ,
.about main .overview_details .overview .box table tr:not(:last-of-type) td {
  border-bottom: solid 1px #3c1d07;
}
.about main .overview_details .overview .box table tr th {
  background: #f4f2f1;
  text-align: center;
  width: 190px;
}
.about main .overview_details .overview .box table tr td span {
  margin-right: .5em;
}
.about main .overview_details .overview .box time {
  display: block;
  text-align: right;
  font-size: 1.2rem;
  padding-top: .4em;
}
.about main .overview_details .details .box section {
  font-size: 1.5rem;
}
.about main .overview_details .details .box section:not(:last-of-type) {
  margin-bottom: .6em;
}
.about main .overview_details .details .box section h4 {
  display: flex;
  margin-bottom: .2em;
}
.about main .overview_details .details .box section h4 span {
  position: relative;
  display: block;
  font-weight: 900;
}
.about main .overview_details .details .box section h4 span::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: #3c1d07;
  content: '';
}
.about main .overview_details .details .box section ul {
  padding: 0 .5em;
}
.about main .overview_details .details .box section ul li {
  position: relative;
  padding-left: 1em;
}
.about main .overview_details .details .box section ul li::before {
  position: absolute;
  top: .9em;
  left: .3em;
  width: .2em;
  height: .2em;
  border-radius: 50%;
  background: #3c1d07;
  content: '';
}
.about main .overview_details .details .box section ul li span {
  display: block;
  padding-left: .5em;
}
.about main .overview_details .details .box section p {
  padding: 0 .5em;
}
.about main .overview_details .btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1170px;
}
.about main .overview_details .btn ul {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  width: 100%;
}
.about main .overview_details .btn ul li {
  width: calc((100% - (20px * 4)) / 5);
}
.about main .overview_details .btn ul li a {
  display: block;
  background: #539466;
  border: solid 1px #539466;
  border-radius: 10px;
  text-align: center;
  color: #FFF;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: .05em;
  padding: .6em 1em;
}
.about main .overview_details .btn ul li a:hover{
  background: #FFF;
  border: solid 1px #539466;
  color: #539466;
}
.about main .overview_details .btn ul li.ls01 a::first-letter {
  letter-spacing: .15em;
}



/*recruit*/
.recruit .main_img {
  position: relative;
  height: 590px;
  overflow: hidden;
}
.recruit .main_img::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  background: url(../img/top/recruit_img.jpg) no-repeat center center;
  background-size: cover;
  content: '';
}
.recruit .main_img .cetch {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}
.recruit .main_img .cetch::before {
	position: absolute;
  top: 15px;
  left: 15px;
  z-index: -1;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, .6);
  content: '';
}
.recruit .main_img .cetch h3 {
  position: relative;
  width: 560px;
  height: 135px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.recruit .main_img .cetch h3::before {
  position: absolute;
  top: 0;
  left: 0;
  width: calc(100% - 20px);
  height: calc(100% - 20px);
  border-top: solid 1px #3c1d07;
  border-left: solid 1px #3c1d07;
  content: '';
}
.recruit .main_img .cetch h3::after {
  position: absolute;
  bottom: 0;
  right: 0;
  width: calc(100% - 20px);
  height: calc(100% - 20px);
  border-bottom: solid 1px #3c1d07;
  border-right: solid 1px #3c1d07;
  content: '';
}
.recruit .main_img .cetch h3 span {
  display: block;
  width: 480px;
}
.recruit main {
  background: none;
  padding-top: 250px;
}
.recruit main .sub_img {
  position: relative;
  padding: 0 20px;
}
.recruit main .sub_img::after {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 50%;
  background: #c2e4ee;
  content: '';
}
.recruit main .sub_img p {
  max-width: 1365px;
  margin: 0 auto;
}
.recruit main .recruit_info {
  position: relative;
  z-index: 1;
  padding: 0 20px;
  padding-top: 220px;
  padding-bottom: 120px;
}
.recruit main .recruit_info::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  background: #e5f4f8;
  content: '';
}
.recruit main .recruit_info::after {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 50%;
  background: #c2e4ee;
  content: '';
}
.recruit main .recruit_info .box {
  position: relative;
  background: rgba(255, 255, 255, .51);
  border-radius: 30px;
  padding: 130px 120px 60px;
  max-width: 1365px;
  margin: 0 auto;
  box-shadow: 6px 6px 6px 0px rgba(0, 0, 0, 0.1);
}
.recruit main .recruit_info .box h3 {
  position: absolute;
  top: -90px;
  left: 0;
  right: 0;
  z-index: 1;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  padding-top: 70px;
}
.recruit main .recruit_info .box h3::before {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 50px;
  height: 50px;
  background: url(../img/recruit/info_icon.svg) no-repeat center center;
  background-size: cover;
  content: '';
}
.recruit main .recruit_info .box h3 span ,
.recruit main .recruit_info .box h3 em {
  display: block;
  line-height: 1em;
}
.recruit main .recruit_info .box h3 span {
  font-size: 4.0rem;
  font-weight: 700;
  letter-spacing: .1em;
}
.recruit main .recruit_info .box h3 em {
  font-size: 2.0rem;
  letter-spacing: .05em;
  padding-top: .6em;
  text-transform: uppercase;
}
.recruit main .recruit_info .box .info_list {
  margin-bottom: 30px;
}
.recruit main .recruit_info .box .info_list section {
  display: flex;
  background: rgba(255, 255, 255, 1);
  border-radius: 20px;
  overflow: hidden;
}
.recruit main .recruit_info .box .info_list section:not(:last-of-type) {
  margin-bottom: 15px;
}
.recruit main .recruit_info .box .info_list section .cat {
  width: 200px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.recruit main .recruit_info .box .info_list section .cat a {
  width: 100%;
  height: 100%;
  background: #FFF;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.8rem;
  font-weight: 700;
  padding: .2em 0;
  letter-spacing: .075em;
  border-radius: 0 20px 20px 0;
  flex-grow:1;
}
.recruit main .recruit_info .box .info_list section .cat.news a {
  color: #FFF;
  background: #eab6b6;
}
.recruit main .recruit_info .box .info_list section time {
  width: 200px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.6rem;
  letter-spacing: .1em;
}
.recruit main .recruit_info .box .info_list section .post-title {
  display: flex;
  align-items: center;
  width: calc(100% - (240px + 200px));
  font-size: 1.8rem;
  letter-spacing: .05em;
  padding-right: 2em;
}
.recruit main .recruit_info .box p.btn {
  display: flex;
  justify-content: flex-end;
}
.recruit main .recruit_info .box p.btn a {
  position: relative;
  display: block;
  border: solid 1px #3c1d07;
  padding: .2em 2em;
  border-radius: 1.5em;
  font-size: 1.5rem;
}
.recruit main .recruit_info .box p.btn a span {
  position: relative;
  display: block;
  padding-right: 1.7em;
}
.recruit main .recruit_info .box p.btn a span::after {
  position: absolute;
	top: 50%;
	transform: translateY(-50%);
  right: 0;
  width: 1.2em;
  height: 1.2em;
  background: url(../img/recruit/info_btn_arrow.svg) no-repeat center center;
  background-size: cover;
  content: '';
}
.recruit main .recruit_info .box p.btn a:hover {
  background: #3c1d07;
  border: solid 1px #3c1d07;
  color: #FFF;
}
.recruit main .recruit_info .box p.btn a:hover span::after {
  background: url(../img/recruit/info_btn_arrow-reverse.svg) no-repeat center center;
  background-size: cover;
  content: '';
}
.recruit main .img_btn {
  position: relative;
  z-index: 1;
  margin-bottom: 200px;
}
.recruit main .img_btn::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 130px;
  background: #c2e4ee;
  content: '';
}
.recruit main .img_btn .box {
  display: flex;
  gap: 70px;
}
.recruit main .img_btn .box section .img {
  border: solid 2px #539466;
  margin-bottom: 20px;
  background: #FFF;
}
.recruit main .img_btn .box section h3 {
  text-align: center;
  font-size: 2.4rem;
  font-weight: 700;
  color: #539466;
  margin-bottom: .6em;
  letter-spacing: .06em;
}
.recruit main .img_btn .box section .comment {
  margin-bottom: 1em;
}
.recruit main .img_btn .box section .comment p {
  text-align: center;
}
.recruit main .img_btn .box section p.btn {
  display: flex;
  justify-content: center;
}
.recruit main .img_btn .box section p.btn a {
  position: relative;
  display: block;
  border: solid 1px #3c1d07;
  padding: .2em 2em;
  border-radius: 1.5em;
  font-size: 1.5rem;
}
.recruit main .img_btn .box section p.btn a span {
  position: relative;
  display: block;
  padding-right: 1.7em;
}
.recruit main .img_btn .box section p.btn a span::after {
  position: absolute;
	top: 50%;
	transform: translateY(-50%);
  right: 0;
  width: 1.2em;
  height: 1.2em;
  background: url(../img/recruit/info_btn_arrow.svg) no-repeat center center;
  background-size: cover;
  content: '';
}
.recruit main .img_btn .box section p.btn a:hover {
  background: #3c1d07;
  border: solid 1px #3c1d07;
  color: #FFF;
}
.recruit main .img_btn .box section p.btn a:hover span::after {
  background: url(../img/recruit/info_btn_arrow-reverse.svg) no-repeat center center;
  background-size: cover;
  content: '';
}
.recruit main .interview {
  position: relative;
  width: 1365px;
  margin: 0 auto;
  padding: 100px 110px;
  margin-bottom: 150px;
  background: #f4f2f1;
  border-radius: 30px;
}
.recruit main .interview h3 {
  position: absolute;
  top: -90px;
  left: 0;
  right: 0;
  z-index: 1;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  padding-top: 70px;
  margin-bottom: -40px;
}
.recruit main .interview h3::before {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 50px;
  height: 50px;
  background: url(../img/recruit/interview_icon.svg) no-repeat center center;
  background-size: cover;
  content: '';
}
.recruit main .interview h3 span ,
.recruit main .interview h3 em {
  display: block;
  line-height: 1em;
}
.recruit main .interview h3 span {
  font-size: 4.0rem;
  font-weight: 700;
  letter-spacing: .1em;
}
.recruit main .interview h3 em {
  font-size: 2.0rem;
  letter-spacing: .05em;
  padding-top: .6em;
  text-transform: uppercase;
}
.recruit main .interview .catch {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.0rem;
  margin-bottom: 2.5em;
}
.recruit main .interview .catch p span {
  display: inline;
  text-align: center;
  font-weight: 700;
	box-decoration-break: clone;
	-webkit-box-decoration-break: clone;
	padding: .1em .2em;
  line-height: 2.0;
	background: rgba(255, 255, 255, 1);   
}
.recruit main .interview .list {
  display: flex;
  flex-wrap: wrap;
}
.recruit main .interview .list section {
  width: calc((100% - (60px * 2)) / 3);
  margin-bottom: 60px;
}
.recruit main .interview .list section:not(:nth-of-type(3n)) {
  margin-right: 60px;
}
.recruit main .interview .list section .img {
  position: relative;
  z-index: 1;
  margin-bottom: 50px;
}
.recruit main .interview .list section .img::before {
  position: absolute;
  bottom: -15px;
  left: calc(50% - 40px);
  z-index: 2;
  display: block;
  width: 40px;
  height: 20px;
  clip-path: polygon(0 0, 100% 0%, 50% 100%);
  rotate: 135deg;
  content: '';
}
.recruit main .interview .list section:nth-of-type(1) .img::before {
  background: #cd6f6c;
}
.recruit main .interview .list section:nth-of-type(2) .img::before {
  background: #5b9683;
}
.recruit main .interview .list section:nth-of-type(3) .img::before {
  background: #be6d24;
}
.recruit main .interview .list section:nth-of-type(4) .img::before {
  background: #c68a28;
}
.recruit main .interview .list section:nth-of-type(5) .img::before {
  background: #4b7cb6;
}
.recruit main .interview .list section:nth-of-type(6) .img::before {
  background: #9f5188;
}
.recruit main .interview .list section .img span {
  position: relative;
  z-index: 1;
  display: block;
  border-radius: 100px;
}
.recruit main .interview .list section:nth-of-type(1) .img span {
  border: solid 2px #cd6f6c;
}
.recruit main .interview .list section:nth-of-type(2) .img span {
  border: solid 2px #5b9683;
}
.recruit main .interview .list section:nth-of-type(3) .img span {
  border: solid 2px #be6d24;
}
.recruit main .interview .list section:nth-of-type(4) .img span {
  border: solid 2px #c68a28;
}
.recruit main .interview .list section:nth-of-type(5) .img span {
  border: solid 2px #4b7cb6;
}
.recruit main .interview .list section:nth-of-type(6) .img span {
  border: solid 2px #9f5188;
}
.recruit main .interview .list section .img span::before {
  position: absolute;
  top: 10px;
  left: 10px;
  width: 100%;
  height: 100%;
  z-index: -1;
  background: rgba(0, 0, 0, .1);
  background-blend-mode: multiply;
  border-radius: 100px;
  content: '';
}
.recruit main .interview .list section .img span::after {
  position: absolute;
  top: 12px;
  left: 12px;
  width: 100%;
  height: 100%;
  z-index: -1;
  background: rgba(0, 0, 0, .1);
  background-blend-mode: multiply;
  border-radius: 100px;
  content: '';
}
.recruit main .interview .list section .img span em {
  display: block;
  overflow: hidden;
  border-radius: calc(100px - (2px * 2));
}
.recruit main .interview .list section h4 {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  letter-spacing: .05em;
  margin-bottom: .8em;
}
.recruit main .interview .list section:nth-of-type(1) h4 {
  color: #cd6f6c;
}
.recruit main .interview .list section:nth-of-type(2) h4 {
  color: #5b9683;
}
.recruit main .interview .list section:nth-of-type(3) h4 {
  color: #be6d24;
}
.recruit main .interview .list section:nth-of-type(4) h4 {
  color: #c68a28;
}
.recruit main .interview .list section:nth-of-type(5) h4 {
  color: #4b7cb6;
}
.recruit main .interview .list section:nth-of-type(6) h4 {
  color: #9f5188;
}
.recruit main .interview .list section .name {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: .8em;
}
.recruit main .interview .list section .name dl {
  display: flex;
  align-items: center;
  justify-content: center;
}
.recruit main .interview .list section .name dl dt {
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: .05em;
}
.recruit main .interview .list section .name dl dd {
  font-size: 2.4rem;
  font-weight: 700;
  letter-spacing: .05em;
}
.recruit main .interview .list section .name dl dd::before {
  font-size: 2.4rem;
  margin: 0 .1em;
  content: '｜';
}
.recruit main .interview .list section p.btn {
  display: flex;
  justify-content: center;
}
.recruit main .interview .list section p.btn a {
  position: relative;
  display: block;
  border: solid 1px #3c1d07;
  padding: .2em 2em;
  border-radius: 1.5em;
  font-size: 1.5rem;
}
.recruit main .interview .list section p.btn a span {
  position: relative;
  display: block;
  padding-right: 1.7em;
}
.recruit main .interview .list section p.btn a span::after {
  position: absolute;
	top: 50%;
	transform: translateY(-50%);
  right: 0;
  width: 1.2em;
  height: 1.2em;
  background: url(../img/recruit/info_btn_arrow.svg) no-repeat center center;
  background-size: cover;
  content: '';
}
.recruit main .interview .list section p.btn a:hover {
  background: #3c1d07;
  border: solid 1px #3c1d07;
  color: #FFF;
}
.recruit main .interview .list section p.btn a:hover span::after {
  background: url(../img/recruit/info_btn_arrow-reverse.svg) no-repeat center center;
  background-size: cover;
  content: '';
}
.recruit main .interview .system {
  width: 100%;
  height: 100%;
  background: url(../img/recruit/system_bg.jpg) no-repeat center center;
  background-size: cover;
  padding: 50px;
}
.recruit main .interview .system .box {
  display: flex;
  border: solid 2px rgba(255, 255, 255, .3);
  padding: 35px;
}
.recruit main .interview .system .box .img {
  width: 400px;
  margin-right: 80px;
}
.recruit main .interview .system .box .box_in {
  width: calc(100% - (400px + 80px));
  margin-right: 80px;
}
.recruit main .interview .system .box .box_in h4 {
  font-size: 4.0rem;
  font-weight: 900;
  letter-spacing: .055em;
  line-height: 1.2;
  margin-bottom: .4em;
  color: #FFF;
}
.recruit main .interview .system .box .box_in .comment {
  font-size: 1.8rem;
  color: #FFF;
  margin-bottom: .8em;
}
.recruit main .interview .system .box .box_in .comment p {
  font-weight: 700;
  letter-spacing: .055em;
}
.recruit main .interview .system .box .box_in p.btn {
  display: flex;
}
.recruit main .interview .system .box .box_in p.btn a {
  position: relative;
  display: block;
  border: solid 1px #3c1d07;
  background: #FFF;
  padding: .2em 2em;
  border-radius: 1.5em;
  font-size: 1.5rem;
}
.recruit main .interview .system .box .box_in p.btn a span {
  position: relative;
  display: block;
  padding-right: 1.7em;
}
.recruit main .interview .system .box .box_in p.btn a span::after {
  position: absolute;
	top: 50%;
	transform: translateY(-50%);
  right: 0;
  width: 1.2em;
  height: 1.2em;
  background: url(../img/recruit/info_btn_arrow.svg) no-repeat center center;
  background-size: cover;
  content: '';
}
.recruit main .interview .system .box .box_in p.btn a:hover {
  background: #3c1d07;
  border: solid 1px #3c1d07;
  color: #FFF;
}
.recruit main .interview .system .box .box_in p.btn a:hover span::after {
  background: url(../img/recruit/info_btn_arrow-reverse.svg) no-repeat center center;
  background-size: cover;
  content: '';
}
.recruit main .application-requirements .human {
  background: #d8eef4;
  width: 1365px;
  margin: 0 auto;
  padding: 80px 20px 200px;
  border-radius: 30px;
}
.recruit main .application-requirements .human h3 {
  font-size: 4.0rem;
  font-weight: 900;
  letter-spacing: .1em;
  text-align: center;
  line-height: 1.2;
  margin-bottom: 1.5em;
}
.recruit main .application-requirements .human .box {
  max-width: 960px;
  margin: 0 auto;
  background: #FFF;
}
.recruit main .application-requirements .human .box details {
  position: relative;
  display: block;
  transition: .5s;
  border-bottom: solid 1px #3c1d07;
}
.recruit main .application-requirements .human .box details[open] {
  transition: .5s;
}
.recruit main .application-requirements .human .box details:not(:first-of-type) {
  border-top: solid 1px #3c1d07;
}
.recruit main .application-requirements .human .box details summary {
  position: relative;
  display: block;
  cursor: pointer;
}
.recruit main .application-requirements .human .box details summary::before ,
.recruit main .application-requirements .human .box details summary::after {
  position: absolute;
	top: 50%;
	transform: translateY(-50%);
  right: 40px;
  width: 20px;
  height: 2px;
  background: #3c1d07;
  transition: .3s;
  content: '';
}
.recruit main .application-requirements .human .box details summary::after {
  transform: translateY(-50%) rotate(90deg);
}
.recruit main .application-requirements .human .box details[open] summary::after {
  transform: translateY(-50%) rotate(180deg);
}
.recruit main .application-requirements .human .box details summary div {
  position: relative;
  display: flex;
  align-items: baseline;
  font-size: 2.0rem;
  font-weight: 700;
  padding: .8em 2em;
}
.recruit main .application-requirements .human .box details summary div dl {
  /*display: flex;
  margin-left: auto;
  padding-right: 4em;*/
  display: none;
}
.recruit main .application-requirements .human .box details summary div dl * {
  font-size: 1.6rem;
  color: #666;
}
.recruit main .application-requirements .human .box details summary div dl dt {
  margin-right: 1em;
}
.recruit main .application-requirements .human .box details .answer {
  position: relative;
  font-size: 1.8rem;
  transform: translateY(-10px);
  opacity: 0;
  transition: transform .5s, opacity .5s;
}
.recruit main .application-requirements .human .box details[open] .answer {
  transform: none;
  opacity: 1;
}
.recruit main .application-requirements .human .box details .answer .box_in {
  position: relative;
  padding: 2em 3em;
}
.recruit main .application-requirements .human .box details .answer .box p:not(:last-of-type) {
  margin-bottom: 1.2em;
}
.recruit main .application-requirements .human .box details .answer .box_in .tbl_box > dl {
  display: flex;
  padding: 20px 0;
  border-bottom: 1px dotted #cccccc;
}
.recruit main .application-requirements .human .box details .answer .box_in .tbl_box > dl:first-of-type {
  padding-top: 0;
}
.recruit main .application-requirements .human .box details .answer .box_in .tbl_box > dl > dt {
  width: 200px;
  padding-left: 40px;
}
.recruit main .application-requirements .human .box details .answer .box_in .tbl_box > dl > dd {
  width: calc(100% - 200px);
  padding-right: 40px;
}
.recruit main .application-requirements .human .box details .answer .box_in .tbl_box > dl > dd .tbl_in {
  display: table;
}
.recruit main .application-requirements .human .box details .answer .box_in .tbl_box > dl > dd .tbl_in dl {
  display: table-row;
}
.recruit main .application-requirements .human .box details .answer .box_in .tbl_box > dl > dd .tbl_in dl dt ,
.recruit main .application-requirements .human .box details .answer .box_in .tbl_box > dl > dd .tbl_in dl dd {
  display: table-cell;
}
.recruit main .application-requirements .human .box details .answer .box_in .tbl_box > dl > dd .tbl_in dl dt {
  white-space: nowrap;
  padding-right: 1.5em;
}
.recruit main .application-requirements .human .box details .answer .box_in .tbl_box > dl > dd .tel_fax {
  margin-bottom: .3em;
}
.recruit main .application-requirements .human .box details .answer .box_in .tbl_box > dl > dd .tel_fax ul {
  display: flex;
}
.recruit main .application-requirements .human .box details .answer .box_in .tbl_box > dl > dd .tel_fax ul li:nth-of-type(1) {
  margin-right: 1.5em;
}
.recruit main .application-requirements .human .box details .answer .box_in .session {
  padding-top: 50px;
}
.recruit main .application-requirements .human .box details .answer .box_in .session section:not(:last-of-type) {
  margin-bottom: 30px;
}
.recruit main .application-requirements .human .box details .answer .box_in .session .title03 {
  margin-bottom: .8em;
}
.recruit main .application-requirements .human .box details .answer .box_in .session .day_info table {
  width: 100%;
  border: solid 1px #cccccc;
}
.recruit main .application-requirements .human .box details .answer .box_in .session .day_info table tr th ,
.recruit main .application-requirements .human .box details .answer .box_in .session .day_info table tr td {
  padding: .4em 1em;
  width: calc(100% / 3);
  vertical-align: middle;
  border: solid 1px #cccccc;
}
.recruit main .application-requirements .human .box details .answer .box_in .session .day_info table thead tr th {
  text-align: center;
  font-weight: 700;
}
.recruit main .application-requirements .human .box details .answer .box_in .session .day_info table tbody tr th span {
  display: block;
  text-align: center;
}
.recruit main .application-requirements .human .box details .answer .box_in .session .day_info table tbody tr th span::first-letter {
  letter-spacing: 2em;
}
.recruit main .application-requirements .human .box details .answer .box_in .zoom_info table tr td::before {
  content: '：';
}
.recruit main .application-requirements .human .box details .answer .box_in .hope {
  padding-top: .3em;
}
.recruit main .application-requirements .human .box details .answer .box_in .hope a {
  position: relative;
  color: #539466;
  background: linear-gradient(currentcolor, currentcolor) left bottom / 100% 1px no-repeat;
	transition: background-size .4s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.recruit main .application-requirements .human .box details .answer .box_in .hope a:hover {
  background-position: right bottom;
	background-size: 0 1px;
  color: #53b689;
}
.recruit main .application-requirements .job {
  position: relative;
  top: -4em;
  margin-bottom: -4em;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-size: 2.2rem;
}
.recruit main .application-requirements .job h4 {
  background: #FFF;
  font-size: 2.2rem;
  font-weight: 900;
  padding: 2.25em 2em .4em;
  border-radius: 50px 50px 0 0;
  letter-spacing: .055em;
  margin-bottom: 30px;
}
.recruit main .application-requirements .job .img {
  width: 280px;
  margin-bottom: 50px;
}
.recruit main .application-requirements .job .btn {
  margin-bottom: 30px;
}
.recruit main .application-requirements .job .btn a {
  display: block;
  background: #7ec8dc;
  border: solid 1px #7ec8dc;
  color: #FFF;
  font-size: 2.2rem;
  font-weight: 900;
  letter-spacing: .055em;
  padding: .4em 1.5em;
  border-radius: 1.5em;
}
.recruit main .application-requirements .job .btn a:hover {
  background: #FFF;
  border: solid 1px #7ec8dc;
  color: #7ec8dc;
}
.recruit main .application-requirements .job .mynavi {
  width: 150px;
}



/*interview-detail*/
.interview-detail main {
  background: #f4f2f1;
  padding-top: 50px;
}
.interview-detail main .wrap {
  position: relative;
  max-width: 1625px;
  margin: 0 auto;
  display: flex;
}
.interview-detail main .wrap article {
  position: relative;
  border: solid 1px #3c1d07;
  border-radius: 25px;
  background: #FFF;
  order: 99;
  width: calc(100% - (840px + 50px));
  padding-bottom: 80px;
}
.interview-detail main .wrap article .number {
  max-width: 490px;
  margin-right: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 0 0 25px 0;
  border-right: solid 1px #3c1d07;
  border-bottom: solid 1px #3c1d07;
  padding-top: 45px;
  padding-bottom: 40px;
}
.interview-detail main .wrap article .number span {
  display: block;
  max-width: 355px;
}
.interview-detail main .wrap article .catch {
  padding: 90px 20px 80px 130px;
}
.interview-detail main .wrap article .catch h3 {
  font-size: 3.2rem;
  letter-spacing: .1em;
}
.interview-detail main .wrap article .info {
  padding-left: 45px;
}
.interview-detail main .wrap article .info > section:not(:last-of-type) {
  margin-bottom: 40px;
}
.interview-detail main .wrap article .info > section > h4 {
  display: flex;
}
.interview-detail main .wrap article .info > section > h4 em {
  background: #3c1d07;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.0rem;
  font-weight: 700;
  padding: .6em 0;
  color: #FFF;
  width: 60px;
  margin-right: 3px;
  letter-spacing: .05em;
}
.interview-detail main .wrap article .info > section > h4 span {
  background: #cd6f6c;
  display: block;
  font-size: 2.0rem;
  font-weight: 900;
  padding: .6em 1.2em;
  color: #FFF;
  width: calc(100% - (60px + 3px));
  letter-spacing: .1em;
}
.interview-detail main .wrap article .info > section > .comment {
  padding-top: 45px;
  padding-left: 90px;
  padding-right: 25px;
}
.interview-detail main .wrap article .info > section > .comment p {
  max-width: 450px;
  font-size: 1.7rem;
  font-weight: 500;
  letter-spacing: .1em;
}
.interview-detail main .wrap article .info > section > .comment p:not(:last-of-type) {
  margin-bottom: 1.2em;
}
.interview-detail main .wrap article .info > section > .time_info {
  margin-top: 50px;
  margin-right: 20px;
  background: #f9f0e6;
  border: solid 1px #3c1d07;
  border-radius: 40px;
  max-width: 600px;
  padding-top: 60px;
  padding-bottom: 60px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.interview-detail main .wrap article .info > section > .time_info .time_title {
  background: #FFF;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.8rem;
  padding: 1em;
  padding-right: 2.2em;
}
.interview-detail main .wrap article .info > section > .time_info .time_title span {
  position: relative;
  display: block;
  padding-left: 2.8em;
  font-weight: 900;
  letter-spacing: .1em;
}
.interview-detail main .wrap article .info > section > .time_info .time_title span::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 1.9444em;
  height: 1.9444em;
  background: url(../img/interview-detail/time_icon.svg) no-repeat center center;
  background-size: cover;
  content: '';
}
.interview-detail main .wrap article .info > section > .time_info .img {
  padding: 0 20px;
  padding-top: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}
.interview-detail main .wrap article .info > section > .time_info .img p {
  max-width: 600px;
}
.interview-detail main .wrap article .info > section > .time_info .flow {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 0 20px;
  padding-top: 60px;
}
.interview-detail main .wrap article .info > section > .time_info .flow .box_in {
  display: flex;
  flex-direction: column;
  width: 100%;
}
.interview-detail main .wrap article .info > section > .time_info .flow .box_in dl {
  width: 50%;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
}
.interview-detail main .wrap article .info > section > .time_info .flow .box_in dl:nth-of-type(odd) {
  margin-left: auto;
  padding-left: 35px;
}
.interview-detail main .wrap article .info > section > .time_info .flow .box_in dl:nth-of-type(even) {
  margin-right: auto;
  align-items: flex-end;
  padding-right: 35px;
}
.interview-detail main .wrap article .info > section > .time_info .flow .box_in dl dt {
  position: relative;
  background: #cd6f6c;
  color: #FFF;
  font-weight: 900;
  letter-spacing: .1em;
  text-indent: .1em;
  padding: .2em 1.2em;
  border-radius: 1.2em;
  margin-bottom: .5em;
}
.interview-detail main .wrap article .info > section > .time_info .flow .box_in dl dd {
  position: relative;
  font-weight: 700;
  letter-spacing: .1em;
}
.interview-detail main .wrap article .info > section > .time_info .flow .box_in dl:nth-of-type(even) dd {
  text-align: right;
}
.interview-detail main .wrap article .info > section > .time_info .flow .box_in dl dt::before ,
.interview-detail main .wrap article .info > section > .time_info .flow .box_in dl dd::before {
  position: absolute;
  top: 0;
  width: 1px;
  height: calc(100% + 10px);
  background: #cd6f6c;
  content: '';
}
.interview-detail main .wrap article .info > section > .time_info .flow .box_in dl:nth-of-type(odd) dt::before ,
.interview-detail main .wrap article .info > section > .time_info .flow .box_in dl:nth-of-type(odd) dd::before {
  left: calc(-35px - .5px);
}
.interview-detail main .wrap article .info > section > .time_info .flow .box_in dl:nth-of-type(even) dt::before ,
.interview-detail main .wrap article .info > section > .time_info .flow .box_in dl:nth-of-type(even) dd::before {
  right: calc(-35px - .5px);
}
.interview-detail main .wrap article .info > section > .time_info .flow .box_in dl:first-of-type dt::before {
  top: 50%;
  height: calc(50% + 10px);
}
.interview-detail main .wrap article .info > section > .time_info .flow .box_in dl:last-of-type dt::before {
  height: calc(50% + 1px);
}
.interview-detail main .wrap article .info > section > .time_info .flow .box_in dl:last-of-type dd::before {
  display: none;
}
.interview-detail main .wrap article .info > section > .time_info .flow .box_in dl dt::after {
  position: absolute;
	top: 50%;
	transform: translateY(-50%);
  width: calc(35px + .5px);
  height: 1px;
  background: #cd6f6c;
  content: '';
}
.interview-detail main .wrap article .info > section > .time_info .flow .box_in dl:nth-of-type(odd) dt::after {
  left: calc(-35px - .5px);
}
.interview-detail main .wrap article .info > section > .time_info .flow .box_in dl:nth-of-type(even) dt::after {
  right: calc(-35px - .5px);
}
.interview-detail main .wrap article .info > .advice {
  padding-top: 30px;
  margin-right: 20px;
  max-width: 600px;
}
.interview-detail main .wrap article .info > .advice section {
  background: #fffef2;
  border: solid 1px #3c1d07;
  padding-top: 30px;
  padding-bottom: 50px;
}
.interview-detail main .wrap article .info > .advice section:not(:last-of-type) {
  margin-bottom: 50px;
}
.interview-detail main .wrap article .info > .advice section h4 {
  position: relative;
  display: flex;
  padding-left: 85px;
}
.interview-detail main .wrap article .info > .advice section h4::before {
  position: absolute;
  top: calc((((1em * 1.7) + (.1em * 2)) - 26px) / 2);
  left: 20px;
  width: 32px;
  height: 26px;
  font-size: 2.0rem;
}
.interview-detail main .wrap article .info > .advice section.love h4::before {
  background: url(../img/interview-detail/advice_icon01.svg) no-repeat center center;
  background-size: cover;
  content: '';
}
.interview-detail main .wrap article .info > .advice section.everyone h4::before {
  background: url(../img/interview-detail/advice_icon02.svg) no-repeat center center;
  background-size: cover;
  content: '';
}
.interview-detail main .wrap article .info > .advice section h4 span {
  display: flex;
  align-items: center;
  font-size: 2.0rem;
  font-weight: 900;
  letter-spacing: .1em;
}
.interview-detail main .wrap article .info > .advice section.love h4 span {
  color: #cd6f6c;
}
.interview-detail main .wrap article .info > .advice section.everyone h4 span {
  color: #5b9683;
}
.interview-detail main .wrap article .info > .advice section h4 span em {
  position: relative;
  display: block;
  font-weight: 900;
  padding: .1em .5em;
  border-radius: 10px;
  margin-right: .8em;
  color: #fffef2;
}
.interview-detail main .wrap article .info > .advice section.love h4 span em {
  background: #cd6f6c;
}
.interview-detail main .wrap article .info > .advice section.everyone h4 span em {
  background: #5b9683;
}
.interview-detail main .wrap article .info > .advice section h4 span em::after {
  position: absolute;
  top: calc((((1em * 1.7) + (.1em * 2)) - 5px) / 2);
  right: -.5em;
  width: .5em;
  height: 8px;
  border-radius: 0 4px 4px 0;
}
.interview-detail main .wrap article .info > .advice section.love h4 span em::after {
  background: #cd6f6c;
  content: '';
}
.interview-detail main .wrap article .info > .advice section.everyone h4 span em::after {
  background: #5b9683;
  content: '';
}
.interview-detail main .wrap article .info > .advice section .comment {
  padding-top: 40px;
  padding-right: 85px;
  padding-left: 85px;
}
.interview-detail main .wrap article .info > .advice section .comment p {
  font-weight: 500;
  letter-spacing: .1em;
}
.interview-detail main .wrap article .entry_btn {
  position: absolute;
  bottom: -60px;
  right: -50px;
  z-index: 2;
  background: #FFF;
  display: flex;
}
.interview-detail main .wrap article .entry_btn a {
  display: block;
  background: #539466;
  border: solid 1px #539466;
  color: #FFF;
  font-size: 2.4rem;
  font-weight: 900;
  letter-spacing: .1em;
  padding: 1.5em 1.3em;
}
.interview-detail main .wrap article .entry_btn a:hover {
  background: #FFF;
  border: solid 1px #539466;
  color: #539466;
}
.interview-detail main .wrap aside {
  order: -99;
  width: 840px;
  margin-right: 50px;
}
.interview-detail main .wrap aside .img_name {
  position: sticky;
  top: 10px;
  left: 0;
  height: calc(100vh - 10px);
}
.interview-detail main .wrap aside .img_name .img_slide {
  position: relative;
  border: solid 1px #3c1d07;
  border-radius: 25px;
  overflow: hidden;
  background: #FFF;
  height: calc(100% - (100px / 2));
}
.interview-detail main .wrap aside .img_name .img_slide .slide ,
.interview-detail main .wrap aside .img_name .img_slide .slide div ,
.interview-detail main .wrap aside .img_name .img_slide section ,
.interview-detail main .wrap aside .img_name .img_slide section p {
  height: 100% !important;
}
.interview-detail main .wrap aside .img_name .img_slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.interview-detail main .wrap aside .img_name .img_slide .dots {
  position: absolute;
  bottom: 35px;
  right: 20px;
}
.interview-detail main .wrap aside .img_name .img_slide .dots ul {
  position: relative !important;
  bottom: inherit !important;
  right: inherit !important;
  display: flex;
  flex-direction: column;
}
.interview-detail main .wrap aside .img_name .img_slide .dots ul li {
  position: relative;
  cursor: pointer;
  margin: 10px 0;
  width: 10px;
}
.interview-detail main .wrap aside .img_name .img_slide .dots ul li button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
  padding: 0;
  border: none;
  width: 10px;
  height: 10px;
  background: rgba(255, 255, 255, 1);
  cursor: pointer;
  border-radius: 50%;
}
.interview-detail main .wrap aside .img_name .img_slide .dots ul li.slick-active button {
  background: rgba(205, 111, 108, 1);
}
.interview-detail main .wrap aside .img_name .img_slide .dots ul li button::before {
  display: none !important;
}
.interview-detail main .wrap aside .img_name .human_info {
  position: relative;
  top: calc(-100px / 2);
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100px;
  margin-bottom: calc(-100px / 2);
}
.interview-detail main .wrap aside .img_name .human_info .box {
  border-top: solid 1px #3c1d07;
  border-bottom: solid 1px #3c1d07;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 30px;
  height: 100px;
  background: #FFF;
}
.interview-detail main .wrap aside .img_name .human_info .box .box_in {
  display: flex;
}
.interview-detail main .wrap aside .img_name .human_info .box .shop {
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 500;
  letter-spacing: .1em;
}
.interview-detail main .wrap aside .img_name .human_info .box .name {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  padding: 0 1.25em;
  padding-right: 0;
  margin: 0 1.25em;
  margin-right: 0;
  letter-spacing: .1em;
  /*border-right: solid 1px #3c1d07;*/
  border-left: solid 1px #3c1d07;
}
.interview-detail main .wrap aside .img_name .human_info .box .name span {
  display: flex;
  align-items: baseline;
  font-size: 3.0rem;
  font-weight: 500;
  line-height: 1.2;
}
.interview-detail main .wrap aside .img_name .human_info .box .name span em {
  font-size: 1.4rem;
  font-weight: 500;
}
.interview-detail main .wrap aside .img_name .human_info .box .name i {
  font-size: 1.4rem;
  font-weight: 500;
  color: #cd6f6c;
}
.interview-detail main .wrap aside .img_name .human_info .box .charge {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: .1em;
  line-height: 1.4;
  text-align: center;
  padding-left: 1.25em;
  margin-left: 1.25em;
  border-left: solid 1px #3c1d07;
}
.interview-detail main .wrap aside .img_name .human_info .box .year {
  display: none;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: .1em;
  line-height: 1.4;
  text-align: center;
}



/*disclosure*/
.disclosure main {
  background: none;
  padding-bottom: 0;
}
.disclosure main .list-bg {
  background: #f4f2f1;
  padding: 0 20px;
  padding-top: 200px;
  padding-bottom: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
.disclosure main .list-bg .list {
  position: relative;
  width: 1170px;
  background: #FFF;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  border-radius: 30px;
  margin-bottom: 120px;
  padding-top: 160px;
  padding-bottom: 60px;
}
.disclosure main .list-bg .list h3 {
  position: absolute;
  top: -30px;
  left: 0;
  right: 0;
  z-index: 1;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  padding-top: 70px;
}
.disclosure main .list-bg .list h3::before {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 50px;
  height: 50px;
  background: url(../img/about-disclosure/disclosure_icon.svg) no-repeat center center;
  background-size: cover;
  content: '';
}
.disclosure main .list-bg .list h3 span ,
.disclosure main .list-bg .list h3 em {
  display: block;
  line-height: 1em;
}
.disclosure main .list-bg .list h3 span {
  font-size: 4.0rem;
  font-weight: 700;
  letter-spacing: .1em;
}
.disclosure main .list-bg .list h3 em {
  font-size: 2.0rem;
  letter-spacing: .05em;
  padding-top: .6em;
  text-transform: uppercase;
}
.disclosure main .list-bg .list .box {
  display: flex;
  flex-wrap: wrap;
  padding-left: 40px;
  padding-right: 40px;
}
.disclosure main .list-bg .list .box section {
  width: calc((100% - 40px) / 2);
  margin-bottom: 50px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.disclosure main .list-bg .list .box section:nth-of-type(odd) {
  margin-right: 40px;
}
.disclosure main .list-bg .list .box section h4 {
  text-align: center;
  font-size: 1.8rem;
  font-weight: 700;
  margin-bottom: .8em;
}
.disclosure main .list-bg .list .box section .img {
  max-width: 50%;
  margin-bottom: 10px;
  box-shadow: 6px 6px 6px 0px rgba(0, 0, 0, 0.45);
}
.disclosure main .list-bg .list .box section .txt-link a {
  position: relative;
  color: #539466;
  background: linear-gradient(currentcolor, currentcolor) left bottom / 100% 1px no-repeat;
	transition: background-size .4s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.disclosure main .list-bg .list .box section .txt-link a:hover {
  background-position: right bottom;
	background-size: 0 1px;
  color: #53b689;
}
.disclosure main .list-bg .list .btn {
  display: flex;
  align-items: center;
  justify-content: center;
}
.disclosure main .list-bg .list .btn a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  background: #539466;
  border: solid 1px #539466;
  font-size: 2.0rem;
  line-height: 1em;
  color: #FFF;
  padding: .8em 3em;
  border-radius: 1.5em;
}
.disclosure main .list-bg .list .btn a span {
  position: relative;
  display: block;
  padding-left: 1.5em;
  font-weight: 700;
}
.disclosure main .list-bg .list .btn a span::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 1em;
  height: 1em;
  background: url(../img/about-disclosure/backnumber-arrow.svg) no-repeat center center;
  background-size: cover;
  content: '';
}
.disclosure main .list-bg .list .btn a:hover {
  background: #FFF;
  border: solid 1px #539466;
  color: #539466;
}
.disclosure main .list-bg .list .btn a:hover span::before {
  background: url(../img/about-disclosure/backnumber-arrow-reverse.svg) no-repeat center center;
  background-size: cover;
  content: '';
}



/*disclosure-back-number*/
.disclosure-back-number main {
  background: none;
  padding-bottom: 0;
}
.disclosure-back-number main .list-bg {
  background: #f4f2f1;
  padding: 0 20px;
  padding-top: 200px;
  padding-bottom: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
.disclosure-back-number main .list-bg .list {
  position: relative;
  width: 1170px;
  background: #FFF;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  border-radius: 30px;
  margin-bottom: 120px;
  padding-top: 160px;
  padding-bottom: 60px;
}
.disclosure-back-number main .list-bg .list h3 {
  position: absolute;
  top: -30px;
  left: 0;
  right: 0;
  z-index: 1;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  padding-top: 70px;
}
.disclosure-back-number main .list-bg .list h3::before {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 50px;
  height: 50px;
  background: url(../img/about-disclosure/disclosure_icon.svg) no-repeat center center;
  background-size: cover;
  content: '';
}
.disclosure-back-number main .list-bg .list h3 span ,
.disclosure-back-number main .list-bg .list h3 em {
  display: block;
  line-height: 1em;
}
.disclosure-back-number main .list-bg .list h3 span {
  font-size: 4.0rem;
  font-weight: 700;
  letter-spacing: .1em;
}
.disclosure-back-number main .list-bg .list h3 em {
  font-size: 2.0rem;
  letter-spacing: .05em;
  padding-top: .6em;
  text-transform: uppercase;
}
.disclosure-back-number main .list-bg .list .box {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  padding-left: 40px;
  padding-right: 40px;
  margin-bottom: 50px;
}
.disclosure-back-number main .list-bg .list .box ul {
  width: calc((100% - 40px) / 2);
}
.disclosure-back-number main .list-bg .list .box ul:nth-of-type(odd) {
  margin-right: 40px;
}
.disclosure-back-number main .list-bg .list .box ul li {
  position: relative;
  padding-left: 1.2em;
}
.disclosure-back-number main .list-bg .list .box ul li:before {
  position: absolute;
  top: .5em;
  left: 0;
  margin: auto;
  width: 1em;
  height: 1em;
  background: #006400;
  border-radius: 50%;
  content: '';
}
.disclosure-back-number main .list-bg .list .box ul li:after {
  position: absolute;
  top: .8em;
  left: .3em;
  margin: auto;
  width: .3em;
  height: .3em;
  border: 0;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  transform: rotate(45deg);
  content: '';
}
.disclosure-back-number main .list-bg .list .btn {
  display: flex;
  align-items: center;
  justify-content: center;
}
.disclosure-back-number main .list-bg .list .btn a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  background: #539466;
  border: solid 1px #539466;
  font-size: 2.0rem;
  line-height: 1em;
  color: #FFF;
  padding: .8em 3em;
  border-radius: 1.5em;
}
.disclosure-back-number main .list-bg .list .btn a span {
  position: relative;
  display: block;
  padding-left: 1.5em;
  font-weight: 700;
}
.disclosure-back-number main .list-bg .list .btn a span::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 1em;
  height: 1em;
  background: url(../img/about-disclosure/backnumber-arrow.svg) no-repeat center center;
  background-size: cover;
  content: '';
}
.disclosure-back-number main .list-bg .list .btn a:hover {
  background: #FFF;
  border: solid 1px #539466;
  color: #539466;
}
.disclosure-back-number main .list-bg .list .btn a:hover span::before {
  background: url(../img/about-disclosure/backnumber-arrow-reverse.svg) no-repeat center center;
  background-size: cover;
  content: '';
}



/*history*/
.history main {
  background: none;
  padding-bottom: 0;
}
.history main .list-bg {
  background: #f4f2f1;
  padding: 0 20px;
  padding-top: 200px;
  padding-bottom: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
.history main .list-bg .list {
  position: relative;
  width: 1170px;
  background: #FFF;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  border-radius: 30px;
  margin-bottom: 120px;
  padding-top: 160px;
  padding-bottom: 60px;
}
.history main .list-bg .list h3 {
  position: absolute;
  top: -30px;
  left: 0;
  right: 0;
  z-index: 1;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  padding-top: 70px;
}
.history main .list-bg .list h3::before {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 50px;
  height: 50px;
  background: url(../img/about-history/history_ison.svg) no-repeat center center;
  background-size: cover;
  content: '';
}
.history main .list-bg .list h3 span ,
.history main .list-bg .list h3 em {
  display: block;
  line-height: 1em;
}
.history main .list-bg .list h3 span {
  font-size: 4.0rem;
  font-weight: 700;
  letter-spacing: .1em;
}
.history main .list-bg .list h3 em {
  font-size: 2.0rem;
  letter-spacing: .05em;
  padding-top: .6em;
  text-transform: uppercase;
}
.history main .list-bg .list .box {
  padding-left: 40px;
  padding-right: 40px;
}
.history main .list-bg .list .box table tr th ,
.history main .list-bg .list .box table tr td {
  font-size: 1.4rem;
  padding: .8em 1.4em;
  letter-spacing: .03em;
  border-bottom: solid 1px #3c1d07;
}
.history main .list-bg .list .box table tr td:nth-of-type(1) ,
.history main .list-bg .list .box table tr td:nth-of-type(2) ,
.history main .list-bg .list .box table tr td:nth-of-type(3) ,
.history main .list-bg .list .box table tr td:nth-of-type(4) {
  background: #f4f2f1;
  padding-left: 0;
  padding-right: 0;
  text-align: right;
  white-space: nowrap;
}
.history main .list-bg .list .box table tr td:nth-of-type(1) {
  padding-left: 1.4em;
}
.history main .list-bg .list .box table tr td:nth-of-type(4) {
  padding-right: 1.4em;
}
.history main .list-bg .list .box table tr td:nth-of-type(5) {
  padding-left: 1.4em;
  padding-right: 1.4em;
}



/*guidelines*/
.guidelines main {
  background: none;
  padding-bottom: 0;
}
.guidelines main .list-bg {
  background: #f4f2f1;
  padding: 0 20px;
  padding-top: 200px;
  padding-bottom: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
.guidelines main .list-bg .list01 {
  margin-bottom: 100px;
}
.guidelines main .list-bg .list {
  position: relative;
  width: 1170px;
  background: #FFF;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  border-radius: 30px;
  margin-bottom: 120px;
  padding-top: 160px;
  padding-bottom: 60px;
}
.guidelines main .list-bg .list h3 {
  position: absolute;
  top: -30px;
  left: 0;
  right: 0;
  z-index: 1;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  padding-top: 70px;
}
.guidelines main .list-bg .list h3::before {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 50px;
  height: 50px;
  content: '';
}
.guidelines main .list-bg .list.list01 h3::before {
  background: url(../img/about-guidelines/guidelines_ison01.svg) no-repeat center center;
  background-size: cover;
}
.guidelines main .list-bg .list.list02 h3::before {
  background: url(../img/about-guidelines/guidelines_ison02.svg) no-repeat center center;
  background-size: cover;
}
.guidelines main .list-bg .list h3 span ,
.guidelines main .list-bg .list h3 em {
  display: block;
  line-height: 1em;
}
.guidelines main .list-bg .list h3 span {
  font-size: 4.0rem;
  font-weight: 700;
  letter-spacing: .1em;
}
.guidelines main .list-bg .list h3 em {
  font-size: 2.0rem;
  letter-spacing: .05em;
  padding-top: .6em;
  text-transform: uppercase;
}
.guidelines main .list-bg .list .box {
  padding-left: 40px;
  padding-right: 40px;
}
.guidelines main .list-bg .list.list02 .box {
  display: flex;
  gap: 40px;  
}
.guidelines main .list-bg .list .box ul {
  margin-bottom: -.6em;
}
.guidelines main .list-bg .list .box > ul {
  column-count: 2;
  column-gap: 40px;
}
.guidelines main .list-bg .list.list02 .box > ul {
  column-count: inherit;
  column-gap: inherit;
  width: 50%;
}
.guidelines main .list-bg .list .box ul li {
  position: relative;
  padding-left: 1.2em;
  margin-bottom: .6em;
}
.guidelines main .list-bg .list .box ul li:before {
  position: absolute;
  top: .5em;
  left: 0;
  margin: auto;
  width: 1em;
  height: 1em;
  background: #006400;
  border-radius: 50%;
  content: '';
}
.guidelines main .list-bg .list .box ul li:after {
  position: absolute;
  top: .8em;
  left: .3em;
  margin: auto;
  width: .3em;
  height: .3em;
  border: 0;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  transform: rotate(45deg);
  content: '';
}
.guidelines main .list-bg .list .box > ul > li summary {
  position: relative;
  display: block;
  cursor: pointer;
  padding-right: calc(10px + 20px + 1em);
}
.guidelines main .list-bg .list .box > ul > li summary::before ,
.guidelines main .list-bg .list .box > ul > li summary::after {
  position: absolute;
	top: 1em;
  right: 10px;
  width: 20px;
  height: 2px;
  background: #3c1d07;
  transition: .3s;
  content: '';
}
.guidelines main .list-bg .list .box > ul > li summary::after {
  transform: translateY(-50%) rotate(90deg);
}
.guidelines main .list-bg .list .box > ul > li details[open] summary::after {
  transform: translateY(-50%) rotate(180deg);
}
.guidelines main .list-bg .list .box > ul > li details .acc_box {
  position: relative;
  transform: translateY(-10px);
  opacity: 0;
  transition: transform .5s, opacity .5s;
  padding-left: .5em;
  padding-top: .3em;
}
.guidelines main .list-bg .list .box > ul > li details[open] .acc_box {
  transform: none;
  opacity: 1;
}



/*privacy-policy*/
.privacy-policy main {
  background: none;
  padding-bottom: 0;
}
.privacy-policy main .list-bg {
  background: #f4f2f1;
  padding: 0 20px;
  padding-top: 200px;
  padding-bottom: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
.privacy-policy main .list-bg .list {
  position: relative;
  width: 1170px;
  background: #FFF;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  border-radius: 30px;
  margin-bottom: 120px;
  padding-top: 160px;
  padding-bottom: 60px;
}
.privacy-policy main .list-bg .list h3 {
  position: absolute;
  top: -30px;
  left: 0;
  right: 0;
  z-index: 1;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  padding-top: 70px;
}
.privacy-policy main .list-bg .list h3::before {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 50px;
  height: 50px;
  background: url(../img/about-guidelines/guidelines_ison01.svg) no-repeat center center;
  background-size: cover;
  content: '';
}
.privacy-policy main .list-bg .list h3 span ,
.privacy-policy main .list-bg .list h3 em {
  display: block;
  line-height: 1em;
}
.privacy-policy main .list-bg .list h3 span {
  font-size: 4.0rem;
  font-weight: 700;
  letter-spacing: .1em;
}
.privacy-policy main .list-bg .list h3 em {
  font-size: 2.0rem;
  letter-spacing: .05em;
  padding-top: .6em;
  text-transform: uppercase;
}
.privacy-policy main .list-bg .list .box {
  padding-left: 40px;
  padding-right: 40px;
  margin-bottom: -.6em;
}
.privacy-policy main .list-bg .list .box ul li {
  position: relative;
  padding-left: 1.2em;
  margin-bottom: .6em;
}
.privacy-policy main .list-bg .list .box ul li:before {
  position: absolute;
  top: .5em;
  left: 0;
  margin: auto;
  width: 1em;
  height: 1em;
  background: #006400;
  border-radius: 50%;
  content: '';
}
.privacy-policy main .list-bg .list .box ul li:after {
  position: absolute;
  top: .8em;
  left: .3em;
  margin: auto;
  width: .3em;
  height: .3em;
  border: 0;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  transform: rotate(45deg);
  content: '';
}



/*executive-org*/
.executive-org main {
  background: none;
  padding-bottom: 0;
}
.executive-org main .list-bg {
  background: #f4f2f1;
  padding: 0 20px;
  padding-top: 200px;
  padding-bottom: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
.executive-org main .list-bg .list01 {
  margin-bottom: 100px;
}
.executive-org main .list-bg .list {
  position: relative;
  width: 1170px;
  background: #FFF;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  border-radius: 30px;
  margin-bottom: 120px;
  padding-top: 160px;
  padding-bottom: 60px;
}
.executive-org main .list-bg .list h3 {
  position: absolute;
  top: -30px;
  left: 0;
  right: 0;
  z-index: 1;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  padding-top: 70px;
}
.executive-org main .list-bg .list h3::before {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 50px;
  height: 50px;
  content: '';
}
.executive-org main .list-bg .list.list01 h3::before {
  background: url(../img/about-executive-org/executive-org_icon01.svg) no-repeat center center;
  background-size: cover;
}
.executive-org main .list-bg .list.list02 h3::before {
  background: url(../img/about-executive-org/executive-org_icon02.svg) no-repeat center center;
  background-size: cover;
}
.executive-org main .list-bg .list h3 span ,
.executive-org main .list-bg .list h3 em {
  display: block;
  line-height: 1em;
}
.executive-org main .list-bg .list h3 span {
  font-size: 4.0rem;
  font-weight: 700;
  letter-spacing: .1em;
}
.executive-org main .list-bg .list h3 em {
  font-size: 2.0rem;
  letter-spacing: .05em;
  padding-top: .6em;
  text-transform: uppercase;
}
.executive-org main .list-bg .list .box {
  padding-left: 40px;
  padding-right: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.executive-org main .list-bg .list.list01 .box table tr:not(:last-of-type) th ,
.executive-org main .list-bg .list.list01 .box table tr:not(:last-of-type) td {
  padding-bottom: .6em;
}
.executive-org main .list-bg .list.list01 .box table tr th {
  white-space: nowrap;
  padding-right: 5em;
}
.executive-org main .list-bg .list.list01 .box table tr th.ls3 {
  letter-spacing: 1em;
}
.executive-org main .list-bg .list.list01 .box table tr th.ls4 {
  letter-spacing: .35em;
}



/*electronic-public-notice*/
.electronic-public-notice main {
  background: none;
  padding-bottom: 0;
}
.electronic-public-notice main .list-bg {
  background: #f4f2f1;
  padding: 0 20px;
  padding-top: 200px;
  padding-bottom: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
.electronic-public-notice main .list-bg .list {
  position: relative;
  width: 1170px;
  background: #FFF;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  border-radius: 30px;
  margin-bottom: 120px;
  padding-top: 160px;
  padding-bottom: 60px;
}
.electronic-public-notice main .list-bg .list h3 {
  position: absolute;
  top: -30px;
  left: 0;
  right: 0;
  z-index: 1;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  padding-top: 70px;
}
.electronic-public-notice main .list-bg .list h3::before {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 50px;
  height: 50px;
  background: url(../img/about-electronic-public-notice/electronic-public-notice_ison01.svg) no-repeat center center;
  background-size: cover;
  content: '';
}
.electronic-public-notice main .list-bg .list h3 span ,
.electronic-public-notice main .list-bg .list h3 em {
  display: block;
  line-height: 1em;
}
.electronic-public-notice main .list-bg .list h3 span {
  font-size: 4.0rem;
  font-weight: 700;
  letter-spacing: .1em;
}
.electronic-public-notice main .list-bg .list h3 em {
  font-size: 2.0rem;
  letter-spacing: .05em;
  padding-top: .6em;
  text-transform: uppercase;
}
.electronic-public-notice main .list-bg .list .box {
  padding-left: 40px;
  padding-right: 40px;
  margin-bottom: -.6em;
}
.electronic-public-notice main .list-bg .list .box ul li {
  position: relative;
  padding-left: 1.2em;
  margin-bottom: .6em;
}
.electronic-public-notice main .list-bg .list .box ul li:before {
  position: absolute;
  top: .5em;
  left: 0;
  margin: auto;
  width: 1em;
  height: 1em;
  background: #006400;
  border-radius: 50%;
  content: '';
}
.electronic-public-notice main .list-bg .list .box ul li:after {
  position: absolute;
  top: .8em;
  left: .3em;
  margin: auto;
  width: .3em;
  height: .3em;
  border: 0;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  transform: rotate(45deg);
  content: '';
}



/*training-system*/
.training-system main {
  background: none;
  padding-bottom: 0;
}
.training-system main .list-bg {
  background: #c9e5ea;
  padding: 0 20px;
  padding-top: 200px;
  padding-bottom: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
.training-system main .list-bg .list {
  position: relative;
  width: 1170px;
  background: #FFF;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  border-radius: 30px;
  margin-bottom: 120px;
  padding-top: 160px;
  padding-bottom: 60px;
}
.training-system main .list-bg .list h3 {
  position: absolute;
  top: -30px;
  left: 0;
  right: 0;
  z-index: 1;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  padding-top: 70px;
}
.training-system main .list-bg .list h3::before {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 50px;
  height: 50px;
  background: url(../img/recruit-training-system/training-system_icon.svg) no-repeat center center;
  background-size: cover;
  content: '';
}
.training-system main .list-bg .list h3 span ,
.training-system main .list-bg .list h3 em {
  display: block;
  line-height: 1em;
}
.training-system main .list-bg .list h3 span {
  font-size: 4.0rem;
  font-weight: 700;
  letter-spacing: .1em;
}
.training-system main .list-bg .list h3 em {
  font-size: 2.0rem;
  letter-spacing: .05em;
  padding-top: .6em;
  text-transform: uppercase;
}
.training-system main .list-bg .list .box {
  padding-left: 40px;
  padding-right: 40px;
}
.training-system main .list-bg .list .box .comment {
  margin-bottom: 3em;
}
.training-system main .list-bg .list .box .img ul {
  display: flex;
  gap: 40px;
}



/*message*/
.message main {
  background: none;
  padding-bottom: 0;
}
.message main .list-bg {
  background: #c9e5ea;
  padding: 0 20px;
  padding-top: 200px;
  padding-bottom: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
.message main .list-bg .list {
  position: relative;
  width: 1170px;
  background: #FFF;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  border-radius: 30px;
  margin-bottom: 120px;
  padding-top: 160px;
  padding-bottom: 60px;
}
.message main .list-bg .list h3 {
  position: absolute;
  top: -30px;
  left: 0;
  right: 0;
  z-index: 1;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  padding-top: 70px;
}
.message main .list-bg .list h3::before {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 50px;
  height: 50px;
  background: url(../img/recruit-message/message_icon.svg) no-repeat center center;
  background-size: cover;
  content: '';
}
.message main .list-bg .list h3 span ,
.message main .list-bg .list h3 em {
  display: block;
  line-height: 1em;
}
.message main .list-bg .list h3 span {
  font-size: 4.0rem;
  font-weight: 700;
  letter-spacing: .1em;
}
.message main .list-bg .list h3 em {
  font-size: 2.0rem;
  letter-spacing: .05em;
  padding-top: .6em;
  text-transform: uppercase;
}
.message main .list-bg .list .box {
  display: flex;
  justify-content: center;
  padding-left: 40px;
  padding-right: 40px;
}
.message main .list-bg .list .box .comment {
  order: 99;
  max-width: 610px;
  font-size: 1.8rem;
  letter-spacing: .03em;
}
.message main .list-bg .list .box .comment p {
  font-weight: 500;
}
.message main .list-bg .list .box .comment p:not(:last-of-type) {
  margin-bottom: 1.2em;
}
.message main .list-bg .list .box .img_name {
  order: -99;
  margin-right: 80px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: column;
}
.message main .list-bg .list .box .img_name .img {
  width: 180px;
  margin-bottom: 10px;
}
.message main .list-bg .list .box .img_name .name {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
.message main .list-bg .list .box .img_name .name em ,
.message main .list-bg .list .box .img_name .name span {
  display: block;
  text-align: center;
  letter-spacing: .03em;
}
.message main .list-bg .list .box .img_name .name em {
  font-size: 1.4rem;
  font-weight: 500;
  margin-bottom: .2em;
}
.message main .list-bg .list .box .img_name .name span {
  font-size: 2.2rem;
  font-weight: 900;
}





/*business-owner solution*/
.solution main {
  padding-bottom: 0;
}
.solution main .main_img {
  margin-bottom: 50px;
}
.solution main .about-comment {
  margin-bottom: 80px;
}
.solution main .recommend {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  margin-bottom: 50px;
}
.solution main .recommend ul li {
  position: relative;
  padding-left: 1em;
}
.solution main .recommend ul li::before {
  position: absolute;
  top: .65em;
  left: 0;
  width: .6em;
  height: .6em;
  line-height: 1em;
  background: #3c1d07;
  border-radius: 50%;
  content: '';
}
.solution main .contact {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #FFF;
  padding-top: 50px;
  padding-bottom: 50px;
}
.solution main .contact .box {
  padding-left: 20px;
  padding-right: 20px;
}
.solution main .contact .box h5 {
  font-size: 2.0rem;
  font-weight: 700;
  margin-bottom: .5em;
}
.solution main .contact .box h6 {
  font-size: 1.8rem;
  font-weight: 500;
  margin-bottom: .5em;
}
.solution main .contact .box .tel-contact {
  margin-bottom: 30px;
}
.solution main .contact .box .tel-contact ul {
  display: flex;
  gap: 30px;
}
.solution main .contact .box .tel-contact ul li a {
  position: relative;
  color: #539466;
  background: linear-gradient(currentcolor, currentcolor) left bottom / 100% 1px no-repeat;
	transition: background-size .4s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.solution main .contact .box .tel-contact ul li a:hover {
  background-position: right bottom;
	background-size: 0 1px;
  color: #53b689;
}





/*individual use app-creco*/
.app-creco main .box-list002 > section > .comment01 {
  margin-bottom: 3em;
}
.app-creco main .box-list002 > section > .box {
  counter-reset: number;
}
.app-creco main .box-list002 > section > .box > section:not(:last-of-type) {
  margin-bottom: 80px;
}
.app-creco main .box-list002 > section > .box > section .title01 span:before {
  margin-right: .5em;
  counter-increment: number;
  content: counter(number)'.';
}
.app-creco main .box-list002 > section > .box > section .comment02:not(:last-child) {
  margin-bottom: 2em;
}
.app-creco main .box-list002 > section > .box > section .comment02 p:not(:last-child) {
  margin-bottom: 1.5em;
}
.app-creco main .box-list002 > section > .box > section .comment02 p.caution {
  position: relative;
  padding-left: 1.2em;
}
.app-creco main .box-list002 > section > .box > section .comment02 p.caution:before {
  position: absolute;
  top: 0;
  left: 0;
  content: '※';
}
.app-creco main .box-list002 > section > .box > section .comment02 h4 {
  font-size: 3.0rem;
  font-weight: 700;
  letter-spacing: .1em;
  margin-bottom: .2em;
}
.app-creco main .box-list002 > section > .box > section .img_box01 ul {
  display: flex;
  gap: 40px;
}
.app-creco main .box-list002 > section > .box > section .step {
  counter-reset: step-number;
}
.app-creco main .box-list002 > section > .box > section .step section:not(:last-of-type) {
  margin-bottom: 50px;
}
.app-creco main .box-list002 > section > .box > section .step section h4 {
  display: flex;
  margin-bottom: .8em;
}
.app-creco main .box-list002 > section > .box > section .step section h4 span {
  position: relative;
  display: block;
  padding-left: 4.5em;
  font-size: 1.8rem;
  font-weight: 700;
}
.app-creco main .box-list002 > section > .box > section .step section h4 span::before {
  position: absolute;
  top: 0;
  left: 0;
  counter-increment: step-number;
  content: 'STEP'counter(step-number);
  text-transform: full-width;
}
.app-creco main .box-list002 > section > .box > section .step section h4 span::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background: #539466;
  content: '';
}
.app-creco main .box-list002 > section > .box > section .step section dl {
  display: flex;
  padding-left: 1.5em;
}
.app-creco main .box-list002 > section > .box > section .step section dl dt {
  display: flex;
  align-items: flex-start;
  margin-right: 20px;
}
.app-creco main .box-list002 > section > .box > section .step section dl dt span {
  position: relative;
  display: block;
  padding-right: 1.5em;
}
.app-creco main .box-list002 > section > .box > section .step section dl dt span::after {
  position: absolute;
  bottom: 0;
  right: 0;
  content: '→';
}
.app-creco main .box-list002 > section > .box > section .step section dl dd {
  width: 150px;
}
.app-creco main .box-list002 > section > .box > section .step section .comment03 {
  padding-left: 1.5em;
}
.app-creco main .box-list002 > section > .box > section .step section .comment03 p:not(:last-of-type) {
  margin-bottom: 1.5em;
}
.app-creco main .box-list002 > section > .box > section .step section .comment03 p.mb02 {
  margin-bottom: 2.5em;
}
.app-creco main .box-list002 > section > .box > section .step section .comment03 p.circle {
  position: relative;
  padding-left: 1.2em;
}
.app-creco main .box-list002 > section > .box > section .step section .comment03 p.circle:before {
  position: absolute;
  top: 0;
  left: 0;
  content: '○';
}
.app-creco main .box-list002 > section > .box > section .step section .comment03 p.caution {
  position: relative;
  padding-left: 1.2em;
}
.app-creco main .box-list002 > section > .box > section .step section .comment03 p.caution:before {
  position: absolute;
  top: 0;
  left: 0;
  content: '※';
}
.app-creco main .box-list002 > section > .box > section .step section .comment03 p a {
  margin-bottom: 2.5em;
}




/*appleplusone-detail*/
.appleplusone-detail main {
  background: none;
  padding-bottom: 0;
}
.appleplusone-detail main .main_img {
  background: url(../img/individual/borrow/free-appleplusone-detail/main_img_bg.svg) repeat center center;
  padding: 0 20px;
  padding-top: 20px;
  padding-bottom: 140px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.appleplusone-detail main .main_img p {
  max-width: 1020px;
}
.appleplusone-detail main .about {
  position: relative;
  z-index: 1;
}
.appleplusone-detail main .about section {
  position: relative;
}
.appleplusone-detail main .about section:nth-of-type(1) {
  z-index: 30;
}
.appleplusone-detail main .about section:nth-of-type(2) {
  z-index: 20;
}
.appleplusone-detail main .about section:nth-of-type(3) {
  z-index: 10;
}
.appleplusone-detail main .about section::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 0 0 120px 120px;
  content: '';
}
.appleplusone-detail main .about section:nth-of-type(1):before {
  z-index: -10;
  background: #FFF;
}
.appleplusone-detail main .about section:nth-of-type(2):before {
  top: -130px;
  height: calc(100% + 130px);
  z-index: -20;
  background: #e4f5e9;
}
.appleplusone-detail main .about section:nth-of-type(3):before {
  top: -130px;
  height: calc(100% + 130px);
  z-index: -30;
  background: #FFF;
}
.appleplusone-detail main .about section::after {
  position: absolute;
  top: 18px;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 0 0 120px 120px;
  background: rgba(0, 0, 0, .05);
  mix-blend-mode: multiply;
  content: '';
}
.appleplusone-detail main .about section:nth-of-type(1):after {
  z-index: -11;
}
.appleplusone-detail main .about section:nth-of-type(2):after {
  z-index: -21;
}
.appleplusone-detail main .about section:nth-of-type(3):after {
  z-index: -31;
}
.appleplusone-detail main .about section .arrow {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 20px;
  padding-top: 60px;
  padding-bottom: 120px;
}
.appleplusone-detail main .about section:nth-of-type(1) .arrow::after {
  position: absolute;
  bottom: -45px;
  right: 0;
  left: 0;
  z-index: 10;
  margin: 0 auto;
  width: 112px;
  height: 45px;
  background: url(../img/individual/borrow/free-appleplusone-detail/about_arrow02.svg) no-repeat center center;
  background-size: cover;
  content: '';
}
.appleplusone-detail main .about section:nth-of-type(2) .arrow::after {
  position: absolute;
  bottom: -45px;
  right: 0;
  left: 0;
  z-index: 10;
  margin: 0 auto;
  width: 112px;
  height: 45px;
  background: url(../img/individual/borrow/free-appleplusone-detail/about_arrow01.svg) no-repeat center center;
  background-size: cover;
  content: '';
}
.appleplusone-detail main .point {
  position: relative;
  background: #f8dada;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 20px;
  padding-top: 120px;
  padding-bottom: 130px;
}
.appleplusone-detail main .point::before {
  position: absolute;
  top: -200px;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 200px;
  background: #f8dada;
  content: '';
}
.appleplusone-detail main .point .box {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
.appleplusone-detail main .point .box h3 {
  width: 350px;
  margin-bottom: 60px;
}
.appleplusone-detail main .point .box .img ul {
  display: flex;
  gap: 50px;
}
.appleplusone-detail main .point .box .img ul li {
  /*width: 330px;*/
  width: calc((100% - (50px * 2)) / 3);
}
.appleplusone-detail main .faq {
  background: #fff2c8;
  padding: 0 20px;
  padding-top: 120px;
  padding-bottom: 140px;
}
.appleplusone-detail main .faq h3 {
  width: 405px;
  margin: 0 auto;
  margin-bottom: 200px;
}
.appleplusone-detail main .faq .box {
  position: relative;
  z-index: 1;
  width: 1500px;
  margin: 0 auto;
}
.appleplusone-detail main .faq .box section {
  position: relative;
  background: #FFF;
  border-radius: 110px;
}
.appleplusone-detail main .faq .box section::before {
  position: absolute;
  top: 18px;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  border-radius: 110px;
  background: rgba(0, 0, 0, .05);
  mix-blend-mode: multiply;
  content: '';
}
.appleplusone-detail main .faq .box section:not(:last-of-type) {
  margin-bottom: 140px;
}
.appleplusone-detail main .faq .box section .number {
  position: absolute;
  top: -48px;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 108px;
}
.appleplusone-detail main .faq .box section .box_q {
  padding: 60px 20px 80px;
}
.appleplusone-detail main .faq .box section .box_q p {
  text-align: center;
  font-size: 3.0rem;
  font-weight: 700;
  letter-spacing: .05em;
  color: #553a27;
}
.appleplusone-detail main .faq .box section .box_a {
  position: relative;
  padding-bottom: 80px;
}
.appleplusone-detail main .faq .box section .box_a .green {
  position: relative;
  background: #0a9969;
  padding: 50px 20px 40px;
}
.appleplusone-detail main .faq .box section .box_a .green p em {
  position: absolute;
  top: -44px;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 108px;
  display: block;
}
.appleplusone-detail main .faq .box section .box_a .green p span {
  display: block;
  text-align: center;
  font-size: 2.2rem;
  font-weight: 700;
  letter-spacing: .05em;
  color: #ffffff;
}
.appleplusone-detail main .faq .box section .box_a .img {
  padding: 0 20px;
  padding-top: 60px;
  margin: 0 auto;
}
.appleplusone-detail main .faq .box section.faq001 .box_a .img {
  max-width: 1100px;
}
.appleplusone-detail main .faq .box section.faq002 .box_a .img {
  max-width: 835px;
}
.appleplusone-detail main .faq .box section.faq003 .box_a .img {
  max-width: 420px;
}
.appleplusone-detail main .voice {
  background: #f8dada;
  padding: 0 20px;
  padding-top: 140px;
  padding-bottom: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.appleplusone-detail main .voice .box {
  position: relative;
}
.appleplusone-detail main .voice .box h3 {
  position: absolute;
	left: 50%;
	transform: translateX(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
.appleplusone-detail main .voice .box h3 * {
  position: relative;
  line-height: 1em;
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-lr;
	-o-writing-mode: vertical-lr;
	writing-mode: vertical-lr;
  white-space: nowrap;
}
.appleplusone-detail main .voice .box h3 em {
  font-size: 2.0rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-indent: .1em;
  padding: .8em .4em;
  border: solid 1px #3c1d07;
  border-radius: 15px;
  margin-bottom: 30px;
}
.appleplusone-detail main .voice .box h3 span {
  font-size: 4.2rem;
  font-weight: 700;
  letter-spacing: .075em;
  color: #3c1d07;
}
.appleplusone-detail main .voice .box .box_in {
  display: flex;
  gap: 250px;
}
.appleplusone-detail main .voice .box .box_in section {
  width: 365px;
}
.appleplusone-detail main .voice .box .box_in section .img {
  width: 220px;
  margin: 0 auto;
  margin-bottom: 35px;
}
.appleplusone-detail main .voice .box .box_in section h4 {
  text-align: center;
  font-size: 2.2rem;
  font-weight: 700;
  color: #dd4545;
  line-height: 1.45;
  margin-bottom: .8em;
}
.appleplusone-detail main .voice .box .box_in section .comment {
  font-size: 1.8rem;
  letter-spacing: .05em;
}
.appleplusone-detail main .item {
  background: #fff2c8;
  padding: 0 20px;
  padding-top: 120px;
  padding-bottom: 140px;
}
.appleplusone-detail main .item .box {
  position: relative;
  z-index: 1;
  width: 1500px;
  margin: 0 auto;
  padding: 110px 260px 100px;
}
.appleplusone-detail main .item .box::before {
  position: absolute;
  top: 18px;
  left: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  border-radius: 110px;
  background: rgba(0, 0, 0, .05);
  mix-blend-mode: multiply;
  content: '';
}
.appleplusone-detail main .item .box::after {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  background: #FFF;
  border-radius: 110px;
  content: '';
}
.appleplusone-detail main .item .box h3 {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  margin-bottom: 90px;
}
.appleplusone-detail main .item .box h3 em {
  display: block;
  font-size: 2.6rem;
  font-weight: 700;
  letter-spacing: .1em;
}
.appleplusone-detail main .item .box h3 span {
  display: block;
  font-size: 3.0rem;
  font-weight: 700;
  letter-spacing: .1em;
}
.appleplusone-detail main .item .box h3 span i {
  font-weight: 700;
  color: #dd4545;
}
.appleplusone-detail main .item .box table {
  width: 100%;
}
.appleplusone-detail main .item .box table tr th {
  width: 180px;
  padding: .4em 1.2em;
  font-weight: 700;
  background: rgba(0, 0, 0, .06);
  border-bottom: solid 1px #3c1d07;
}
.appleplusone-detail main .item .box table tr td {
  width: calc(100% - 180px);
  padding: .4em 1.2em;
  border-bottom: solid 1px #3c1d07;
}
.appleplusone-detail main .item .box table tr td ol {
  counter-reset: number;
}
.appleplusone-detail main .item .box table tr td ol li {
  position: relative;
  padding-left: 1em;
}
.appleplusone-detail main .item .box table tr td ol li:before {
  position: absolute;
  top: 0;
  left: 0;
  counter-increment: number;
  content: counter(number)'.';
}
.appleplusone-detail main .item .box table tr td ul li {
  position: relative;
  padding-left: .8em;
}
.appleplusone-detail main .item .box table tr td ul li:before {
  position: absolute;
  top: 0;
  left: 0;
  content: '・';
}
.appleplusone-detail main .item .box table + .day_info {
  font-size: 1.3rem;
  text-align: right;
  padding-top: .4em;
}
.appleplusone-detail main .item .search_tel {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  padding-top: 140px;
}
.appleplusone-detail main .item .search_tel h4 {
  font-size: 2.0rem;
  font-weight: 700;
  letter-spacing: .05em;
  margin-bottom: 1.4em;
}
.appleplusone-detail main .item .search_tel ul {
  display: flex;
  align-items: center;
  justify-content: center;
  /*margin-bottom: 40px;*/
  gap: 30px;
}
.appleplusone-detail main .item .search_tel ul li a {
  display: block;
  background: #e15d5d;
  border: solid 1px #e15d5d;
  color: #FFF;
  font-size: 2.0rem;
  font-weight: 700;
  letter-spacing: .05em;
  padding: .4em 2em;
  border-radius: 1.5em;
}
.appleplusone-detail main .item .search_tel ul li a:hover {
  background: #FFF;
  border: solid 1px #e15d5d;
  color: #e15d5d;
}
.appleplusone-detail main .item .search_tel p {
  /*display: flex;
  align-items: center;
  justify-content: center;*/
  display: none;
}
.appleplusone-detail main .item .search_tel p a {
  position: relative;
  font-size: 3.5rem;
  line-height: 1em;
  padding-left: 1.6em;
}
.appleplusone-detail main .item .search_tel p a::before {
  position: absolute;
  top: .2em;
  left: 0;
  width: 1.3714em;
  height: .7714em;
  background: url(../img/individual/borrow/free-appleplusone-detail/search_tel-icon.svg) no-repeat center center;
  background-size: cover;
  content: '';
}
.appleplusone-detail main .item .search_tel p a span {
  font-weight: 700;
}




/*promotion-funds*/
.promotion-funds main .tbl-list001 > section .box01 section table thead tr th ,
.promotion-funds main .tbl-list001 > section .box01 section table thead tr td {
  padding: .6em 1em;
}
.promotion-funds main .tbl-list001 > section .box01 section table tbody tr th ,
.promotion-funds main .tbl-list001 > section .box01 section table tbody tr td {
  vertical-align: middle;
}



/*attention*/
.attention main .box {
  padding-top: 200px;
}
.attention main .box > section {
  position: relative;
  background: #FFF;
  padding: 100px 60px 80px;
  border-radius: 20px;
  box-shadow: 0 15px 10px 5px rgba(0, 0, 0, .2);
}
.attention main .box > section .icon {
  position: absolute;
  top: -30px;
  left: 0;
  right: 0;
  z-index: 1;
  margin: 0 auto;
  width: 50px;
}
.attention main .box > section .acc details {
  position: relative;
  border: solid 2px #009563;
  border-radius: 10px;
  transition: 0.5s;
  margin-bottom: 20px;
}
.attention main .box > section .acc details[open] {
  transition: .5s;
}
.attention main .box > section .acc details summary {
  position: relative;
  display: block;
  cursor: pointer;
}
.attention main .box > section .acc details summary::before ,
.attention main .box > section .acc details summary::after {
  position: absolute;
	top: 50%;
	transform: translateY(-50%);
  right: 40px;
  width: 20px;
  height: 2px;
  background: #3c1d07;
  transition: .3s;
  content: '';
}
.attention main .box > section .acc details summary::after {
  transform: translateY(-50%) rotate(90deg);
}
.attention main .box > section .acc details[open] summary::after {
  transform: translateY(-50%) rotate(180deg);
}
.attention main .box > section .acc details summary span {
  position: relative;
  display: block;
  font-size: 2.0rem;
  font-weight: 700;
  padding: .8em 2em;
}
.attention main .box > section .acc details .content {
  padding: 0 50px 30px;
}
.attention main .box > section .acc details .content ,
.attention main .box > section .acc details[open] .content {
  transition: 0.5s;
}
.attention main .box > section .acc details .content .img01 {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 40px;
}
.attention main .box > section .acc details .content.img01 span {
  display: block;
}
.attention main .box > section .acc details .content section:not(:last-of-type) {
  margin-bottom: 2.5em;
}
.attention main .box > section .acc details .content section .comment01 p:not(:last-of-type) {
  margin-bottom: 1.2em;
}
.attention main .box > section .acc details .content section .comment01 p span {
  font-weight: 700;
  background:linear-gradient(transparent 60%, #ff6 60%);
}
.attention main .box > section .acc details .content section .comment02 {
  counter-reset: number sub-number;
}
.attention main .box > section .acc details .content section .comment02 p:not(:last-child) {
  margin-bottom: 1.2em;
}
.attention main .box > section .acc details .content section .comment02 > dl:not(:last-child) {
  margin-bottom: 1.8em;
}
.attention main .box > section .acc details .content section .comment02 > dl > dt {
  position: relative;
  padding-left: 1.8em;
  font-weight: 700;
}
.attention main .box > section .acc details .content section .comment02 > dl > dt::before {
  position: absolute;
  top: 0;
  left: 0;
  counter-increment: number;
  content: 'Q'counter(number)'．';
}
.attention main .box > section .acc details .content section .comment02 > dl > dd span {
  display: block;
  font-weight: 500;
}
.attention main .box > section .acc details .content section .comment02 > dl > dd section {
  padding-left: 2em;
}
.attention main .box > section .acc details .content section .comment02 > dl > dd section dl:not(:last-child) {
  margin-bottom: .6em;
}
.attention main .box > section .acc details .content section .comment02 > dl > dd section dl dt {
  position: relative;
  padding-left: 1.8em;
  font-weight: 700;
}
.attention main .box > section .acc details .content section .comment02 > dl > dd section dl dt::before {
  position: absolute;
  top: 0;
  left: 0;
  counter-increment: sub-number;
  content: 'A'counter(sub-number)'．';
}
.attention main .box > section .acc details .content section .comment03 {
  padding-top: 2em;
}
.attention main .box > section .acc details .content section .comment03 p:not(:last-child) {
  margin-bottom: 1.2em;
}
.attention main .box > section .acc details .content section .comment03 p span {
  font-weight: 700;
  padding: 0 .5em;
  color: #ff0000;
}
.attention main .box > section .acc details .content section .comment03 .time {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
.attention main .box > section .acc details .content section .comment03 .time dl {
  display: flex;
  margin-bottom: .5em;
}
.attention main .box > section .acc details .content section .comment04 p {
  position: relative;
}
.attention main .box > section .acc details .content section .comment04 p:not(:last-child) {
  margin-bottom: 1.2em;
}
.attention main .box > section .acc details .content section .comment04 p.caution {
  padding-left: 1em;
}
.attention main .box > section .acc details .content section .comment04 p.caution::before {
  position: absolute;
  top: 0;
  left: 0;
  content: '※';
}
.attention main .box > section .acc details .content section .comment04 p span {
  font-weight: 700;
}
.attention main .box > section .acc details .content section .comment04 p em {
  font-weight: 500;
  background:linear-gradient(transparent 80%, #7dc2af 80%);
}
.attention main .box > section .acc details .content section .comment04 ul li {
  font-weight: 700;
}
.attention main .box > section .acc details .content section .comment04 ul li:not(:last-of-type) {
  margin-bottom: .3em;
}
.attention main .box > section .acc details .content section .number01 ol {
  counter-reset: number;
}
.attention main .box > section .acc details .content section .number01 ol li {
  position: relative;
  padding-left: 1.5em;
}
.attention main .box > section .acc details .content section .number01 ol li:not(:last-of-type) {
  margin-bottom: .8em;
}
.attention main .box > section .acc details .content section .number01 ol li::before {
  position: absolute;
  top: 0;
  left: 0;
  counter-increment: number;
  content: counter(number)'．';
}
.attention main .box > section .acc details .content section .list01 > ul > li {
  position: relative;
  padding-left: .8em;
}
.attention main .box > section .acc details .content section .list01 > ul > li::before {
  position: absolute;
  top: .7em;
  left: 0;
  width: .6em;
  aspect-ratio: 1;
  border-radius: 50%;
  background: #666;
  content: '';
}
.attention main .box > section .acc details .content section .list01 > ul > li:not(:last-of-type) {
  margin-bottom: .4em;
}
.attention main .box > section .acc details .content section .list01 > ul > li ul {
  padding-top: .1em;
  left: 1.5em;
}
.attention main .box > section .acc details .content section .list01 > ul > li ul li {
  position: relative;
  padding-left: 1em;
}
.attention main .box > section .acc details .content section .list01 > ul > li ul li::before {
  position: absolute;
  top: 0;
  left: 0;
  content: '※';
}
.attention main .box > section .acc details .content section .link_txt {
  padding-top: .8em;
}
.attention main .box > section .acc details .content section .link_txt ul li:corner-present:last-of-type {
  margin-bottom: .8em;
}
.attention main .box > section .acc .pdf_btn p a {
  position: relative;
  display: block;
  border: solid 2px #009563;
  border-radius: 10px;
  transition: 0.5s;
}
.attention main .box > section .acc .pdf_btn p a:hover {
  border: solid 2px #009563;
  background: #009563;
  color: #FFF;
}
.attention main .box > section .acc .pdf_btn p a span {
  position: relative;
  display: block;
  font-size: 2.0rem;
  font-weight: 700;
  padding: .8em 2em;
}



/*interest-rates-fees*/
.interest-rates-fees main .btn ul li a {
  position: relative;
  background: #539466;
  border: solid 1px #539466;
  color: #FFF;
}
.interest-rates-fees main .btn ul li a:hover {
  background: #FFF;
  border: solid 1px #539466;
  color: #539466;
}
.interest-rates-fees main .btn ul li a::before {
  position: absolute;
  top: .9em;
  left: 1em;
  width: 1.5em;
  aspect-ratio: 1;
}
.interest-rates-fees main .btn ul li:nth-of-type(1) a::before {
  background: url(../img/interest-rates-fees/chart_icon-reverse.svg) no-repeat center center;
  background-size: cover;
  content: '';
}
.interest-rates-fees main .btn ul li:nth-of-type(2) a::before {
  background: url(../img/interest-rates-fees/interest-rates-fees_icon-reverse.svg) no-repeat center center;
  background-size: cover;
  content: '';
}
.interest-rates-fees main .btn ul li:nth-of-type(1) a:hover::before {
  background: url(../img/interest-rates-fees/chart_icon.svg) no-repeat center center;
  background-size: cover;
  content: '';
}
.interest-rates-fees main .btn ul li:nth-of-type(2) a:hover::before {
  background: url(../img/interest-rates-fees/interest-rates-fees_icon.svg) no-repeat center center;
  background-size: cover;
  content: '';
}
.interest-rates-fees main .box {
  padding-top: 200px;
}
.interest-rates-fees main .box > section {
  position: relative;
  background: #FFF;
  padding: 100px 60px 80px;
  padding-top: 200px;
  border-radius: 20px;
  box-shadow: 0 15px 10px 5px rgba(0, 0, 0, .2);
}
.interest-rates-fees main .box > section:not(:last-of-type) {
  margin-bottom: 120px;
}
.interest-rates-fees main .box > section h3 {
  position: absolute;
  top: -30px;
  left: 0;
  right: 0;
  z-index: 1;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  padding-top: 70px;
}
.interest-rates-fees main .box > section h3::before {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 50px;
  height: 50px;
}
.interest-rates-fees main .box > section:nth-of-type(1) h3::before {
  background: url(../img/interest-rates-fees/chart_icon.svg) no-repeat center center;
  background-size: cover;
  content: '';
}
.interest-rates-fees main .box > section:nth-of-type(2) h3::before {
  background: url(../img/interest-rates-fees/interest-rates-fees_icon.svg) no-repeat center center;
  background-size: cover;
  content: '';
}
.interest-rates-fees main .box > section h3 span ,
.interest-rates-fees main .box > section h3 em {
  display: block;
  line-height: 1em;
}
.interest-rates-fees main .box > section h3 span {
  font-size: 4.0rem;
  font-weight: 700;
  letter-spacing: .1em;
}
.interest-rates-fees main .box > section h3 em {
  font-size: 2.0rem;
  letter-spacing: .05em;
  padding-top: .6em;
  text-transform: uppercase;
}
.interest-rates-fees main .box > section section:not(:last-of-type) {
  margin-bottom: 50px;
}
.interest-rates-fees main .box > section .time {
  text-align: right;
  margin-bottom: 2.5em;
}
.interest-rates-fees main .box > section .list details {
  position: relative;
  display: block;
  transition: .5s;
}
.interest-rates-fees main .box > section .list details:not(:last-of-type) {
  margin-bottom: 20px;
}
.interest-rates-fees main .box > section .list details[open] {
  transition: .5s;
}
.interest-rates-fees main .box > section .list details summary {
  position: relative;
  display: block;
  cursor: pointer;
  background: #f6f6f6;
  border: solid 1px #ccc;
}
.interest-rates-fees main .box > section .list details summary::before ,
.interest-rates-fees main .box > section .list details summary::after {
  position: absolute;
	top: 50%;
	transform: translateY(-50%);
  right: 40px;
  width: 20px;
  height: 2px;
  background: #3c1d07;
  transition: .3s;
  content: '';
}
.interest-rates-fees main .box > section .list details summary::after {
  transform: translateY(-50%) rotate(90deg);
}
.interest-rates-fees main .box > section .list details[open] summary::after {
  transform: translateY(-50%) rotate(180deg);
}
.interest-rates-fees main .box > section .list details summary span {
  position: relative;
  display: block;
  font-size: 2.0rem;
  font-weight: 700;
  padding: .8em 2em;
}
.interest-rates-fees main .box > section .list details .content {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  padding-top: 30px;
}
.interest-rates-fees main .box > section .list details .caution {
  width: 800px;
  margin: 0 auto;
  padding-top: .8em;
}
.interest-rates-fees main .box > section .list details .caution p {
  text-align: right;
}
.interest-rates-fees main .box > section .list details .caution ul li {
  position: relative;
  padding-left: 1em;
}
.interest-rates-fees main .box > section .list details .caution ul li::before {
  position: absolute;
  top: 0;
  left: 0;
  content: '※';
}
.interest-rates-fees main .box > section .list details .caution-number {
  width: 800px;
  margin: 0 auto;
  padding-top: .8em;
}
.interest-rates-fees main .box > section .list details .caution-number ol {
  counter-reset: number;
}
.interest-rates-fees main .box > section .list details .caution-number ol li {
  position: relative;
  padding-left: 2em;
}
.interest-rates-fees main .box > section .list details .caution-number ol li:before {
  position: absolute;
  top: 0;
  left: 0;
  counter-increment: number;
  content: '※'counter(number)'.';
}
.interest-rates-fees main .box > section .list details .content .tbl01 {
  width: 800px;
}
.interest-rates-fees main .box > section .list details .content .tbl01 table {
  width: 100%;
}
.interest-rates-fees main .box > section .list details .content .tbl01 table tr th ,
.interest-rates-fees main .box > section .list details .content .tbl01 table tr td {
  border-top: solid 1px #ccc;
  border-bottom: solid 1px #ccc;
  padding: .6em 1.2em;
  width: 50%;
}
.interest-rates-fees main .box > section .list details .content .tbl01 table tr th {
  background: #EEE;
  font-weight: 700;
  text-align: center;
}
.interest-rates-fees main .box > section .list details .content .tbl01 table tr th[colspan="2"] {
  background: #ddd;
}
.interest-rates-fees main .box > section .list details .content .tbl01 table tr td {
  text-align: right;
}
.interest-rates-fees main .box > section .list details .content .tbl02 {
  width: 800px;
}
.interest-rates-fees main .box > section .list details .content .tbl02 table {
  width: 100%;
}
.interest-rates-fees main .box > section .list details .content .tbl02 table tr th ,
.interest-rates-fees main .box > section .list details .content .tbl02 table tr td {
  border-top: solid 1px #ccc;
  border-bottom: solid 1px #ccc;
  padding: .6em 1.2em;
  width: calc(100% / 3);
  vertical-align: middle;
}
.interest-rates-fees main .box > section .list details .content .tbl02 table tr th {
  background: #EEE;
  font-weight: 700;
  text-align: center;
}
.interest-rates-fees main .box > section .list details .content .tbl02 table tr th[colspan="2"] {
  width: calc(100% / 2);
}
.interest-rates-fees main .box > section .list details .content .tbl02 table tr td {
  text-align: right;
}
.interest-rates-fees main .box > section .list details .content .tbl03 {
  width: 800px;
}
.interest-rates-fees main .box > section .list details .content .tbl03 h5 {
  font-weight: 700;
  margin-bottom: .2em;
}
.interest-rates-fees main .box > section .list details .content .tbl03 table {
  width: 100%;
}
.interest-rates-fees main .box > section .list details .content .tbl03 table tr th ,
.interest-rates-fees main .box > section .list details .content .tbl03 table tr td {
  border-top: solid 1px #ccc;
  border-bottom: solid 1px #ccc;
  padding: .6em 1.2em;
  vertical-align: middle;
  text-align: center;
}
.interest-rates-fees main .box > section .list details .content .tbl03 table tr th {
  background: #EEE;
  font-weight: 700;
}
.interest-rates-fees main .box > section .list details .content .tbl03 table tr td ul {
  padding-top: .2em;
}
.interest-rates-fees main .box > section .list details .content .tbl03 table tr td ul li {
  position: relative;
  padding-left: 1em;
}
.interest-rates-fees main .box > section .list details .content .tbl03 table tr td ul li::before {
  position: absolute;
  top: 0;
  left: 0;
  content: '※';
}



/*store-atm*/
.store-atm main .code {
  padding-top: 100px;
  margin-bottom: 50px;
}
.store-atm main .code h3 {
  display: flex;
  align-items: baseline;
  justify-content: center;
}
.store-atm main .code h3 span ,
.store-atm main .code h3 em {
  display: block;
}
.store-atm main .code h3 span {
  font-size: 3.0rem;
  font-weight: 700;
}
.store-atm main .code h3 em {
  font-size: 2.0rem;
  font-weight: 500;
}
.store-atm main .comment {
  margin-bottom: 50px;
}
.store-atm main .comment p {
  text-align: center;
}
.store-atm main .box > section {
  position: relative;
  background: #FFF;
  padding: 100px 60px 80px;
  border-radius: 20px;
  box-shadow: 0 15px 10px 5px rgba(0, 0, 0, .2);
}
.store-atm main .box > section:not(:last-of-type) {
  margin-bottom: 120px;
}
.store-atm main .box > section h3 {
  position: absolute;
  top: -1em;
  right: 0;
  left: 0;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.4rem;
}
.store-atm main .box > section h3 span {
  display: block;
  background: #539466;
  color: #FFF;
  font-size: 2.4rem;
  font-weight: 700;
  letter-spacing: .1em;
  line-height: 1em;
  padding: .6em 1em;
  border-radius: 1.5em;
}
.store-atm main .box > section .list01 details {
  position: relative;
  display: block;
  transition: .5s;
}
.store-atm main .box > section .list01 details:not(:last-of-type) {
  margin-bottom: 20px;
}
.store-atm main .box > section .list01 details[open] {
  transition: .5s;
}
.store-atm main .box > section .list01 details summary {
  position: relative;
  display: block;
  cursor: pointer;
  background: #f6f6f6;
  border: solid 1px #ccc;
}
.store-atm main .box > section .list01 details summary::before ,
.store-atm main .box > section .list01 details summary::after {
  position: absolute;
	top: 50%;
	transform: translateY(-50%);
  right: 40px;
  width: 20px;
  height: 2px;
  background: #3c1d07;
  transition: .3s;
  content: '';
}
.store-atm main .box > section .list01 details summary::after {
  transform: translateY(-50%) rotate(90deg);
}
.store-atm main .box > section .list01 details[open] summary::after {
  transform: translateY(-50%) rotate(180deg);
}
.store-atm main .box > section .list01 details summary span {
  position: relative;
  display: flex;
  align-items: baseline;
  font-size: 2.0rem;
  font-weight: 700;
  padding: .8em 2em;
}
.store-atm main .box > section .list01 details summary span em {
  display: block;
  font-size: 1.6rem;
  font-weight: 500;
}
.store-atm main .box > section .list01 details .content {
  width: 800px;
  margin: 0 auto;
  padding-top: 30px;
  display: flex;
}
.store-atm main .box > section .list01 details .content .img {
  width: 300px;
  margin-right: 40px;
}
.store-atm main .box > section .list01 details .content .box_r {
  width: calc(100% - (300px + 40px));
}
.store-atm main .box > section .list01 details .content .box_r address {
  display: block;
  margin-bottom: .5em;
}
.store-atm main .box > section .list01 details .content .box_r dl {
  display: flex;
  margin-bottom: .5em;
}
.store-atm main .box > section .list01 details .content .box_r dl dt {
  margin-right: 30px;
}
.store-atm main .box > section .list01 details .content .box_r ul li:not(:last-of-type) {
  margin-bottom: .2em;
}
.store-atm main .box > section .list02 p.store_name {
  font-size: 2.0rem;
  font-weight: 700;
  margin-bottom: .4em;
}
.store-atm main .box > section .list02 address {
  display: block;
  margin-bottom: .5em;
}
.store-atm main .box > section .list02 ul li {
  position: relative;
  padding-left: .8em;
}
.store-atm main .box > section .list02 ul li::before {
  position: absolute;
  top: .7em;
  left: 0;
  width: .6em;
  aspect-ratio: 1;
  border-radius: 50%;
  background: #666;
  content: '';
}
.store-atm main .box > section .list02 ul li:not(:last-of-type) {
  margin-bottom: .4em;
}





/*internet-banking*/
.internet-banking .main_img {
  position: relative;
  height: 590px;
  overflow: hidden;
}
.internet-banking .main_img::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  background: url(../img/internet-banking/main_img.jpg) no-repeat center center;
  background-size: cover;
  content: '';
}
.internet-banking .main_img .cetch {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}
.internet-banking .main_img .cetch::before {
	position: absolute;
  top: 15px;
  left: 15px;
  z-index: -1;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, .6);
  content: '';
}
.internet-banking .main_img .cetch h3 {
  position: relative;
  width: 560px;
  height: 135px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.internet-banking .main_img .cetch h3::before {
  position: absolute;
  top: 0;
  left: 0;
  width: calc(100% - 20px);
  height: calc(100% - 20px);
  border-top: solid 1px #3c1d07;
  border-left: solid 1px #3c1d07;
  content: '';
}
.internet-banking .main_img .cetch h3::after {
  position: absolute;
  bottom: 0;
  right: 0;
  width: calc(100% - 20px);
  height: calc(100% - 20px);
  border-bottom: solid 1px #3c1d07;
  border-right: solid 1px #3c1d07;
  content: '';
}
.internet-banking .main_img .cetch h3 span {
  display: block;
  width: 280px;
}
.internet-banking main {
  padding-bottom: 0;
}
.internet-banking main .box {
  padding-top: 200px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
.internet-banking main .box .phishwall {
  margin-bottom: 50px;
}
.internet-banking main .box .net-bank-login {
  margin-bottom: 50px;
}
.internet-banking main .box .net-bank-login p a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  padding: 1em 5em;
  background: #539466;
  border: solid 1px #539466;
  color: #FFF;
  width: 500px;
  height: 100px;
  border-radius: 50px;
}
.internet-banking main .box .net-bank-login p a:hover {
  background: #FFF;
  border: solid 1px #539466;
  color: #539466;
}
.internet-banking main .box .net-bank-login p a::before ,
.internet-banking main .box .net-bank-login p a::after {
  position: absolute;
	top: 50%;
	transform: translateY(-50%);
}
.internet-banking main .box .net-bank-login p a::before {
  left: 1em;
  width: calc(3.25em * .8);
  height: calc(2.875em * .8);
  background: url(../img/internet-banking/net-icon.svg) no-repeat center center;
  background-size: cover;
  content: '';
}
.internet-banking main .box .net-bank-login p a:hover::before {
  background: url(../img/internet-banking/net-icon-reverse.svg) no-repeat center center;
  background-size: cover;
  content: '';
}
.internet-banking main .box .net-bank-login p a::after {
  right: .3em;
	font-family: "Font Awesome 6 Free";
  font-size: 4.0rem;
	content: "\f138";
  font-weight: 900;
}
.internet-banking main .box .net-bank-login p a em ,
.internet-banking main .box .net-bank-login p a span {
  display: block;
  line-height: 1em;
}
.internet-banking main .box .net-bank-login p a em {
  font-size: 2.0rem;
  font-weight: 500;
  padding-bottom: .3em;
}
.internet-banking main .box .net-bank-login p a span {
  font-size: 4.0rem;
  font-weight: 700;
  letter-spacing: .2em;
}
.internet-banking main .box .btn {
  margin-bottom: 50px;
}
.internet-banking main .box .btn a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  padding: 1em 5em;
  background: #FFF;
  border: solid 1px #539466;
  color: #539466;
  width: 500px;
  height: 100px;
  border-radius: 50px;
  font-size: 2.0rem;
}
.internet-banking main .box .btn a:hover {
  background: #539466;
  border: solid 1px #539466;
  color: #FFF;
}
.internet-banking main .box .btn a em {
  display: block;
  line-height: 1em;
  font-size: 1.8rem;
  font-weight: 500;
}
.internet-banking main .box .btn a::before {
  position: absolute;
	top: 50%;
	transform: translateY(-50%);
  left: 1em;
  width: calc(3.25em * .8);
  height: calc(2.875em * .8);
}
.internet-banking main .box .use.btn a::before {
  background: url(../img/internet-banking/use-icon.svg) no-repeat center center;
  background-size: cover;
  content: '';
}
.internet-banking main .box .use.btn a:hover::before {
  background: url(../img/internet-banking/use-icon-reverse.svg) no-repeat center center;
  background-size: cover;
  content: '';
}
.internet-banking main .box .important-info.btn a::before {
  background: url(../img/internet-banking/important-info-icon.svg) no-repeat center center;
  background-size: cover;
  content: '';
}
.internet-banking main .box .important-info.btn a:hover::before {
  background: url(../img/internet-banking/important-info-icon-reverse.svg) no-repeat center center;
  background-size: cover;
  content: '';
}
.internet-banking main .box .faq.btn a::before {
  background: url(../img/internet-banking/faq-icon.svg) no-repeat center center;
  background-size: cover;
  content: '';
}
.internet-banking main .box .faq.btn a:hover::before {
  background: url(../img/internet-banking/faq-icon-reverse.svg) no-repeat center center;
  background-size: cover;
  content: '';
}
/*.internet-banking main .box .important-info {
  margin-bottom: 50px;
}
.internet-banking main .box .important-info p a {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #ffe200;
  border: solid 1px #ffe200;
  color: #000;
  font-size: 2.0rem;
  font-weight: 700;
  padding: 1em 6em;
}
.internet-banking main .box .important-info p a:hover {
  background: #FFF;
  border: solid 1px #ffe200;
  color: #000;
}*/
.internet-banking main .fcontact-info {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #FFF;
  padding: 50px 20px;
}
/*.internet-banking main .box .fcontact-info::before {
  position: absolute;
  top: 2px;
  left: 2px;
  width: calc(100% - 20px);
  height: calc(100% - 20px);
  border-top: solid 1px #cccccc;
  border-left: solid 1px #cccccc;
  content: '';
}
.internet-banking main .box .fcontact-info::after {
  position: absolute;
  bottom: 2px;
  right: 2px;
  width: calc(100% - 20px);
  height: calc(100% - 20px);
  border-bottom: solid 1px #cccccc;
  border-right: solid 1px #cccccc;
  content: '';
}*/
.internet-banking main .fcontact-info dl {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
.internet-banking main .fcontact-info dl dt {
  font-size: 1.8rem;
  font-weight: 500;
  margin-bottom: .2em;
}
.internet-banking main .fcontact-info dl dd ,
.internet-banking main .fcontact-info dl dd * {
  font-size: 2.0rem;
  font-weight: 700;
}





/*internet-banking use*/
.use main .box {
  position: relative;
  background: #FFF;
  padding: 100px 60px 80px;
  margin-top: 80px;
  border-radius: 20px;
  box-shadow: 0 15px 10px 5px rgba(0, 0, 0, .2);
}
.use main .box > section:not(:last-of-type) {
  margin-bottom: 80px;
}
.use main .box section .comment p:not(:last-of-type) {
  margin-bottom: 1.2em;
}
.use main .box section section:not(:last-of-type) {
  margin-bottom: 30px;
}
.use main .box section .tbl01 {
  margin: 0 auto;
  width: 800px;
}
.use main .box section .tbl01 table {
  width: 100%;
}
.use main .box section .tbl01 table tr th ,
.use main .box section .tbl01 table tr td {
  border-top: solid 1px #ccc;
  border-bottom: solid 1px #ccc;
  padding: .6em 1.2em;
  vertical-align: middle;
  text-align: center;
}
.use main .box section .tbl01 table tr th {
  background: #EEE;
  font-weight: 700;
}
.use main .box section .caution01 {
  padding-top: 10px;
  margin: 0 auto;
  width: 800px;
}
.use main .box section .caution01 ul li {
  position: relative;
  padding-left: 1em;
}
.use main .box section .caution01 ul li::before {
  position: absolute;
  top: 0;
  left: 0;
  content: '※';
}
.use main .box section .manual p {
  position: relative;
  padding-left: .8em;
  margin-bottom: .4em;
}
.use main .box section .manual p::before {
  position: absolute;
  top: .7em;
  left: 0;
  width: .6em;
  aspect-ratio: 1;
  border-radius: 50%;
  background: #666;
  content: '';
}
.use main .box section .manual ul {
  padding: 0 2em;
}
.use main .box section .manual ul li {
  position: relative;
  padding-left: 1em;
}
.use main .box section .manual ul li::before {
  position: absolute;
  top: .7em;
  left: 0;
  width: .6em;
  aspect-ratio: 1;
  border-radius: 50%;
  border: solid 1px #666;
  content: '';
}





/*internet-banking important-info*/
.important-info main .txt002 p span {
  font-weight: 700;
  background:linear-gradient(transparent 60%, #ff6 60%);
}
.important-info main .txt002 p em {
  font-weight: 700;
  color: #e0340d;
}
.important-info main .box > section {
  position: relative;
  background: #FFF;
  padding: 100px 60px 80px;
  border-radius: 20px;
  box-shadow: 0 15px 10px 5px rgba(0, 0, 0, .2);
}
.important-info main .box > section:not(:last-of-type) {
  margin-bottom: 120px;
}
.important-info main .box section h3.caution-title {
  position: absolute;
  top: -1em;
  right: 0;
  left: 0;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.4rem;
}
.important-info main .box section h3.caution-title span {
  position: relative;
  display: block;
  background: #539466;
  color: #FFF;
  font-size: 2.4rem;
  font-weight: 700;
  letter-spacing: .1em;
  line-height: 1em;
  padding: .6em 2.5em;
  border-radius: 1.5em;
}
.important-info main .box section h3.caution-title span::before ,
.important-info main .box section h3.caution-title span::after {
  position: absolute;
	top: 50%;
	transform: translateY(-50%);
  width: 1em;
  height: .875em;
  background: url(../img/internet-banking/important-info/caution_icon.svg) no-repeat center center;
  background-size: cover;
  content: '';
}
.important-info main .box section h3.title {
  position: absolute;
  top: -1em;
  right: 0;
  left: 0;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.4rem;
}
.important-info main .box section h3.title span {
  display: block;
  background: #539466;
  color: #FFF;
  font-size: 2.4rem;
  font-weight: 700;
  letter-spacing: .1em;
  line-height: 1em;
  padding: .6em 1em;
  border-radius: 1.5em;
}
.important-info main .box section h3.caution-title span::before {
  left: 1em;
}
.important-info main .box section h3.caution-title span::after {
  right: 1em;
}
.important-info main .box > section .caution-box {
  border: solid 1px #e0340d;
  background: #ffeded;
  border-radius: 5px;
  padding: 40px;
}
.important-info main .box > section .caution-box > .comment {
  margin-bottom: 20px;
}
.important-info main .box > section .caution-box .comment p:not(:last-of-type) {
  margin-bottom: 1.2em;
}
.important-info main .box > section .caution-box > section:not(:last-of-type) {
  margin-bottom: 40px;
}
.important-info main .box > section .caution-box > section .number01 ol {
  counter-reset: number;
}
.important-info main .box > section .caution-box > section .number01 ol li {
  position: relative;
  padding-left: 1.2em;
}
.important-info main .box > section .caution-box > section .number01 ol li:before {
  position: absolute;
  top: 0;
  left: 0;
  counter-increment: number;
  content: counter(number)'.';
}
.important-info main .box > section .caution-box > section .list01 ul li {
  position: relative;
  padding-left: .8em;
}
.important-info main .box > section .caution-box > section .list01 ul li::before {
  position: absolute;
  top: .7em;
  left: 0;
  width: .6em;
  aspect-ratio: 1;
  border-radius: 50%;
  background: #666;
  content: '';
}
.important-info main .box > section .list02 ul li {
  position: relative;
  padding-left: .8em;
}
.important-info main .box > section .list02 ul li::before {
  position: absolute;
  top: .7em;
  left: 0;
  width: .6em;
  aspect-ratio: 1;
  border-radius: 50%;
  background: #666;
  content: '';
}





/*internet-banking faq*/
.ib-faq .box {
  padding-top: 200px;
}
.ib-faq main .box > section {
  position: relative;
  background: #FFF;
  padding: 80px 60px 80px;
  border-radius: 20px;
  box-shadow: 0 15px 10px 5px rgba(0, 0, 0, .2);
  counter-reset: number number-q number-a sub-number;
}
.ib-faq main .box > section .acc {
  margin-bottom: 40px;
}
.ib-faq main .box > section .acc details {
  position: relative;
  border: solid 2px #009563;
  border-radius: 10px;
  transition: 0.5s;
  margin-bottom: 20px;
  counter-increment: number;
}
.ib-faq main .box > section .acc details[open] {
  transition: .5s;
}
.ib-faq main .box > section .acc details summary {
  position: relative;
  display: block;
  cursor: pointer;
}
.ib-faq main .box > section .acc details summary::before ,
.ib-faq main .box > section .acc details summary::after {
  position: absolute;
	top: 50%;
	transform: translateY(-50%);
  right: 40px;
  width: 20px;
  height: 2px;
  background: #3c1d07;
  transition: .3s;
  content: '';
}
.ib-faq main .box > section .acc details summary::after {
  transform: translateY(-50%) rotate(90deg);
}
.ib-faq main .box > section .acc details[open] summary::after {
  transform: translateY(-50%) rotate(180deg);
}
.ib-faq main .box > section .acc details summary span {
  position: relative;
  display: block;
  font-size: 2.0rem;
  font-weight: 700;
  padding: .8em 2em;
  padding-left: 3em;
}
.ib-faq main .box > section .acc details summary span::before {
  position: absolute;
  top: .8em;
  left: 1em;
  color: #009563;
  content: 'Q'counter(number);
}
.ib-faq main .box > section .acc details .content {
  position: relative;
  padding: 0 50px 30px;
  padding-left: 100px;
}
.ib-faq main .box > section .acc details .content::before {
  position: absolute;
  top: -.2em;
  left: 50px;
  color: #e0340d;
  font-size: 2.0rem;
  font-weight: 700;
  content: 'A'counter(number);
}
.ib-faq main .box > section .acc details .content .comment p:not(:last-child) {
  margin-bottom: 1.2em;
}
.ib-faq main .box > section .acc details .content .comment ol li {
  position: relative;
  padding-left: 1.8em;
}
.ib-faq main .box > section .acc details .content .comment ol li::before {
  position: absolute;
  top: 0;
  left: 0;
  counter-increment: sub-number;
  content: '（'counter(sub-number)'）';
}
.ib-faq main .box > section .acc details .content .comment ol li span {
  font-weight: 700;
}
.ib-faq main .box > section .fcontact-info dl {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
.ib-faq main .box > section .fcontact-info dl dt {
  font-size: 1.8rem;
  font-weight: 500;
  margin-bottom: .2em;
}
.ib-faq main .box > section .fcontact-info dl dd ,
.ib-faq main .box > section .fcontact-info dl dd * {
  font-size: 2.0rem;
  font-weight: 700;
}





/*contact*/
.contact main .box {
  padding-top: 200px;
}
.contact main .box > section {
  position: relative;
  background: #FFF;
  padding: 80px 60px 80px;
  border-radius: 20px;
  box-shadow: 0 15px 10px 5px rgba(0, 0, 0, .2);
  counter-reset: number-q number-a sub-number;
}
.contact main .box > section:not(:last-of-type) {
  margin-bottom: 120px;
}
.contact main .box > section h3 {
  position: absolute;
  top: -1em;
  right: 0;
  left: 0;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.4rem;
}
.contact main .box > section h3 span {
  display: block;
  background: #539466;
  color: #FFF;
  font-size: 2.4rem;
  font-weight: 700;
  letter-spacing: .1em;
  line-height: 1em;
  padding: .6em 1em;
  border-radius: 1.5em;
}
.contact main .box > section .mail_info {
  display: flex;
  align-items: center;
  justify-content: center;
}
.contact main .box > section .mail_info dl {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
.contact main .box > section .mail_info dl * {
  font-size: 2.0rem;
  font-weight: 700;
}
.contact main .box > section .mail_info dl a {
  position: relative;
  color: #539466;
  background: linear-gradient(currentcolor, currentcolor) left bottom / 100% 1px no-repeat;
	transition: background-size .4s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.contact main .box > section .mail_info dl a:hover {
  background-position: right bottom;
	background-size: 0 1px;
  color: #53b689;
}
.contact main .box > section section:not(:last-of-type) {
  margin-bottom: 50px;
}
.contact main .box > section section .box_in {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
.contact main .box > section section .box_in p {
  margin-bottom: .8em;
}
.contact main .box > section section .box_in dl {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
.contact main .box > section section .box_in dl * {
  font-size: 2.0rem;
  font-weight: 700;
}





/*faq*/
.faq main .box {
  padding-top: 100px;
}
.faq main .box > section {
  position: relative;
  background: #FFF;
  padding: 100px 60px 80px;
  border-radius: 20px;
  box-shadow: 0 15px 10px 5px rgba(0, 0, 0, .2);
  counter-reset: number-q number-a sub-number;
}
.faq main .box > section .icon {
  position: absolute;
  top: -30px;
  left: 0;
  right: 0;
  z-index: 1;
  margin: 0 auto;
  width: 80px;
}
.faq main .box > section .acc details {
  position: relative;
  border: solid 2px #009563;
  border-radius: 10px;
  transition: 0.5s;
  margin-bottom: 20px;
  counter-increment: number-q;
}
.faq main .box > section .acc details[open] {
  transition: .5s;
}
.faq main .box > section .acc details summary {
  position: relative;
  display: block;
  cursor: pointer;
}
.faq main .box > section .acc details summary::before ,
.faq main .box > section .acc details summary::after {
  position: absolute;
	top: 50%;
	transform: translateY(-50%);
  right: 40px;
  width: 20px;
  height: 2px;
  background: #3c1d07;
  transition: .3s;
  content: '';
}
.faq main .box > section .acc details summary::after {
  transform: translateY(-50%) rotate(90deg);
}
.faq main .box > section .acc details[open] summary::after {
  transform: translateY(-50%) rotate(180deg);
}
.faq main .box > section .acc details summary span {
  position: relative;
  display: block;
  font-size: 2.0rem;
  font-weight: 700;
  padding: .8em 2em;
  padding-left: 3em;
}
.faq main .box > section .acc details:nth-of-type(n + 10) summary span {
  padding-left: 3.5em;
}
.faq main .box > section .acc details summary span::before {
  position: absolute;
  top: .8em;
  left: 1em;
  color: #009563;
  content: 'Q'counter(number-q);
}
.faq main .box > section .acc details .content {
  position: relative;
  padding: 0 50px 30px;
  padding-left: 100px;
}
.faq main .box > section .acc details .content::before {
  position: absolute;
  top: -.2em;
  left: 50px;
  color: #e0340d;
  font-size: 2.0rem;
  font-weight: 700;
  counter-increment: number-a;
  content: 'A'counter(number-q);
}
.faq main .box > section .acc details .content .comment p:not(:last-child) {
  margin-bottom: 1.2em;
}
.faq main .box > section .acc details .content .comment p.caution {
  position: relative;
  padding-left: 1.2em;
}
.faq main .box > section .acc details .content .comment p.caution:before {
  position: absolute;
  top: 0;
  left: 0;
  content: '※';
}
.faq main .box > section .acc details .content .comment ul li {
  position: relative;
  padding-left: .8em;
}
.faq main .box > section .acc details .content .comment ul li::before {
  position: absolute;
  top: .7em;
  left: 0;
  width: .6em;
  aspect-ratio: 1;
  border-radius: 50%;
  background: #666;
  content: '';
}
.faq main .box > section .acc details .content .comment ol li {
  position: relative;
  padding-left: 1.8em;
}
.faq main .box > section .acc details .content .comment ol li::before {
  position: absolute;
  top: 0;
  left: 0;
  counter-increment: sub-number;
  content: '（'counter(sub-number)'）';
}
.faq main .box > section .acc details .content .comment dl:not(:last-of-type) {
  margin-bottom: 1.2em;
}
.faq main .box > section .acc details .content .comment dl dt {
  position: relative;
  padding-left: .8em;
  font-weight: 700;
}
.faq main .box > section .acc details .content .comment dl dt::before {
  position: absolute;
  top: .7em;
  left: 0;
  width: .6em;
  aspect-ratio: 1;
  border-radius: 50%;
  background: #666;
  content: '';
}
.faq main .box > section .acc details .content .comment .time {
  padding-top: .2em;
}
.faq main .box > section .acc details .content .comment .time dl {
  display: flex;
}
.faq main .box > section .acc details .content .comment .time dl dt {
  position: relative;
  padding-left: 0;
  font-weight: inherit;
}
.faq main .box > section .acc details .content .comment dl dt::before {
  display: none;
}




/*info info-list*/
.info.info-list main .box {
  padding-top: 200px;
}
.info.info-list main .box > section {
  position: relative;
  background: #FFF;
  padding: 100px 60px 80px;
  padding-top: 200px;
  border-radius: 20px;
  box-shadow: 0 15px 10px 5px rgba(0, 0, 0, .2);
}
.info.info-list main .box > section h3 {
  position: absolute;
  top: -30px;
  left: 0;
  right: 0;
  z-index: 1;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  padding-top: 70px;
}
.info.info-list main .box > section h3::before {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 50px;
  height: 50px;
  background: url(../img/top/info_icon.svg) no-repeat center center;
  background-size: cover;
  content: '';
}
.info.info-list main .box > section h3 span ,
.info.info-list main .box > section h3 em {
  display: block;
  line-height: 1em;
}
.info.info-list main .box > section h3 span {
  font-size: 4.0rem;
  font-weight: 700;
  letter-spacing: .1em;
}
.info.info-list main .box > section h3 em {
  font-size: 2.0rem;
  letter-spacing: .05em;
  padding-top: .6em;
  text-transform: uppercase;
}
.info.info-list main .box > section .info_list {
  font-size: 2.0rem;
  letter-spacing: .05em;
  padding-top: .6em;
  text-transform: uppercase;
}
.info.info-list main .box > section .info_list section {
  display: flex;
  background: rgba(255, 255, 255, .3);
  border-radius: 2em;
  overflow: hidden;
}
.info.info-list main .box > section .info_list section:not(:last-of-type) {
  margin-bottom: 15px;
}
.info.info-list main .box > section .info_list section .cat {
  width: 200px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.info.info-list main .box > section .info_list section .cat a {
  width: 100%;
  height: 100%;
  background: rgba(229, 229, 230, .6);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.8rem;
  font-weight: 700;
  padding: .2em 0;
  letter-spacing: .075em;
  border-radius: 0 1.5em 1.5em 0;
  flex-grow:1;
}
.info.info-list main .box > section .info_list section .cat.important a {
  color: #4467bb
}
.info.info-list main .box > section .info_list section .cat.topics a {
  color: #d27e2f
}
.info.info-list main .box > section .info_list section .cat.electronic a {
  color: #71a54c
}
.info.info-list main .box > section .info_list section time {
  width: 150px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.6rem;
  letter-spacing: .1em;
}
.info.info-list main .box > section .info_list section .post-title {
  display: flex;
  align-items: center;
  width: calc(100% - (200px + 150px));
  font-size: 1.8rem;
  letter-spacing: .05em;
  padding-right: 2em;
}





/*loan-estimate*/
.loan-estimate main .box {
  padding-top: 200px;
}
.loan-estimate main .box > section {
  position: relative;
  background: #FFF;
  padding: 100px 60px 80px;
  border-radius: 20px;
  box-shadow: 0 15px 10px 5px rgba(0, 0, 0, .2);
}
.loan-estimate main .box > section .comment {
  margin-bottom: 1.5em;
}
.loan-estimate main .box > section .comment * {
  font-weight: 700;
  color: #009563;
}
.loan-estimate main .box > section .comment p:not(:last-of-type) {
  margin-bottom: 1.2em;
}
.loan-estimate main .box > section .caution {
  margin-bottom: 2.5em;
}
.loan-estimate main .box > section .caution dl dt {
  font-weight: 700;
  margin-bottom: .2em;
}
.loan-estimate main .box > section .caution dl dd {
  padding: 0 1em;
}
.loan-estimate main .box > section .caution dl dd ol {
  counter-reset: number;
}
.loan-estimate main .box > section .caution dl dd ol li {
  position: relative;
  padding-left: 1.2em;
}
.loan-estimate main .box > section .caution dl dd ol li:before {
  position: absolute;
  top: 0;
  left: 0;
  counter-increment: number;
  content: counter(number)'.';
}
.loan-estimate main .box > section .loan section:not(:last-of-type) {
  margin-bottom: 40px;
}
.loan-estimate main .box > section .loan section table {
  width: 800px;
  margin: 0 auto;
}
.loan-estimate main .box > section .loan section table tr th ,
.loan-estimate main .box > section .loan section table tr td {
  border: solid 1px #cccccc;
  padding: .5em 1em;
  vertical-align: middle;
}
.loan-estimate main .box > section .loan section table tr th {
  background: #E3E3E3;
  width: 250px;
  font-weight: 500;
}
.loan-estimate main .box > section .loan section table tr td {
  width: calc(100% - 250px);
}
.loan-estimate main .box > section .loan section table tr td input {
	padding:.4em .4em;
	font-size:1.6rem;
	background:#FFFFFF;
	border: solid 1px #a3a3a3;
  box-sizing: border-box;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	border-radius: 0;
}
.loan-estimate main .box > section .loan section table tr td input:focus {
	outline: 0;
	border: solid 1px #000;
}
.loan-estimate main .box > section .loan section table tr td input[type="number"]::-webkit-outer-spin-button , 
.loan-estimate main .box > section .loan section table tr td input[type="number"]::-webkit-inner-spin-button {
	-webkit-appearance: none;
  margin: 0;
  -moz-appearance:textfield;
}
.loan-estimate main .box > section .loan section table tr td dl {
  display: flex;
  align-items: baseline;
}
.loan-estimate main .box > section .loan section table tr td dl dt {
  margin-right: .5em;
}
.loan-estimate main .box > section .loan section table tr td dl dt + dd {
  margin-right: .5em;
}
.loan-estimate main .box > section .loan section table tr td dl.input01 dt input {
  width: 10em;
}
.loan-estimate main .box > section .loan section table tr td dl.input01 dd {
  display: flex;
  align-items: baseline;
}
.loan-estimate main .box > section .loan section table tr td dl.input01 dd em {
  font-size: 1.4rem;
  color: #e11e00;
}
.loan-estimate main .box > section .loan section table tr td dl.input02 dt input {
  width: 4em;
}
.loan-estimate main .box > section .loan section table tr td dl.input02 dd em {
  font-size: 1.4rem;
  color: #e11e00;
}
.loan-estimate main .box > section .loan section table tr td dl.input03 dt input {
  width: 5em;
}
.loan-estimate main .box > section .loan section table tr td dl.input03 dd {
  display: flex;
  align-items: baseline;
}
.loan-estimate main .box > section .loan section table tr td dl.input03 dd em {
  font-size: 1.4rem;
  color: #e11e00;
}
.loan-estimate main .box > section .loan section table tr td dl.result dt {
  margin-right: 0;
}
.loan-estimate main .box > section .loan section table tr td dl.result dt input {
  padding: 0;
  font-size: 2.0rem;
  font-weight: 700;
  width: 15em;
  border: none;
  text-align: right;
}
.loan-estimate main .box > section .loan section .btn {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: 20px;
}
.loan-estimate main .box > section .loan section .btn dl {
  display: flex;
  align-items: center;
  justify-content: center;
}
.loan-estimate main .box > section .loan section .btn dl dt {
  margin-right: 3em;
}
.loan-estimate main .box > section .loan section .btn input {
	padding:.6em 4em;
	font-size:1.8rem;
  box-sizing: border-box;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	border-radius: 0;
  cursor: pointer;
  transition: .5s;
}
.loan-estimate main .box > section .loan section .btn dl dt input {
  background: #006400;
  border: solid 1px #006400;
  color: #FFF;
}
.loan-estimate main .box > section .loan section .btn dl dt input:hover ,
.loan-estimate main .box > section .loan section .btn dl dt input:focus {
	outline: 0;
  background: #FFF;
	border: solid 1px #006400;
  color: #006400;
}
.loan-estimate main .box > section .loan section .btn dl dd input {
  background: #FFF;
	border: solid 1px #006400;
  color: #006400;
}
.loan-estimate main .box > section .loan section .btn dl dd input:hover ,
.loan-estimate main .box > section .loan section .btn dl dd input:focus {
	outline: 0;
  background: #97c097;
	border: solid 1px #006400;
  color: #FFF;
}



/*atm-time*/
.atm-time main .box {
  margin-top: 200px;
}
.atm-time main .box > section {
  position: relative;
  background: #FFF;
  padding: 100px 60px 80px;
  border-radius: 20px;
  box-shadow: 0 15px 10px 5px rgba(0, 0, 0, .2);
}
.atm-time main .box > section:not(:last-of-type) {
  margin-bottom: 120px;
}
.atm-time main .box > section h3 {
  position: absolute;
  top: -1em;
  right: 0;
  left: 0;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.4rem;
}
.atm-time main .box > section h3 span {
  display: block;
  background: #539466;
  color: #FFF;
  font-size: 2.4rem;
  font-weight: 700;
  letter-spacing: .1em;
  line-height: 1em;
  padding: .6em 1em;
  border-radius: 1.5em;
}
.atm-time main .box > section .img {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 30px;
}
.atm-time main .box > section .img p {
  width: 600px;
}
.atm-time main .box > section .comment {
  margin-bottom: 30px;
}
.atm-time main .box > section.time .comment {
  margin-bottom: 0;
}
.atm-time main .box > section .comment p:not(:last-of-type) {
  margin-bottom: 1.2em;
}
.atm-time main .box > section .list {
  margin-bottom: 30px;
}
.atm-time main .box > section .list ul li {
  position: relative;
  padding-left: .8em;
}
.atm-time main .box > section .list ul li::before {
  position: absolute;
  top: .7em;
  left: 0;
  width: .6em;
  aspect-ratio: 1;
  border-radius: 50%;
  background: #666;
  content: '';
}
.atm-time main .box > section .caution {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
.atm-time main .box > section .caution p {
  font-size: 2.0rem;
  font-weight: 700;
}



/*cedyna*/
.cedyna main .box {
  margin-top: 200px;
}
.cedyna main .box > section {
  position: relative;
  background: #FFF;
  padding: 100px 60px 80px;
  border-radius: 20px;
  box-shadow: 0 15px 10px 5px rgba(0, 0, 0, .2);
}
.cedyna main .box > section h3 {
  position: absolute;
  top: -1em;
  right: 0;
  left: 0;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.4rem;
}
.cedyna main .box > section h3 span {
  display: block;
  background: #539466;
  color: #FFF;
  font-size: 2.4rem;
  font-weight: 700;
  letter-spacing: .1em;
  line-height: 1em;
  padding: .6em 1em;
  border-radius: 1.5em;
}
.cedyna main .box > section .error {
  margin-bottom: 2em;
}
.cedyna main .box > section .error p {
  font-weight: 700;
  color: #d90000;
}
.cedyna main .box > section .tbl01 {
  width: 100%;
}
.cedyna main .box > section .tbl01 table {
  width: 100%;
}
.cedyna main .box > section .tbl01 table tr th ,
.cedyna main .box > section .tbl01 table tr td {
  border-top: solid 1px #ccc;
  border-bottom: solid 1px #ccc;
  padding: .6em 1.2em;
}
.cedyna main .box > section .tbl01 table tr th {
  background: #EEE;
  font-weight: 700;
  width: 250px;
}
.cedyna main .box > section .tbl01 table tr td {
  width: calc(100% - 250px);
}
.cedyna main .box > section .tbl01 table tr td input {
	padding:.4em .4em;
	font-size:1.6rem;
	background:#FFFFFF;
	border: solid 1px #a3a3a3;
  box-sizing: border-box;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	border-radius: 0;
  width: 100%;
}
.cedyna main .box > section .tbl01 table tr td input:focus {
	outline: 0;
	border: solid 1px #000;
}
.cedyna main .box > section .tbl01 table tr td input[type="number"]::-webkit-outer-spin-button , 
.cedyna main .box > section .tbl01 table tr td input[type="number"]::-webkit-inner-spin-button {
	-webkit-appearance: none;
  margin: 0;
  -moz-appearance:textfield;
}
.cedyna main .box > section .tbl01 table tr td label {
  position: relative;
  display: inline-flex;
  align-items: center;
  width: 100%;
}
.cedyna main .box > section .tbl01 table tr td label::after {
  position: absolute;
  right: 15px;
  width: 10px;
  height: 7px;
  background: #a3a3a3;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  pointer-events: none;
  content: '';
}
.cedyna main .box > section .tbl01 table tr td label select {
    appearance: none;
    width: 100%;
    padding: .4em calc(.8em + 30px) .4em .4em;
    border: 1px solid #a3a3a3;
    background: #fff;
    border-radius: 0;
    font-size: 1.6rem;
    cursor: pointer;
    outline: 0;
}
.cedyna main .box > section .tbl01 table tr td .select-box01 ,
.cedyna main .box > section .tbl01 table tr td .select-box02 ,
.cedyna main .box > section .tbl01 table tr td .select-box03 {
  display: flex;
  align-items: baseline;
}
.cedyna main .box > section .tbl01 table tr td .select-box01 dt {
  width: 6em;
  margin-right: .5em;
}
.cedyna main .box > section .tbl01 table tr td .select-box02 dt {
  width: 15em;
  margin-right: .5em;
}
.cedyna main .box > section .tbl01 table tr td .select-box02 dd {
  position: relative;
  padding-left: 1em;
}
.cedyna main .box > section .tbl01 table tr td .select-box02 dd::before {
  position: absolute;
  top: 0;
  left: 0;
  content: '※';
}
.cedyna main .box > section .tbl01 table tr td .select-box03 dt {
  width: 6em;
  margin-right: .5em;
}
.cedyna main .box > section .tbl01 table tr td .price01 {
  display: flex;
  align-items: baseline;
}
.cedyna main .box > section .tbl01 table tr td .price01 dt {
  width: 10em;
  margin-right: .5em;
}
.cedyna main .box > section .tbl01 table tr td .price-info01 {
  display: flex;
  align-items: baseline;
}
.cedyna main .box > section .tbl01 table tr td .price01 + .price-info01 {
  padding-top: .5em;
}
.cedyna main .box > section .tbl01 table tr td .price-info01 dt {
  margin-right: .5em;
}
.cedyna main .box > section .tbl01 table tr td .caution01 {
  position: relative;
  padding-top: .5em;
  padding-left: 1em;
}
.cedyna main .box > section .tbl01 table tr td .caution01::before {
  position: absolute;
  top: .5em;
  left: 0;
  content: '※';
}
.cedyna main .box > section .tbl01 table tr td .period {
  display: flex;
}
.cedyna main .box > section .tbl01 table tr td .period .select-box03:nth-of-type(1) {
  margin-right: .5em;
}
.cedyna main .box > section .tbl01 table tr td .example {
  display: flex;
  flex-direction: column;
  padding-top: .5em;
}
.cedyna main .box > section .tbl01 table tr td .example dl {
  display: flex;
}
.cedyna main .box > section .tbl01 table tr td .example dl dd {
  font-weight: 700;
}
.cedyna main .box > section .tbl01 table tr td .txt01 {
  padding-top: .5em;
}
.cedyna main .box > section .tbl01 table tr td .txt01 span {
  font-weight: 700;
}
.cedyna main .box > section #id_personal_agree {
  padding-top: 50px;
}
.cedyna main .box > section #id_personal_agree .scroll_box {
  border: solid 1px #999;
  overflow-y: auto;
  height: 350px;
  padding: 20px 30px;
}
.cedyna main .box > section #id_personal_agree .scroll_box section {
  margin-bottom: 40px;
}
.cedyna main .box > section #id_personal_agree .scroll_box > p {
  text-align: right;
}
.cedyna main .box > section #id_personal_agree .scroll_box section > h5 {
  font-size: 1.8rem;
  font-weight: 700;
  margin-bottom: .5em;
}
.cedyna main .box > section #id_personal_agree .scroll_box section > p:not(:last-child) ,
.cedyna main .box > section #id_personal_agree .scroll_box section > .number-list:not(:last-child) {
  margin-bottom: 1.2em;
}
.cedyna main .box > section #id_personal_agree .scroll_box section > h6 {
  font-weight: 700;
  margin-bottom: .3em;
}
.cedyna main .box > section #id_personal_agree .scroll_box section > .number-list > ol {
  counter-reset: number;
}
.cedyna main .box > section #id_personal_agree .scroll_box section > .number-list > ol > li {
  position: relative;
  padding-left: 1.1em;
}
.cedyna main .box > section #id_personal_agree .scroll_box section > .number-list > ol > li:nth-of-type(n + 10) {
  position: relative;
  padding-left: 1.6em;
}
.cedyna main .box > section #id_personal_agree .scroll_box section > .number-list > ol > li:before {
  position: absolute;
  top: 0;
  left: 0;
  counter-increment: number;
  content: counter(number)'.';
}
.cedyna main .box > section #id_personal_agree .scroll_box section > .number-list > ol > li .agree_tbl01 {
  padding-top: .6em;
}
.cedyna main .box > section #id_personal_agree .scroll_box section > .number-list > ol > li .agree_tbl01 table {
  width: 100%;
}
.cedyna main .box > section #id_personal_agree .scroll_box section > .number-list > ol > li .agree_tbl01 table tr th ,
.cedyna main .box > section #id_personal_agree .scroll_box section > .number-list > ol > li .agree_tbl01 table tr td {
  border: solid 1px #ccc;
  padding: .6em 1.2em;
  width: 50%;
}
.cedyna main .box > section #id_personal_agree .scroll_box section > .number-list > ol > li .agree_tbl01 table tr th {
  background: #EEE;
  font-weight: 700;
  text-align: center;
  width: 250px;
}
.cedyna main .box > section #id_personal_agree .scroll_box section > .number-list > ol .number-list-sub {
  padding-top: .5em;
  padding-left: 1em;
}
.cedyna main .box > section #id_personal_agree .scroll_box section > .number-list > ol .number-list-sub ol {
  counter-reset: sub-number;
}
.cedyna main .box > section #id_personal_agree .scroll_box section > .number-list > ol .number-list-sub ol li {
  position: relative;
  padding-left: 1.1em;
}
.cedyna main .box > section #id_personal_agree .scroll_box section > .number-list > ol .number-list-sub ol li:before {
  position: absolute;
  top: 0;
  left: 0;
  counter-increment: sub-number;
  content: counter(sub-number)'.';
}
.cedyna main .box > section #id_personal_agree .scroll_box section > .number-list > ol .number-list-sub ol li ul {
  padding-top: .2em;
  padding-left: 1em;
}
.cedyna main .box > section #id_personal_agree .scroll_box section > .number-list > ol .number-list-sub ol li ul:not(:last-child) {
  margin-bottom: .6em;
}
.cedyna main .box > section #id_personal_agree .scroll_box section > .number-list > ol .number-list-sub ol li ul li {
  position: relative;
  padding-left: .8em;
}
.cedyna main .box > section #id_personal_agree .scroll_box section > .number-list > ol .number-list-sub ol li ul li::before {
  position: absolute;
  top: .7em;
  left: 0;
  width: .6em;
  aspect-ratio: 1;
  border-radius: 50%;
  background: #666;
  content: '';
}
.cedyna main .box > section #id_personal_agree .scroll_box section > .number-list > ol .number-list-sub ol li ul li a {
  color: #539466;
}
.cedyna main .box > section #id_personal_agree .scroll_box section > .number-list > ol .number-list-sub ol li ul li a:hover {
  color: #53b689;
}
.cedyna main .box > section #id_personal_agree .agree_check {
  padding-top: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
.cedyna main .box > section #id_personal_agree .agree_check dl {
  display: flex;
  align-items: center;
  justify-content: center;
}
.cedyna main .box > section #id_personal_agree .agree_check dl dt {
  margin-right: 50px;
}
.cedyna main .box > section #id_personal_agree .agree_check dl label {
  position: relative;
  display: flex;
  align-items: center;
  cursor: pointer;
  font-size: 2.2rem;
  font-weight: 700;
}
.cedyna main .box > section #id_personal_agree .agree_check dl label::before ,
.cedyna main .box > section #id_personal_agree .agree_check dl label::after {
  border-radius: 50%;
  content: '';
}
.cedyna main .box > section #id_personal_agree .agree_check dl label::before {
  width: 1.2em;
  height: 1.2em;
  border: 2px solid #dee5eb;
  margin-right: .5em;
}
.cedyna main .box > section #id_personal_agree .agree_check dl label::after {
  position: absolute;
  top: 50%;
  left: calc(.6em - 4px);
	transform: translateY(-50%);
  width: .6em;
  height: .6em;
  background: #dee5eb;
}
.cedyna main .box > section #id_personal_agree .agree_check dl label:has(:checked)::after {
  background: #2589d0;
  animation: check-radio .3s linear;
}
@keyframes check-radio {
  0% {
      box-shadow: 0 0 0 1px transparent;
  }
  50% {
      box-shadow: 0 0 0 10px #2589d033;
  }
  100% {
      box-shadow: 0 0 0 10px transparent;
  }
}
.cedyna main .box > section #id_personal_agree .agree_check dl label input {
  display: none;
}
.cedyna main .box > section #id_personal_agree .agree_check p {
  position: relative;
  padding-left: 1em;
  padding-top: .6em;
}
.cedyna main .box > section #id_personal_agree .agree_check p::before {
  position: absolute;
  top: .6em;
  left: 0;
  content: '※';
}
.cedyna main .box > section #id_err_msg {
  padding-top: 20px;
  font-weight: 700;
  color: #d90000;
  text-align: center;
}
.cedyna main .box > section #con_msg ,
.cedyna main .box > section #id_return_msg ,
.cedyna main .box > section #id_submit_msg {
  padding-top: 40px;
  padding-bottom: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.cedyna main .box > section .confirm_btn ,
.cedyna main .box > section .back_btn ,
.cedyna main .box > section .submit_btn {
  display: flex;
  align-items: center;
  justify-content: center;
}
.cedyna main .box > section .confirm_btn input ,
.cedyna main .box > section .back_btn input ,
.cedyna main .box > section .submit_btn input {
	position:relative;
	background: #539466;
  border: solid 1px #539466;
	border:none;
	display:block;
	cursor:pointer;
	color:#FFF;
	padding:.8em 4em;
	width:100%;
	text-align:center;
	font-size:2.0rem;
	line-height:1.1;
	margin:0;
	text-decoration:none;
	border-radius: 1.5em;
  appearance: none;
	outline: 0;
}
.cedyna main .box > section .back_btn input {
	background: #FFF;
  border: solid 1px #539466;
	color:#539466;
}
.cedyna main .box > section .confirm_btn input:disabled {
	background: #FFF;
  border: solid 1px #539466;
	color:#539466;
  opacity: .4;
}
.cedyna main .box > section .confirm_btn input:hover ,
.cedyna main .box > section .confirm_btn input:focus ,
.cedyna main .box > section .back_btn input:hover ,
.cedyna main .box > section .back_btn input:focus ,
.cedyna main .box > section .submit_btn input:hover ,
.cedyna main .box > section .submit_btn input:focus {
  text-decoration: none;
  opacity: 0.65;
  zoom: 1;
}
.cedyna main .box > section .confirm_btn input:disabled:hover ,
.cedyna main .box > section .confirm_btn input:disabled:focus {
  opacity: .4;
}



/*reserve*/
.reserve .sub_img {
  position: relative;
  height: 670px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #d7d9d9;
}
.reserve .sub_img p  ,
.reserve .sub_img picture {
  position: relative;
  display: block;
  width: inherit;
  height: 100%;
}
.reserve .sub_img p img {
  width: inherit;
  max-width: 100%;
  height: auto;
  object-fit: contain;
}
@media screen and (max-width: 1920px) {
  .reserve .sub_img {
    position: relative;
    height: 670px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #d7d9d9;
  }
  .reserve .sub_img p  ,
  .reserve .sub_img picture {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
  }
  .reserve .sub_img p img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  
}
.reserve main .box {
  margin-top: 200px;
}
.reserve main .box > section {
  position: relative;
  background: #FFF;
  padding: 100px 60px 80px;
  border-radius: 20px;
  box-shadow: 0 15px 10px 5px rgba(0, 0, 0, .2);
}
.reserve main .box > section:not(:last-of-type) {
  margin-bottom: 120px;
}
.reserve main .box > section h3 {
  position: absolute;
  top: -1em;
  right: 0;
  left: 0;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.4rem;
}
.reserve main .box > section h3 span {
  display: block;
  background: #539466;
  color: #FFF;
  font-size: 2.4rem;
  font-weight: 700;
  letter-spacing: .1em;
  line-height: 1em;
  padding: .6em 1em;
  border-radius: 1.5em;
}
.reserve main .box > section .img {
  margin-bottom: 50px;
}
.reserve main .box > section .caution section:not(:last-of-type) {
  margin-bottom: 30px;
}
.reserve main .box > section .caution section ul li {
  position: relative;
  padding-left: 1.2em;
}
.reserve main .box > section .caution section ul li::before {
  position: absolute;
  top: 0;
  left: 0;
  content: '※';
}
.reserve main .box > section .caution section .comment01 {
  margin-bottom: 20px;
}
.reserve main .box > section .caution section .comment02 {
}
.reserve main .box > section .caution section .comment01 p:not(:last-of-type) ,
.reserve main .box > section .caution section .comment02 p:not(:last-of-type) {
  margin-bottom: 1.2em;
}
.reserve main .box > section .form .form_box_in table {
  width: 100%;
}
.reserve main .box > section .form .form_box_in table tr th ,
.reserve main .box > section .form .form_box_in table tr td {
  padding: .8em 1.2em;
}
.reserve main .box > section .form .form_box_in table tr th {
  width: 300px;
  border-bottom: solid 2px #4d9bc1;
}
.reserve main .box > section .form .form_box_in table tr th span {
  display: inline-flex;
  margin-left: auto;
  background: #d90000;
  padding: .2em .8em;
  margin-left: 1em;
  border-radius: .5em;
  font-size: 1.4rem;
  color: #FFF;
}
.reserve main .box > section .form .form_box_in table tr th em {
  font-size: 1.4rem;
  color: #666;
}
.reserve main .box > section .form .form_box_in table tr td {
  width: calc(100% - 300px);
  border-bottom: solid 2px #c1c7c6;
}
.reserve main .box > section .form .form_box_in table tr td span[data-name="date01"] ,
.reserve main .box > section .form .form_box_in table tr td span[data-name="date02"] ,
.reserve main .box > section .form .form_box_in table tr td span[data-name="date03"] {
  position: relative;
}
.reserve main .box > section .form .form_box_in table tr td span[data-name="date01"]::before ,
.reserve main .box > section .form .form_box_in table tr td span[data-name="date02"]::before ,
.reserve main .box > section .form .form_box_in table tr td span[data-name="date03"]::before {
  position: absolute;
  top: 0;
  left: .4em;
	font-family: "Font Awesome 6 Free";
  font-size: 2.6rem;
  font-weight: 900;
  line-height: 1em;
  color: rgba(50, 51, 51, .3);
	content: "\f073";
}
.reserve main .box > section .form .form_box_in table tr td span[data-name="date01"] .wpcf7-date ,
.reserve main .box > section .form .form_box_in table tr td span[data-name="date02"] .wpcf7-date ,
.reserve main .box > section .form .form_box_in table tr td span[data-name="date03"] .wpcf7-date {
  padding-left: 2.5em;
}
.reserve main .box > section .form .form_box_in table tr td .email_box ul li:nth-of-type(1) {
  margin-bottom: .5em;
}
.reserve main .box > section .form .form_box_in table tr td .wpcf7-acceptance a {
  color: #539466;
  text-decoration: underline;
}
.reserve main .box > section .form .form_box_in table tr td .wpcf7-acceptance a:hover {
  color: #53b689;
  text-decoration: none;
}
.reserve main .box > section .form .form_box_in table tr td .zip-auto {
  display: none !important;
}



/*sitemap*/
.sitemap main {
  background: none;
}
.sitemap main {
  margin-top: 100px;
}
.sitemap main h2 {
  display: none;
}
.sitemap main .wsp-pages-list {
}
.sitemap main .wsp-pages-list li {
  position: relative;
  padding-left: .8em;
}
.sitemap main .wsp-pages-list li::before {
  position: absolute;
  top: .7em;
  left: 0;
  width: .6em;
  aspect-ratio: 1;
  border-radius: 50%;
  background: #666;
  content: '';
}
.sitemap main .wsp-pages-list > li:not(:last-of-type) {
  margin-bottom: 1.2em;
}
.sitemap main .wsp-pages-list > li .children {
  padding-left: 1.5em;
}
.sitemap main .wsp-pages-list > li .children li:not(:last-of-type) {
  margin-bottom: .6em;
}
.sitemap main .wsp-pages-list li.page-item-621 {
  display: none;
}
.sitemap main .wsp-pages-list li.page-item-153 > a ,
.sitemap main .wsp-pages-list li.page-item-71 > a {
  pointer-events: none;
}





/*1625*/
@media screen and (max-width: 1625px) {



  /*interview-detail*/
  .interview-detail main .wrap {
    max-width: 100%;
  }
  .interview-detail main .wrap article {
    width: calc(100% - (55% + 40px));
  }
  .interview-detail main .wrap article .entry_btn {
    right: 0;
  }
  .interview-detail main .wrap aside {
    width: 55%;
    margin-right: 40px;
  }
}





/*1500*/
@media screen and (max-width: 1500px) {




  /*appleplusone-detail*/
  .appleplusone-detail main .faq .box {
    width: 100%;
  }
  .appleplusone-detail main .item .box {
    width: 100%;
    padding: 110px 40px 100px;
  }

}





/*1460*/
@media screen and (max-width: 1460px) {
  .top .info .box {
    width: 100%;
  }
  .top .recruit .bg_sky .img_title::before {
    width: calc(100% - (20px * 2));
  }
}





/*1380*/
@media screen and (max-width: 1380px) {



  /*strengths*/
  .strengths main .catch .box section:nth-of-type(1):before {
    left: 60%;
  }
  .strengths main .catch .box section:nth-of-type(2):before {
    left: -40%;
  }
  .strengths main .strong-point .box .box_in {
    padding: 80px 50px 120px;
  }
  .strengths main .strong-point .box .box_in section {
    width: calc((100% - (40px * 2)) / 3);
  }
  .strengths main .strong-point .box .box_in section:not(:last-of-type) {
    margin-right: 40px;
  }



  /*recruit*/
  .recruit main .interview {
    width: 100%;
  }
  .recruit main .application-requirements .human {
    width: 100%;
  }
  .recruit main .recruit_info .box {
    padding: 130px 40px 60px;
  }
}





/*1240*/
@media screen and (max-width: 1240px) {
  .top .purpose .box {
    width: 100%;
  }
  .top .purpose .box h3 span {
    width: 70%;
  }
  .top .purpose .box section a p {
    width: 40%;
  }
  .top .info .box {
    padding: 150px 40px 60px;
  }
  .top .info .box .tab_box > label {
    width: calc((100% - (20px * 3)) / 4);
  }
  .top .info .box .tab_box > label:not(:last-of-type) {
    margin-right: 20px;
  }
  .top .sub_btn {
    gap: 20px;
  }



  /*strengths*/
  .strengths main .catch .box section:nth-of-type(odd) .box_in {
    padding-right: 150px;
    padding-left: 40px;
  }
  .strengths main .catch .box section:nth-of-type(even) .box_in {
    padding-right: 40px;
    padding-left: 150px;
  }
  .strengths main .catch .box section .box_in p {
    max-width: inherit;
    width: 100%;
  }



  /*recruit*/
  .recruit main .interview {
    padding: 100px 40px;
  }



  /*interview-detail*/
  .interview-detail main .wrap article {
    width: calc(100% - (50% + 40px));
  }
  .interview-detail main .wrap article .catch {
    padding: 90px 20px 80px 20px;
  }
  .interview-detail main .wrap article .info {
    padding-left: 20px;
  }
  .interview-detail main .wrap article .info > section > .comment {
    padding-left: 20px;
  }
  .interview-detail main .wrap article .info > .advice section .comment {
    padding-right: 30px;
    padding-left: 30px;
  }
  .interview-detail main .wrap aside {
    width: 50%;
  }
}





/*1210*/
@media screen and (max-width: 1210px) {



  /*about*/
  .about main .philosophy .box ,
  .about main .tagline .box ,
  .about main .vision .box {
    width: 100%;
  }
  .about main .overview_details .overview ,
  .about main .overview_details .details {
    width: 100%;
    padding-left: 20px;
    padding-right: 20px;
  }
  .about main .overview_details .btn {
    flex-wrap: wrap;
    width: 100%;
    padding: 0 20px;
  }
  .about main .overview_details .btn ul {
    flex-wrap: wrap;
  }
  .about main .overview_details .btn ul li {
    width: 250px;
  }
}





/*1200*/
@media screen and (max-width: 1200px) {



  /*reserve*/
  .reserve .sub_img {
    height: auto;
  }
  .reserve .sub_img p img {
    width: inherit;
    max-width: 100%;
    height: auto;
    object-fit: contain;
  }
}





/*1170*/
@media screen and (max-width: 1170px) {



  /*disclosure*/
  .disclosure main .list-bg .list {
    width: 100%;
  }



  /*disclosure-back-number*/
  .disclosure-back-number main .list-bg .list {
    width: 100%;
  }



  /*history*/
  .history main .list-bg .list {
    width: 100%;
  }



  /*guidelines*/
  .guidelines main .list-bg .list {
    width: 100%;
  }



  /*privacy-policy*/
  .privacy-policy main .list-bg .list {
    width: 100%;
  }



  /*executive-org*/
  .executive-org main .list-bg .list {
    width: 100%;
  }



  /*electronic-public-notice*/
  .electronic-public-notice main .list-bg .list {
    width: 100%;
  }



  /*training-system*/
  .training-system main .list-bg .list {
    width: 100%;
  }



  /*message*/
  .message main .list-bg .list {
    width: 100%;
  }
}





  /*1140*/
  @media screen and (max-width: 1140px) {
  .top .banner ul {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
  }



  /*recruit*/
  .recruit main .interview .system {
    padding: 30px;
  }
  .recruit main .interview .system .box {
    padding: 15px;
  }
  .recruit main .interview .system .box .img {
    margin-right: 40px;
  }
  .recruit main .interview .system .box .box_in {
    width: calc(100% - (400px + 40px));
    margin-right: 40px;
  }




  /*appleplusone-detail*/
  .appleplusone-detail main .voice .box .box_in {
    gap: 150px;
  }
  .appleplusone-detail main .voice .box .box_in section {
    width: calc((100% - 150px) / 2);
  }
  .appleplusone-detail main .voice .box .box_in section .img {
    width: 100%;
    padding: 0 40px;
  }
}





/*1040*/
@media screen and (max-width: 1040px) {
  .top .trouble ul li {
    width: 100%;
  }
  .top .info .box .tab_box > label span ,
  .top .info .box .tab_box > label a {
    padding: .5em .5em;
    font-size: 1.8rem;
    letter-spacing: .01em;
  }
  .top .sub_btn section a {
    border-radius: 40px;
    padding: 40px 10px 30px;
  }
  .top .sub_btn section a p {
    width: 30%;
  }



  /*recruit*/
  .recruit main .recruit_info .box .info_list section {
    display: flex;
    flex-wrap: wrap;
  }
  .recruit main .recruit_info .box .info_list section .post-title {
    width: 100%;
    padding: .5em 2em;
  }
  .recruit main .img_btn .box {
    gap: 30px;
  }




  /*info info-list*/
  .info.info-list main .box > section .info_list section {
    display: flex;
    flex-wrap: wrap;
    border-radius: inherit;
    overflow: inherit;
  }
  .info.info-list main .box > section .info_list section .cat a {
    border-radius: 1.5em;
    flex-grow:1;
  }
  .info.info-list main .box > section .info_list section .post-title {
    width: 100%;
    padding: .5em 2em;
  }
  
}





/*940*/
@media screen and (max-width: 940px) {



  /*strengths*/
  .strengths main .strong-point .box .box_in {
    padding: 80px 20px 80px;
  }
  .strengths main .strong-point .box .box_in section .number span {
    padding: 0 1.5em;
  }
  .strengths main .strong-point .box .box_in section .number span em {
    margin: 0 .2em;
  }
  .strengths main .strong-point .box .box_in section .comment {
    padding: 0 10px;
  }
  .strengths main .strong-point .box .box_in section .btn {
    padding: 0 10px;
  }
  .strengths main .strong-point .box .box_in section h4 {
    font-size: 2.0rem;
  }
  .strengths main .strong-point .box .box_in section .btn a {
    font-size: 1.8rem;
  }



  /*recruit*/
  .recruit main .interview .list section {
    width: calc((100% - (90px * 1)) / 2);
  }
  .recruit main .interview .list section:not(:nth-of-type(3n)) {
    margin-right: 0;
  }
  .recruit main .interview .list section:not(:nth-of-type(2n)) {
    margin-right: 90px;
  }
  .recruit main .interview .system .box .img {
    width: 300px;
  }
  .recruit main .interview .system .box .box_in {
    width: calc(100% - (300px + 40px));
  }
  .recruit main .interview .system .box .box_in h4 {
    font-size: 3.0rem;
  }



  /*interest-rates-fees*/
  .interest-rates-fees main .box > section .list details .caution {
    width: 100%;
    padding-left: 20px;
    padding-right: 20px;
  }
  .interest-rates-fees main .box > section .list details .caution-number {
    width: 100%;
    padding-left: 20px;
    padding-right: 20px;
  }
  .interest-rates-fees main .box > section .list details .content .tbl01 {
    width: 100%;
    padding-left: 20px;
    padding-right: 20px;
  }
  .interest-rates-fees main .box > section .list details .content .tbl02 {
    width: 100%;
    padding-left: 20px;
    padding-right: 20px;
  }
  .interest-rates-fees main .box > section .list details .content .tbl03 {
    width: 100%;
    padding-left: 20px;
    padding-right: 20px;
  }





  /*internet-banking use*/
  .use main .box section .tbl01 {
    width: 100%;
    padding-left: 20px;
    padding-right: 20px;
  }
  .use main .box section .caution01 {
    width: 100%;
    padding-left: 20px;
    padding-right: 20px;
  }



  /*cedyna*/
  .cedyna main .box > section .tbl01 table tr td .select-box01 ,
  .cedyna main .box > section .tbl01 table tr td .select-box02 ,
  .cedyna main .box > section .tbl01 table tr td .select-box03 {
    display: flex;
  }
  .cedyna main .box > section .tbl01 table tr td .select-box02 ,
  .cedyna main .box > section .tbl01 table tr td .select-box03 {
    display: flex;
    flex-direction: column;
  }
}





/*767*/
@media screen and (max-width: 767px) {


  /*top*/
  .top .slide_box {
    max-width: 100%;
    height: 80vh;
  }
  .top .slide_box .slide_wrap {
    max-width: 100%;
  }
  .top .slide_box .slick-list {
    overflow: visible;
  }
  .top .slide_box .slide {
    position: relative;
    max-width: 100%;
    height: 80vh !important;
  }
  .top .slide_box .slide div {
    height: 80vh !important;
  }
  .top .slide_box .slide ,
  .top .slide_box .slide p ,
  .top .slide_box .slide p picture {
    width: 100%;
    height: 80vh !important;
    display: block;
  }
  .top .slide_box .slide p ,
  .top .slide_box .slide p picture {
    position: relative;
    width: 100% !important;
    height: 80vh !important;
  }
  .top .slide_box .slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .top .slide_box .dots {
    padding: 0 5vw;
    padding-top: 5vw;
    width: 100%;
    height: auto;
  }
  .top .slide_box .dots ul {
    height: auto;
  }
  .top .slide_box .dots ul li {
    margin: 0 3vw;
    height: auto;
  }
  .top .slide_box .dots ul li button {
    width: 4vw;
    height: 4vw;
  }

  .top .new_post {
    padding: 15vw 4vw 15vw;
  }
  .top .new_post::before {
    border-radius: 0 0 5vw 5vw;
  }
  .top .new_post .box {
    max-width: 100%;
    padding: 5vw 4vw;
    border-radius: 4vw;
    flex-direction: column;
  }
  .top .new_post .box .cat {
    width: 60%;
  }
  .top .new_post .box .cat a {
    font-size: 1.6rem;
    padding: .2em 1em;
    border-radius: 3vw;
  }
  .top .new_post .box time {
    width: 100%;
    text-align: left;
    font-size: 1.4rem;
    padding-top: .4em;
  }
  .top .new_post .box .post-title {
    width: 100%;
  }
  .top .new_post .box .post-title a {
    font-size: 1.8rem;
  }
  .top .trouble {
    padding: 15vw 4vw;
  }
  .top .trouble::before {
    top: -15vw;
    height: calc(100% + (15vw * 2));
  }
  .top .trouble h3 {
    font-size: 3.0rem;
    margin-bottom: .4em;
  }
  .top .trouble h3 span {
    font-size: 3.0rem;
  }
  .top .trouble ul {
    display: flex;
    flex-direction: column;
    gap: 6vw;
  }
  .top .trouble ul li {
    width: 100%;
  }
  .top .purpose {
    padding: 10vw 4vw 15vw;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .top .purpose::before {
    border-radius: 10vw 10vw 0 0;
  }
  .top .purpose .box {
    width: 100%;
    gap: 0;
    row-gap: 6vw;
    column-gap: 5vw;
  }
  .top .purpose .box h3 ,
  .top .purpose .box section {
    width: calc((100% - 5vw) / 2);
    aspect-ratio: 1;
  }
  .top .purpose .box h3 {
    border-radius: 3vw;
  }
  .top .purpose .box h3 span {
    width: 80%;
  }
  .top .purpose .box section a {
    border-radius: 3vw;
  }
  .top .purpose .box section a p {
    width: 20vw;
    margin-bottom: 3vw;
  }
  .top .purpose .box section a h4 {
    font-size: 1.8rem;
  }
  .top .pickup {
    background: url(../img/top/pickup_wave_bg.jpg) repeat center center;
    margin-bottom: 15vw;
  }
  .top .pickup::before {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    background: url(../img/top/pickup_wave_top.svg) repeat-x left top , url(../img/top/pickup_wave_bottom.svg) repeat-x left bottom;
    content: '';
  }
  .top .pickup .box {
    position: relative;
    padding: 10vw 0 8vw;
    padding-top: 25vw;
  }
  .top .pickup .box h3 {
    top: -5vw;
    padding-top: 10vw;
  }
  .top .pickup .box h3::before {
    width: 10vw;
    height: 10vw;
  }
  .top .pickup .box h3 span {
    font-size: 3.0rem;
    letter-spacing: .1em;
  }
  .top .pickup .box h3 em {
    font-size: 2.0rem;
    letter-spacing: .05em;
    padding-top: .6em;
  }
  .top .pickup .box .pickup_slide {
    width: 100vw;
  }
  .top .pickup .box .pickup_slide .pickup_slide_box section {
    width: 70vw !important;
    height: 100% !important;
    border-radius: 0 0 5vw 5vw;
  }
  .top .pickup .box .pickup_slide .pickup_slide_box section::after {
    right: 3vw;
    bottom: 3vw;
    width: 8vw;
    height: 8vw;
  }
  .top .pickup .box .pickup_slide .pickup_slide_box section .box_in {
    padding: 3vw 4vw 5vw;
  }
  .top .pickup .box .pickup_slide .pickup_slide_box section .box_in time {
    font-size: 1.4rem;
    margin-bottom: .4em;
  }
  .top .pickup .box .pickup_slide .pickup_slide_box section .box_in h4 {
    font-size: 1.6rem;
  }
  .top .pickup .box .pickup_slide .pickup_slide_box .slick-list {
    padding-bottom: 6vw !important;
  }
  .top .pickup .box .pickup_slide .pickup_slide_box .slick-slide {
    margin: 0 3vw;
  }
  .top .pickup .box .pickup_slide .arrow_box .prev-arrow ,
  .top .pickup .box .pickup_slide .arrow_box .next-arrow {
    width: 10vw;
    height: 10vw;
  }
  .top .pickup .box .pickup_slide .arrow_box .prev-arrow {
    left: 3vw;
  }
  .top .pickup .box .pickup_slide .arrow_box .next-arrow {
    right: 3vw;
  }
  .top .greeting {
    position: relative;
    height: 90vh;
    padding-top: 10vw;
  }
  .top .greeting::before {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
    background: url(../img/top/greeting_img.jpg) no-repeat center center;
    background-size: cover;
    mask-image: url(../img/top/greeting_img_mask.svg);
    mask-repeat: no-repeat;
    mask-position: center top;
    mask-size: cover;
    content: '';
  }
  .top .greeting .catch {
    width: 80vw;
    margin-bottom: 5vw;
  }
  .top .greeting .box {
    overflow: hidden;
  }
  .top .greeting .box a .box_in {
    left: calc(50% - 12vw);
  }
  .top .greeting .box a .box_in h3 {
    width: 70vw;
    margin-bottom: 5vw;
  }
  .top .greeting .box a .box_in h3 span em {
    font-size: 2.6rem;
    letter-spacing: .075em;
    margin-bottom: .2em;
  }
  .top .greeting .box a .box_in h3 span i {
    font-size: 1.8rem;
    letter-spacing: .075em;
  }
  .top .greeting .box a .box_in p {
    padding: .4em 2em;
    border-radius: 1.5em;
    font-size: 1.5rem;
  }
  .top .greeting .box a .box_in p span {
    padding-right: 1.7em;
  }
  .top .greeting .box a .box_in p span::after {
    width: 1.2em;
    height: 1.2em;
  }
  .top .recruit {
    padding-top: 20vw;
  }
  .top .recruit .bg_sky {
    position: relative;
    height: auto;
    padding-top: 25vw;
  }
  .top .recruit .bg_sky::before {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
    background: url(../img/top/recruit_sky_bg_w.jpg) no-repeat center center;
    background-size: cover;
    content: '';
  }
  .top .recruit .bg_sky h3 {
    top: -5vw;
    padding-top: 10vw;
  }
  .top .recruit .bg_sky h3::before {
    width: 10vw;
    height: 10vw;
  }
  .top .recruit .bg_sky h3 span {
    font-size: 3.0rem;
    letter-spacing: .1em;
  }
  .top .recruit .bg_sky h3 em {
    font-size: 2.0rem;
    letter-spacing: .05em;
    padding-top: .6em;
  }
  .top .recruit .bg_sky .img_title {
    position: relative;
    max-width: 100%;
    padding-left: 4vw;
    padding-right: 4vw;
    margin: 0 auto;
  }
  .top .recruit .bg_sky .img_title::before {
    left: 4vw;
    width: calc(100% - (4vw * 2));
    border-radius: 5vw;
  }
  .top .recruit .bg_sky .img_title a .img {
    border-radius: 5vw;
    aspect-ratio: 5 / 3;
  }
  .top .recruit .bg_sky .img_title a .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .top .recruit .bg_sky .img_title a .title {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .top .recruit .bg_sky .img_title a .title::before {
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: -1;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, .6);
    content: '';
  }
  .top .recruit .bg_sky .img_title a .title h4 {
    width: 85vw;
    height: auto;
  }
  .top .recruit .bg_sky .img_title a .title h4::before {
    width: calc(100% - 15px);
    height: calc(100% - 15px);
  }
  .top .recruit .bg_sky .img_title a .title h4::after {
    width: calc(100% - 15px);
    height: calc(100% - 15px);
  }
  .top .recruit .bg_sky .img_title a .title h4 span {
    display: block;
    width: 100%;
    padding: 6vw;
  }
  .top .recruit .bg_sky .img_title a .btn {
    bottom: 2vw;
  }
  .top .recruit .bg_sky .img_title a .btn span {
    position: relative;
    display: block;
    background: #FFF;
    border: solid 1px #3c1d07;
    padding: .2em 2em;
    border-radius: 1.5em;
    font-size: 1.5rem;
  }
  .top .recruit .bg_sky .img_title a .btn span em {
    position: relative;
    display: block;
    padding-right: 1.7em;
  }
  .top .recruit .bg_sky .img_title a .btn span em::after {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 0;
    width: 1.2em;
    height: 1.2em;
    background: url(../img/top/greeting_btn_arrow.svg) no-repeat center center;
    background-size: cover;
    content: '';
  }
  .top .recruit .bg_sky .img_title a:hover .btn span {
    background: #3c1d07;
    border: solid 1px #3c1d07;
    color: #FFF;
  }
  .top .recruit .bg_sky .img_title a:hover .btn span em::after {
    background: url(../img/top/greeting_btn_arrow-reverse.svg) no-repeat center center;
    background-size: cover;
    content: '';
  }
  .top .info {
    padding: 0 4vw;
    padding-top: 20vw;
  }
  .top .info .box {
    width: 100%;
    padding: 10vw 4vw 8vw;
    padding-top: 25vw;
    border-radius: 5vw;
  }
  .top .info .box h3 {
    top: -5vw;
    padding-top: 10vw;
  }
  .top .info .box h3::before {
    width: 10vw;
    height: 10vw;
  }
  .top .info .box h3 span {
    font-size: 3.0rem;
    letter-spacing: .1em;
  }
  .top .info .box h3 em {
    font-size: 2.0rem;
    letter-spacing: .05em;
    padding-top: .6em;
  }
  .top .info .box .tab_box {
    margin-bottom: 5vw;
  }
  .top .info .box .tab_box > label {
    order: -99;
    width: calc((100% - (3vw * 3)) / 4);
  }
  .top .info .box .tab_box > label:not(:last-of-type) {
    margin-right: 3vw;
  }
  .top .info .box .tab_box > label span ,
  .top .info .box .tab_box > label a {
    padding: .5em .4em;
    border-radius: 2vw 2vw 0 0;
    font-size: 1.4rem;
    letter-spacing: 0;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .top .info .box .tab_box > .info_list {
    padding-top: 2vw;
  }
  .top .info .box .tab_box > .info_list section {
    display: flex;
    flex-wrap: wrap;
    border-radius: 2em;
    overflow: hidden;
  }
  .top .info .box .tab_box > .info_list section:not(:last-of-type) {
    margin-bottom: 3vw;
  }
  .top .info .box .tab_box > .info_list section .cat {
    width: 60%;
  }
  .top .info .box .tab_box > .info_list section .cat a {
    font-size: 1.6rem;
    padding: .2em 0;
    letter-spacing: .075em;
    border-radius: 0 1.5em 1.5em 0;
  }
  .top .info .box .tab_box > .info_list section time {
    width: 100%;
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    font-size: 1.4rem;
    letter-spacing: .1em;
    padding: .4em 1em;
    padding-bottom: 0;
  }
  .top .info .box .tab_box > .info_list section .post-title {
    display: flex;
    align-items: center;
    width: 100%;
    font-size: 1.6rem;
    letter-spacing: .05em;
    padding: .5em 1em;
  }
  .top .info .box .btn a {
    padding: .6em 2em;
    border-radius: 1.5em;
    font-size: 1.4rem;
  }
  .top .info .box .btn a span {
    padding-right: 1.7em;
  }
  .top .info .box .btn a span::after {
    width: 1.2em;
    height: 1.2em;
  }
  .top .sub_btn {
    max-width: 100%;
    padding: 0 4vw;
    padding-top: 20vw;
    padding-bottom: 20vw;
    display: flex;
    flex-direction: column;
    gap: 6vw;
  }
  .top .sub_btn section a {
    flex-direction: row;
    border-radius: 3vw;
    padding: 2vw 3vw 2vw;
  }
  .top .sub_btn section a p {
    width: 12vw;
    margin-bottom: 0;
    margin-right: 5vw;
  }
  .top .sub_btn section a h3 {
    font-size: 2.0rem;
    font-weight: 700;
  }
  .top .banner {
    padding: 0 4vw;
  }
  .top .banner ul {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 6vw;
  }
  .top .banner ul li img {
    width: auto;
    height: 60px;
  }
  .top .city_link {
    padding: 0 4vw;
    padding-top: 5vw;
    padding-bottom: 20vw;
  }
  .top .city_link ul li {
    font-size: 1.5rem;
    padding: 0 .5em;
  }
  
  
  



  /*strengths*/
  .strengths .main_img {
    height: auto;
  }
  .strengths .main_img .img ,
  .strengths .main_img picture {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
  }
  .strengths .main_img picture img {
    width: 100%;
    height: auto;
    object-fit: contain;
  }
  .strengths .main_img h3 {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 60vw;
  }
  .strengths main .catch {
    padding-top: 20vw;
    padding-bottom: 20vw;
  }
  .strengths main .catch h3 {
    position: absolute;
    top: calc(-1em - 1em);
    font-size: 2.2rem;
  }
  .strengths main .catch h3 span ,
  .strengths main .catch h3 em {
    font-size: 2.2rem;
    letter-spacing: .05em;
  }
  .strengths main .catch h3 span {
    margin-bottom: 1.5em;
  }
  .strengths main .catch .sub_catch {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    margin-bottom: 15vw;
  }
  .strengths main .catch .sub_catch .img {
    width: 50vw;
    margin-right: 0;
    margin-bottom: 5vw;
  }
  .strengths main .catch .sub_catch .comment {
    font-size: 2.0rem;
    letter-spacing: .06em;
  }
  .strengths main .catch .box section {
    height: auto;
    max-width: 100%;
    padding: 0;
    display: flex;
    flex-direction: column;
  }
  .strengths main .catch .box section::before {
    display: none;
  }
  .strengths main .catch .box section h4 {
    position: absolute;
    top: 50vw;
    left: 50%;
    transform: inherit;
    transform: translateX(-50%);
  }
  .strengths main .catch .box section h4 span {
    font-size: 3.0rem;
    line-height: 1.2;
    padding: .2em .4em;
    white-space: nowrap;
  }
  .strengths main .catch .box section .box_in {
    background: #FFF;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding:  5vw 4vw !important;
    padding-top: 10vw !important;
  }
  .strengths main .catch .box section:nth-of-type(odd) .box_in {
    order: 99;
    border-radius: 0;
  }
  .strengths main .catch .box section:nth-of-type(even) .box_in {
    order: 99;
    border-radius: 0;
  }
  .strengths main .catch .box section .box_in p {
    font-size: 1.8rem;
    letter-spacing: .03em;
    max-width: 100%;
  }
  .strengths main .catch .box section .img {
    width: 100%;
    height: auto;
  }
  .strengths main .catch .box section:nth-of-type(odd) .img {
    order: -99;
  }
  .strengths main .catch .box section:nth-of-type(even) .img {
    order: -99;
  }
  .strengths main .catch .box section .img img {
    width: 100%;
    height: auto;
    object-fit: contain;
  }
  .strengths main .strong-point {
    padding-top: 30vw;
    padding-bottom: 15vw;
  }
  .strengths main .strong-point h3 {
    top: -5vw;
    padding-top: 10vw;
  }
  .strengths main .strong-point h3::before {
    width: 10vw;
    height: 10vw;
  }
  .strengths main .strong-point h3 span {
    font-size: 3.0rem;
    letter-spacing: .1em;
  }
  .strengths main .strong-point h3 em {
    font-size: 2.0rem;
    letter-spacing: .05em;
    padding-top: .6em;
  }
  .strengths main .strong-point .box .box_in {
    margin-bottom: 6vw;
    padding: 5vw 4vw;
    border-radius: 5vw;
    flex-direction: column;
  }
  .strengths main .strong-point .box .box_in section {
    width: 100%;
  }
  .strengths main .strong-point .box .box_in section:not(:last-of-type) {
    margin-right: 0;
    margin-bottom: 15vw;
  }
  .strengths main .strong-point .box .box_in section .number {
    position: relative;
    top: inherit;
    height: 10vw;
  }
  .strengths main .strong-point .box .box_in section .number span {
    font-size: 1.4rem;
    border-radius: calc(4vw / 2);
    padding: 0 2.85em;
  }
  .strengths main .strong-point .box .box_in section .number span em {
    font-size: 5.0rem;
    margin: 0 .4em;
  }
  .strengths main .strong-point .box .box_in section h4 {
    font-size: 2.0rem;
    letter-spacing: .06em;
    margin-bottom: .6em;
  }
  .strengths main .strong-point .box .box_in section .img {
    margin-bottom: 5vw;
  }
  .strengths main .strong-point .box .box_in section .img span {
    border-radius: 5vw;
  }
  .strengths main .strong-point .box .box_in section .comment {
    padding: 0;
    margin-bottom: 5vw;
    font-size: 1.6rem;
  }
  .strengths main .strong-point .box .box_in section .btn {
    padding: 0;
  }
  .strengths main .strong-point .box .box_in section .btn a {
    border: solid 1px #539466;
    font-size: 2.0rem;
    padding: .8em .5em;
    border-radius: 1.5em;
  }
  .strengths main .strong-point .box .box_in section .btn a span {
    padding-left: 1.5em;
  }
  .strengths main .strong-point .box .box_in section .btn a span::before {
    width: 1em;
    height: 1em;
  }



  /*about*/
  .about .main_img {
    height: 80vh;
  }
  .about .main_img::before {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
    background: url(../img/about/main_img_w.jpg) no-repeat center center;
    background-size: cover;
    mask-image: url(../img/about/main_img_mask.svg);
    mask-repeat: no-repeat;
    mask-position: center bottom;
    mask-size: cover;
    content: '';
  }
  .about .main_img .cetch {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 20vw;
  }
  .about main .message {
    padding: 0 4vw;
    padding-top: 25vw;
    padding-bottom: 15vw;
  }
  .about main .message h3 {
    top: -10vw;
    padding-top: 10vw;
  }
  .about main .message h3::before {
    width: 10vw;
    height: 10vw;
  }
  .about main .message h3 span {
    font-size: 3.0rem;
    letter-spacing: .1em;
  }
  .about main .message h3 em {
    font-size: 2.0rem;
    letter-spacing: .05em;
    padding-top: .6em;
  }
  .about main .message .box {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
  }
  .about main .message .box .comment {
    order: -99;
    max-width: 100%;
    font-size: 1.8rem;
    letter-spacing: .03em;
    margin-bottom: 3vw;
  }
  .about main .message .box .img_name {
    order: 99;
    margin-right: 0;
  }
  .about main .message .box .img_name .img {
    width: 40vw;
    margin-bottom: 3vw;
  }
  .about main .message .box .img_name .name em ,
  .about main .message .box .img_name .name span {
    letter-spacing: .03em;
  }
  .about main .message .box .img_name .name em {
    font-size: 1.4rem;
    margin-bottom: .2em;
  }
  .about main .message .box .img_name .name span {
    font-size: 2.2rem;
  }
  .about main .philosophy ,
  .about main .tagline ,
  .about main .vision {
    padding: 0 4vw;
    padding-bottom: 20vw;
  }
  .about main .philosophy h3 ,
  .about main .tagline h3 ,
  .about main .vision h3 {
    top: -5vw;
    padding-top: 10vw;
  }
  .about main .philosophy h3::before ,
  .about main .tagline h3::before ,
  .about main .vision h3::before {
    width: 10vw;
    height: 10vw;
  }
  .about main .philosophy h3 span ,
  .about main .tagline h3 span ,
  .about main .vision h3 span {
    font-size: 2.4rem;
    letter-spacing: .1em;
  }
  .about main .philosophy h3 em ,
  .about main .tagline h3 em ,
  .about main .vision h3 em {
    font-size: 2.0rem;
    letter-spacing: .05em;
    padding-top: .6em;
  }
  .about main .philosophy .box ,
  .about main .tagline .box ,
  .about main .vision .box {
    border-radius: 5vw;
    width: 100%;
    padding: 30vw 5vw 10vw;
  }
  .about main .tagline .box h4 ,
  .about main .vision .box h4 {
    margin-bottom: 5vw;
  }
  .about main .tagline .box h4 * ,
  .about main .vision .box h4 * {
    line-height: 1.4;
  }
  .about main .tagline .box h4 span ,
  .about main .vision .box h4 span {
    font-size: 2.2rem;
    margin-bottom: .4em;
  }
  .about main .tagline .box h4 em ,
  .about main .vision .box h4 em {
    font-size: 1.8rem;
  }
  .about main .philosophy .box .box_in dl {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
  }
  .about main .philosophy .box .box_in dl:not(:last-of-type) {
    margin-bottom: 6vw;
  }
  .about main .philosophy .box .box_in dl dt {
    font-size: 2.0rem;
    letter-spacing: .1em;
    line-height: 1em;
    padding-right: 0;
    margin-bottom: .3em;
  }
  .about main .philosophy .box .box_in dl dt::after {
    display: none;
  }
  .about main .philosophy .box .box_in dl dd {
    font-size: 1.8rem;
    letter-spacing: .05em;
    line-height: 1.35;
  }
  .about main .philosophy .box .box_in dl dd br {
    display: none;
  }
  .about main .greeting {
    position: relative;
    height: 90vh;
    padding-top: 10vw;
  }
  .about main .greeting::before {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
    background: url(../img/top/greeting_img.jpg) no-repeat center center;
    background-size: cover;
    mask-image: url(../img/top/greeting_img_mask.svg);
    mask-repeat: no-repeat;
    mask-position: center top;
    mask-size: cover;
    content: '';
  }
  .about main .greeting .catch {
    width: 80vw;
    margin-bottom: 5vw;
  }
  .about main .greeting .box {
    overflow: hidden;
  }
  .about main .greeting .box .box_in {
    left: calc(50% - 12vw);
  }
  .about main .greeting .box .box_in h3 {
    width: 70vw;
    margin-bottom: 5vw;
  }
  .about main .greeting .box .box_in h3 span em {
    font-size: 2.6rem;
    letter-spacing: .075em;
    margin-bottom: .2em;
  }
  .about main .greeting .box .box_in h3 span i {
    font-size: 1.8rem;
    letter-spacing: .075em;
  }
  .about main .greeting .box .box_in p a {
    padding: .4em 2em;
    border-radius: 1.5em;
    font-size: 1.5rem;
  }
  .about main .greeting .box .box_in p a span {
    padding-right: 1.7em;
  }
  .about main .greeting .box .box_in p a span::after {
    width: 1.2em;
    height: 1.2em;
  }
  .about main .overview_details {
    padding: 0 4vw;
    padding-top: 15vw;
    padding-bottom: 15vw;
  }
  .about main .overview_details .overview ,
  .about main .overview_details .details {
    width: 100%;
    border-radius: 5vw;
    margin-bottom: 15vw;
  }
  .about main .overview_details .overview {
    padding-top: 25vw;
    padding-bottom: 15vw;
  }
  .about main .overview_details .details {
    padding-top: 25vw;
    padding-bottom: 15vw;
  }
  .about main .overview_details .overview h3 ,
  .about main .overview_details .details h3 {
    top: -5vw;
    padding-top: 10vw;
  }
  .about main .overview_details .overview h3::before {
    width: 10vw;
    height: 10vw;
  }
  .about main .overview_details .details h3::before {
    width: 10vw;
    height: 10vw;
  }
  .about main .overview_details .overview h3 span ,
  .about main .overview_details .details h3 span {
    font-size: 3.0rem;
    letter-spacing: .1em;
  }
  .about main .overview_details .overview h3 em ,
  .about main .overview_details .details h3 em {
    font-size: 2.0rem;
    letter-spacing: .05em;
    padding-top: .6em;
  }
  .about main .overview_details .overview .box {
    width: 100%;
  }
  .about main .overview_details .overview .box table tr th ,
  .about main .overview_details .overview .box table tr td {
    display: block;
    font-size: 1.4rem;
    padding: .8em .6em;
    letter-spacing: .03em;
  }
  .about main .overview_details .overview .box table tr th {
    text-align: left;
    width: 100%;
    border-bottom: none !important;
  }
  .about main .overview_details .overview .box table tr td span {
    display: block;
    margin-right: 0;
  }
  .about main .overview_details .overview .box time {
    font-size: 1.3rem;
    padding-top: .4em;
  }
  .about main .overview_details .details .box section {
    font-size: 1.5rem;
  }
  .about main .overview_details .details .box section:not(:last-of-type) {
    margin-bottom: .9em;
  }
  .about main .overview_details .details .box section h4 {
    margin-bottom: .2em;
  }
  .about main .overview_details .details .box section h4 span {
    font-weight: 900;
  }
  .about main .overview_details .details .box section ul {
    padding: 0 .5em;
  }
  .about main .overview_details .details .box section ul li {
    padding-left: 1em;
  }
  .about main .overview_details .details .box section ul li::before {
    position: absolute;
    top: .9em;
    left: .3em;
    width: .2em;
    height: .2em;
    border-radius: 50%;
    background: #3c1d07;
    content: '';
  }
  .about main .overview_details .details .box section ul li span {
    padding-left: .5em;
  }
  .about main .overview_details .details .box section p {
    padding: 0 .5em;
  }
  .about main .overview_details .btn {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    width: 100%;
  }
  .about main .overview_details .btn ul {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 6vw;
    width: 100%;
  }
  .about main .overview_details .btn ul li {
    width: 100%;
  }
  .about main .overview_details .btn ul li a {
    border-radius: 3vw;
    font-size: 1.6rem;
    letter-spacing: .05em;
    padding: .6em 1em;
  }
  .about main .overview_details .btn ul li.ls01 a::first-letter {
    letter-spacing: .15em;
  }



  /*recruit*/
  .recruit .main_img {
    height: auto;
    padding: 20vw 0;
  }
  .recruit .main_img .cetch::before {
    top: 10px;
    left: 10px;
  }
  .recruit .main_img .cetch h3 {
    width: 90vw;
    height: auto;
  }
  .recruit .main_img .cetch h3::before {
    width: calc(100% - 15px);
    height: calc(100% - 15px);
  }
  .recruit .main_img .cetch h3::after {
    width: calc(100% - 15px);
    height: calc(100% - 15px);
  }
  .recruit .main_img .cetch h3 span {
    display: block;
    width: 100%;
    padding: 6vw;
  }
  .recruit main {
    padding-top: 20vw;
  }
  .recruit main .sub_img {
    position: relative;
    padding: 0 4vw;
  }
  .recruit main .sub_img p {
    max-width: 100%;
    margin: 0 auto;
  }
  .recruit main .recruit_info {
    padding: 0 4vw;
    padding-top: 15vw;
    padding-bottom: 15vw;
  }
  .recruit main .recruit_info .box {
    border-radius: 5vw;
    padding: 25vw 5vw 10vw;
    max-width: 100%;
  }
  .recruit main .recruit_info .box h3 {
    top: -10vw;
    padding-top: 10vw;
  }
  .recruit main .recruit_info .box h3::before {
    width: 10vw;
    height: 10vw;
  }
  .recruit main .recruit_info .box h3 span {
    font-size: 3.0rem;
    letter-spacing: .1em;
  }
  .recruit main .recruit_info .box h3 em {
    font-size: 2.0rem;
    letter-spacing: .05em;
    padding-top: .6em;
  }
  .recruit main .recruit_info .box .info_list {
    margin-bottom: 10vw;
  }
  .recruit main .recruit_info .box .info_list section {
    border-radius: 5vw;
    flex-direction: column;
  }
  .recruit main .recruit_info .box .info_list section:not(:last-of-type) {
    margin-bottom: 8vw;
  }
  .recruit main .recruit_info .box .info_list section .cat {
    width: 60%;
  }
  .recruit main .recruit_info .box .info_list section .cat a {
    font-size: 1.6rem;
    padding: .2em 0;
    letter-spacing: .075em;
    border-radius: 0 5vw 5vw 0;
  }
  .recruit main .recruit_info .box .info_list section time {
    width: 100%;
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    font-size: 1.4rem;
    letter-spacing: .1em;
    padding: .4em 1em;
    padding-bottom: 0;
  }
  .recruit main .recruit_info .box .info_list section .post-title {
    display: flex;
    align-items: center;
    width: 100%;
    font-size: 1.6rem;
    letter-spacing: .05em;
    padding: .5em 1em;
  }
  .recruit main .recruit_info .box p.btn a {
    padding: .4em 2em;
    border-radius: 1.5em;
    font-size: 1.5rem;
  }
  .recruit main .recruit_info .box p.btn a span {
    padding-right: 1.7em;
  }
  .recruit main .recruit_info .box p.btn a span::after {
    width: 1.2em;
    height: 1.2em;
  }
  .recruit main .img_btn {
    position: relative;
    z-index: 1;
    margin-bottom: 200px;
  }
  .recruit main .img_btn::before {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 130px;
    background: #c2e4ee;
    content: '';
  }
  .recruit main .img_btn .box {
    display: flex;
    flex-direction: column;
    gap: 10vw;
  }
  .recruit main .img_btn .box section {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 5vw;
  }
  .recruit main .img_btn .box section .img {
    width: 35vw;
    border: solid 2px #539466;
    margin-bottom: 0;
  }
  .recruit main .img_btn .box section .box_in {
    width: calc(100% - (35vw + 5vw));
  }
  .recruit main .img_btn .box section h3 {
    text-align: left;
    font-size: 1.8rem;
    font-weight: 700;
    margin-bottom: .6em;
    letter-spacing: .06em;
    order: 99;
  }
  .recruit main .img_btn .box section .comment {
    margin-bottom: 1em;
    order: 99;
  }
  .recruit main .img_btn .box section .comment p {
    text-align: left;
  }
  .recruit main .img_btn .box section p.btn a {
    padding: .2em 2em;
    border-radius: 1.5em;
    font-size: 1.5rem;
  }
  .recruit main .img_btn .box section p.btn a span {
    padding-right: 1.7em;
  }
  .recruit main .img_btn .box section p.btn a span::after {
    width: 1.2em;
    height: 1.2em;
  }
  .recruit main .interview {
    width: 100%;
    padding: 10vw 4vw;
    padding-top: 25vw;
    margin-bottom: 15vw;
    border-radius: 5vw;
  }
  .recruit main .interview h3 {
    top: -10vw;
    padding-top: 10vw;
    margin-bottom: -5vw;
  }
  .recruit main .interview h3::before {
    width: 10vw;
    height: 10vw;
  }
  .recruit main .interview h3 span {
    font-size: 3.0rem;
    letter-spacing: .1em;
  }
  .recruit main .interview h3 em {
    font-size: 2.0rem;
    letter-spacing: .05em;
    padding-top: .6em;
  }
  .recruit main .interview .catch {
    font-size: 2.0rem;
    margin-bottom: 2.5em;
  }
  .recruit main .interview .catch p span {
    padding: .1em .2em;
    line-height: 2.0;
  }
  .recruit main .interview .list {
    display: flex;
    flex-wrap: wrap;
  }
  .recruit main .interview .list section {
    width: calc((100% - 5vw) / 2);
    margin-bottom: 10vw;
  }
  .recruit main .interview .list section:not(:nth-of-type(3n)) {
    margin-right: 0;
  }
  .recruit main .interview .list section:not(:nth-of-type(2n)) {
    margin-right: 5vw;
  }
  .recruit main .interview .list section .img {
    position: relative;
    z-index: 1;
    margin-bottom: 10vw;
  }
  .recruit main .interview .list section .img::before {
    bottom: -15px;
    left: calc(50% - 40px);
    z-index: 2;
    display: block;
    width: 40px;
    height: 20px;
    clip-path: polygon(0 0, 100% 0%, 50% 100%);
    rotate: 135deg;
    content: '';
  }
  .recruit main .interview .list section .img span {
    border-radius: 15vw;
  }
  .recruit main .interview .list section .img span::before {
    border-radius: 15vw;
  }
  .recruit main .interview .list section .img span::after {
    border-radius: 15vw;
  }
  .recruit main .interview .list section .img span em {
    display: block;
    overflow: hidden;
    border-radius: calc(15vw - (2px * 2));
  }
  .recruit main .interview .list section h4 {
    font-size: 1.6rem;
    letter-spacing: .02em;
    margin-bottom: .8em;
  }
  .recruit main .interview .list section .name {
    margin-bottom: .8em;
  }
  .recruit main .interview .list section .name dl {
    flex-direction: column;
  }
  .recruit main .interview .list section .name dl dt {
    font-size: 1.4rem;
    letter-spacing: .05em;
  }
  .recruit main .interview .list section .name dl dd {
    font-size: 1.8rem;
    letter-spacing: .05em;
  }
  .recruit main .interview .list section .name dl dd::before {
    display: none;
  }
  .recruit main .interview .list section p.btn a {
    padding: .2em 2em;
    border-radius: 1.5em;
    font-size: 1.5rem;
  }
  .recruit main .interview .list section p.btn a span {
    padding-right: 1.7em;
  }
  .recruit main .interview .list section p.btn a span::after {
    width: 1.2em;
    height: 1.2em;
  }
  .recruit main .interview .system {
    padding: 5vw;
  }
  .recruit main .interview .system .box {
    flex-direction: column;
    padding: 4vw;
  }
  .recruit main .interview .system .box .img {
    width: 100%;
    margin-right: 0;
    margin-bottom: 5vw;
  }
  .recruit main .interview .system .box .box_in {
    width: 100%;
    margin-right: 0;
  }
  .recruit main .interview .system .box .box_in h4 {
    font-size: 3.0rem;
    letter-spacing: .055em;
    line-height: 1.2;
    margin-bottom: .4em;
  }
  .recruit main .interview .system .box .box_in .comment {
    font-size: 1.6rem;
    margin-bottom: .8em;
  }
  .recruit main .interview .system .box .box_in .comment p {
    letter-spacing: .055em;
  }
  .recruit main .interview .system .box .box_in p.btn a {
    padding: .2em 2em;
    border-radius: 1.5em;
    font-size: 1.5rem;
  }
  .recruit main .interview .system .box .box_in p.btn a span {
    padding-right: 1.7em;
  }
  .recruit main .interview .system .box .box_in p.btn a span::after {
    width: 1.2em;
    height: 1.2em;
  }
  .recruit main .application-requirements .human {
    width: 100%;
    padding: 10vw 4vw 15vw;
    border-radius: 5vw;
  }
  .recruit main .application-requirements .human h3 {
    font-size: 3.0rem;
    letter-spacing: .1em;
    line-height: 1.2;
    margin-bottom: 1.5em;
  }
  .recruit main .application-requirements .human .box {
    max-width: 100%;
  }
  .recruit main .application-requirements .human .box details summary::before ,
  .recruit main .application-requirements .human .box details summary::after {
    right: 5vw;
    width: 5vw;
    height: 2px;
  }
  .recruit main .application-requirements .human .box details summary div {
    font-size: 1.8rem;
    padding: .8em 6vw;
    padding-left: .6em;
  }
  .recruit main .application-requirements .human .box details summary div dl * {
    font-size: 1.6rem;
  }
  .recruit main .application-requirements .human .box details summary div dl dt {
    margin-right: 1em;
  }
  .recruit main .application-requirements .human .box details .answer .box_in {
    padding: 5vw 4vw;
  }
  .recruit main .application-requirements .human .box details .answer .box_in .tbl_box > dl {
    display: flex;
    flex-direction: column;
    padding: 5vw 0;
  }
  .recruit main .application-requirements .human .box details .answer .box_in .tbl_box > dl:first-of-type {
    padding-top: 0;
  }
  .recruit main .application-requirements .human .box details .answer .box_in .tbl_box > dl > dt {
    width: 100%;
    padding-left: 0;
  }
  .recruit main .application-requirements .human .box details .answer .box_in .tbl_box > dl > dd {
    width: 100%;
    padding-right: 0;
  }
  .recruit main .application-requirements .human .box details .answer .box_in .tbl_box > dl > dd .tbl_in {
    display: block;
    padding: 0 2vw;
  }
  .recruit main .application-requirements .human .box details .answer .box_in .tbl_box > dl > dd .tbl_in dl {
    display: flex;
    flex-direction: column;
  }
  .recruit main .application-requirements .human .box details .answer .box_in .tbl_box > dl > dd .tbl_in dl dt ,
  .recruit main .application-requirements .human .box details .answer .box_in .tbl_box > dl > dd .tbl_in dl dd {
    display: block;
  }
  .recruit main .application-requirements .human .box details .answer .box_in .tbl_box > dl > dd .tbl_in dl dt {
    white-space: wrap;
    padding-right: 0m;
  }
  .recruit main .application-requirements .human .box details .answer .box_in .tbl_box > dl > dd .tel_fax {
    margin-bottom: .3em;
  }
  .recruit main .application-requirements .human .box details .answer .box_in .tbl_box > dl > dd .tel_fax ul {
    display: flex;
    flex-direction: column;
  }
  .recruit main .application-requirements .human .box details .answer .box_in .tbl_box > dl > dd .tel_fax ul li:nth-of-type(1) {
    margin-right: 0;
    margin-bottom: .6em;
  }
  .recruit main .application-requirements .human .box details .answer .box_in .session {
    padding-top: 10vw;
  }
  .recruit main .application-requirements .human .box details .answer .box_in .session section:not(:last-of-type) {
    margin-bottom: 6vw;
  }
  .recruit main .application-requirements .human .box details .answer .box_in .session .day_info table tr th ,
  .recruit main .application-requirements .human .box details .answer .box_in .session .day_info table tr td {
    width: auto;
  }
  .recruit main .application-requirements .human .box details .answer .box_in .session .day_info table thead tr th {
    white-space: nowrap;
  }
  .recruit main .application-requirements .human .box details .answer .box_in .session .day_info table tbody tr th span {
    white-space: nowrap;
  }
  .recruit main .application-requirements .human .box details .answer .box_in .session .day_info table tbody tr th span::first-letter {
    letter-spacing: 1em;
  }
  .recruit main .application-requirements .job {
    top: 0;
    margin-bottom: 0;
    font-size: 1.8rem;
  }
  .recruit main .application-requirements .job h4 {
    font-size: 1.8rem;
    padding: 2.25em 2em .4em;
    border-radius: 5vw 5vw 0 0;
    letter-spacing: .055em;
    margin-bottom: 10vw;
  }
  .recruit main .application-requirements .job .img {
    width: 50vw;
    margin-bottom: 5vw;
  }
  .recruit main .application-requirements .job .btn {
    margin-bottom: 5vw;
  }
  .recruit main .application-requirements .job .btn a {
    font-size: 2.0rem;
    letter-spacing: .055em;
    padding: .4em 1.5em;
    border-radius: 1.5em;
  }
  .recruit main .application-requirements .job .mynavi {
    width: 40vw;
  }



  /*interview-detail*/
  .interview-detail main {
    padding-top: 15vw;
  }
  .interview-detail main .wrap {
    max-width: 100%;
    display: flex;
    flex-direction: column;
  }
  .interview-detail main .wrap article {
    border-radius: 5vw;
    order: 99;
    width: calc(100% - (4vw * 2));
    padding-bottom: 5vw;
    margin: 0 auto;
  }
  .interview-detail main .wrap article .number {
    max-width: 490px;
    margin-right: 10vw;
    justify-content: center;
    border-radius: 0 0 5vw 0;
    padding-top: 3vw;
    padding-bottom: 3vw;
  }
  .interview-detail main .wrap article .number span {
    max-width: 355px;
  }
  .interview-detail main .wrap article .catch {
    padding: 5vw 4vw 5vw 10vw;
  }
  .interview-detail main .wrap article .catch h3 {
    font-size: 2.2rem;
    letter-spacing: .1em;
  }
  .interview-detail main .wrap article .info {
    padding-left: 4vw;
  }
  .interview-detail main .wrap article .info > section:not(:last-of-type) {
    margin-bottom: 6vw;
  }
  .interview-detail main .wrap article .info > section > h4 em {
    font-size: 2.0rem;
    padding: .6em 0;
    width: 15vw;
    margin-right: 3px;
    letter-spacing: .05em;
  }
  .interview-detail main .wrap article .info > section > h4 span {
    font-size: 1.8rem;
    font-weight: 900;
    padding: .6em .8em;
    width: calc(100% - (15vw + 3px));
    letter-spacing: .1em;
  }
  .interview-detail main .wrap article .info > section > .comment {
    padding-top: 3vw;
    padding-left: 5vw;
    padding-right: 5vw;
  }
  .interview-detail main .wrap article .info > section > .comment p {
    max-width: 450px;
    font-size: 1.6rem;
    letter-spacing: .1em;
  }
  .interview-detail main .wrap article .info > section > .comment p:not(:last-of-type) {
    margin-bottom: 1.2em;
  }
  .interview-detail main .wrap article .info > section > .time_info {
    margin-top: 5vw;
    margin-right: 4vw;
    border-radius: 5vw;
    max-width: 600px;
    padding-top: 5vw;
    padding-bottom: 5vw;
  }
  .interview-detail main .wrap article .info > section > .time_info .time_title {
    font-size: 1.6rem;
    padding: 1em;
    padding-right: 1.5em;
  }
  .interview-detail main .wrap article .info > section > .time_info .time_title span {
    padding-left: 2.0em;
    font-weight: 900;
    letter-spacing: .1em;
  }
  .interview-detail main .wrap article .info > section > .time_info .time_title span::before {
    width: 1.9444em;
    height: 1.9444em;
  }
  .interview-detail main .wrap article .info > section > .time_info .img {
    padding: 0 4vw;
    padding-top: 5vw;
    width: 100%;
  }
  .interview-detail main .wrap article .info > section > .time_info .img p {
    max-width: 600px;
  }
  .interview-detail main .wrap article .info > section > .time_info .flow {
    width: 100%;
    padding: 0 4vw;
    padding-top: 5vw;
  }
  .interview-detail main .wrap article .info > section > .time_info .flow .box_in dl dd {
    font-size: 1.4rem;
    letter-spacing: .1em;
  }
  .interview-detail main .wrap article .info > .advice {
    padding-top: 5vw;
    margin-right: 4vw;
    max-width: 600px;
  }
  .interview-detail main .wrap article .info > .advice section {
    padding-top: 5vw;
    padding-bottom: 5vw;
  }
  .interview-detail main .wrap article .info > .advice section:not(:last-of-type) {
    margin-bottom: 5vw;
  }
  .interview-detail main .wrap article .info > .advice section h4 {
    padding-left: 12vw;
  }
  .interview-detail main .wrap article .info > .advice section h4::before {
    position: absolute;
    top: calc((((1em * 1.7) + (.1em * 2)) - (3.39vw * 1.5)) / 2);
    left: 2.608vw;
    width: calc(4.172vw * 1.5);
    height: calc(3.39vw * 1.5);
    font-size: 2.0rem;
  }
  .interview-detail main .wrap article .info > .advice section h4 span {
    font-size: 2.0rem;
    letter-spacing: .1em;
  }
  .interview-detail main .wrap article .info > .advice section h4 span em {
    padding: .1em .5em;
    border-radius: 10px;
    margin-right: .8em;
  }
  .interview-detail main .wrap article .info > .advice section h4 span em::after {
    position: absolute;
    top: calc((((1em * 1.7) + (.1em * 2)) - 5px) / 2);
    right: -.5em;
    width: .5em;
    height: 8px;
    border-radius: 0 4px 4px 0;
  }
  .interview-detail main .wrap article .info > .advice section .comment {
    padding-top: 5vw;
    padding-right: 4vw;
    padding-left: 4vw;
  }
  .interview-detail main .wrap article .info > .advice section .comment p {
    letter-spacing: .1em;
  }
  .interview-detail main .wrap article .entry_btn {
    position: relative;
    bottom: inherit;
    right: inherit;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-top: 5vw;
  }
  .interview-detail main .wrap article .entry_btn a {
    font-size: 2.0rem;
    padding: .6em 1.3em;
  }
  .interview-detail main .wrap aside {
    order: -99;
    width: 100%;
    margin-right: 0;
  }
  .interview-detail main .wrap aside .img_name {
    position: relative;
    top: inherit;
    left: inherit;
    height: auto;
  }
  .interview-detail main .wrap aside .img_name .img_slide {
    border: none;
    border-radius: 0;
    height: auto;
    margin-bottom: 5vw;
    background: none;
  }
  .interview-detail main .wrap aside .img_name .img_slide img {
    width: 100%;
    height: auto;
    object-fit: contain;
  }
  .interview-detail main .wrap aside .img_name .img_slide .dots {
    position: relative;
    bottom: inherit;
    right: 0;
    left: 0;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-top: 5vw;
    padding-bottom: 5vw;
  }
  .interview-detail main .wrap aside .img_name .img_slide .dots ul {
    position: relative !important;
    bottom: inherit !important;
    right: inherit !important;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: row;
  }
  .interview-detail main .wrap aside .img_name .img_slide .dots ul li {
    position: relative;
    cursor: pointer;
    margin: 0 1vw;
    width: 3vw;
  }
  .interview-detail main .wrap aside .img_name .img_slide .dots ul li button {
    width: 3vw;
    height: 3vw;
  }
  .interview-detail main .wrap aside .img_name .human_info {
    position: relative;
    top: inherit;
    height: auto;
    margin-bottom: 5vw;
  }
  .interview-detail main .wrap aside .img_name .human_info .box {
    border-top: solid 1px #3c1d07;
    border-bottom: solid 1px #3c1d07;
    padding: 0 5vw;
    height: auto;
  }
  .interview-detail main .wrap aside .img_name .human_info .box .shop {
    font-weight: 500;
    letter-spacing: .1em;
    padding: 4vw 0;
  }
  .interview-detail main .wrap aside .img_name .human_info .box .name {
    padding: 4vw .8em;
    padding-right: 0;
    margin: 0 .8em;
    margin-right: 0;
  }
  .interview-detail main .wrap aside .img_name .human_info .box .name span {
    font-size: 3.0rem;
  }
  .interview-detail main .wrap aside .img_name .human_info .box .name span em {
    font-size: 1.4rem;
  }
  .interview-detail main .wrap aside .img_name .human_info .box .name i {
    font-size: 1.4rem;
  }
  .interview-detail main .wrap aside .img_name .human_info .box .charge {
    font-size: 1.4rem;
    padding-left: .8em;
    margin-left: .8em;
  }
  .interview-detail main .wrap aside .img_name .human_info .box .year {
    font-size: 1.4rem;
    letter-spacing: .1em;
  }



  /*disclosure*/
  .disclosure main .list-bg {
    padding: 0 4vw;
    padding-top: 20vw;
    padding-bottom: 10vw;
  }
  .disclosure main .list-bg .list {
    width: 100%;
    border-radius: 5vw;
    margin-bottom: 15vw;
    padding-top: 25vw;
    padding-bottom: 15vw;
  }
  .disclosure main .list-bg .list h3 {
    top: -10vw;
    padding-top: 10vw;
  }
  .disclosure main .list-bg .list h3::before {
    width: 10vw;
    height: 10vw;
  }
  .disclosure main .list-bg .list h3 span {
    font-size: 3.0rem;
    letter-spacing: .1em;
  }
  .disclosure main .list-bg .list h3 em {
    font-size: 2.0rem;
    letter-spacing: .05em;
    padding-top: .6em;
  }
  .disclosure main .list-bg .list .box {
    padding-left: 4vw;
    padding-right: 4vw;
  }
  .disclosure main .list-bg .list .box section {
    width: 100%;
    margin-bottom: 15vw;
  }
  .disclosure main .list-bg .list .box section:nth-of-type(odd) {
    margin-right: 0;
  }
  .disclosure main .list-bg .list .box section h4 {
    font-size: 1.8rem;
    margin-bottom: .8em;
  }
  .disclosure main .list-bg .list .box section .img {
    max-width: 50%;
    margin-bottom: 3vw;
  }
  .disclosure main .list-bg .list .btn a {
    font-size: 1.8rem;
    padding: .8em 2em;
    border-radius: 1.5em;
  }
  .disclosure main .list-bg .list .btn a span {
    padding-left: 1.5em;
  }
  .disclosure main .list-bg .list .btn a span::before {
    width: 1em;
    height: 1em;
  }



  /*disclosure-back-number*/
  .disclosure-back-number main .list-bg {
    padding: 0 4vw;
    padding-top: 20vw;
    padding-bottom: 10vw;
  }
  .disclosure-back-number main .list-bg .list {
    width: 100%;
    border-radius: 5vw;
    margin-bottom: 15vw;
    padding-top: 25vw;
    padding-bottom: 15vw;
  }
  .disclosure-back-number main .list-bg .list h3 {
    top: -10vw;
    padding-top: 10vw;
  }
  .disclosure-back-number main .list-bg .list h3::before {
    width: 10vw;
    height: 10vw;
  }
  .disclosure-back-number main .list-bg .list h3 span {
    font-size: 3.0rem;
    letter-spacing: .1em;
  }
  .disclosure-back-number main .list-bg .list h3 em {
    font-size: 2.0rem;
    letter-spacing: .05em;
    padding-top: .6em;
  }
  .disclosure-back-number main .list-bg .list .box {
    padding-left: 4vw;
    padding-right: 4vw;
    margin-bottom: 10vw;
  }
  .disclosure-back-number main .list-bg .list .box ul {
    width: 100%;
  }
  .disclosure-back-number main .list-bg .list .box ul:nth-of-type(odd) {
    margin-right: 0;
  }
  .disclosure-back-number main .list-bg .list .btn a {
    font-size: 1.8rem;
    padding: .8em 2em;
    border-radius: 1.5em;
  }
  .disclosure-back-number main .list-bg .list .btn a span {
    padding-left: 1.5em;
  }
  .disclosure-back-number main .list-bg .list .btn a span::before {
    width: 1em;
    height: 1em;
  }



  /*history*/
  .history main .list-bg {
    padding: 0 4vw;
    padding-top: 20vw;
    padding-bottom: 10vw;
  }
  .history main .list-bg .list {
    width: 100%;
    border-radius: 5vw;
    margin-bottom: 15vw;
    padding-top: 25vw;
    padding-bottom: 15vw;
  }
  .history main .list-bg .list h3 {
    top: -10vw;
    padding-top: 10vw;
  }
  .history main .list-bg .list h3::before {
    width: 10vw;
    height: 10vw;
  }
  .history main .list-bg .list h3 span {
    font-size: 3.0rem;
    letter-spacing: .1em;
  }
  .history main .list-bg .list h3 em {
    font-size: 2.0rem;
    letter-spacing: .05em;
    padding-top: .6em;
  }
  .history main .list-bg .list .box {
    padding-left: 4vw;
    padding-right: 4vw;
  }
  .history main .list-bg .list .box table tr {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    background: #f4f2f1;
  }
  .history main .list-bg .list .box table tr th ,
  .history main .list-bg .list .box table tr td {
    display: block;
    font-size: 1.4rem;
    padding: .8em .6em;
    letter-spacing: .03em;
    border-bottom: solid 1px #3c1d07;
  }
  .history main .list-bg .list .box table tr td:nth-of-type(1) ,
  .history main .list-bg .list .box table tr td:nth-of-type(2) ,
  .history main .list-bg .list .box table tr td:nth-of-type(3) ,
  .history main .list-bg .list .box table tr td:nth-of-type(4) {
    background: #f4f2f1;
    padding-left: 0;
    padding-right: 0;
    text-align: right;
    white-space: nowrap;
    border-bottom: none;
  }
  .history main .list-bg .list .box table tr td:nth-of-type(1) {
    padding-left: .6em;
  }
  .history main .list-bg .list .box table tr td:nth-of-type(4) {
    padding-right: .6em;
  }
  .history main .list-bg .list .box table tr td:nth-of-type(5) {
    background: #FFF;
    width: 100%;
    padding-left: .6em;
    padding-right: .6em;
  }



  /*guidelines*/
  .guidelines main .list-bg {
    padding: 0 4vw;
    padding-top: 20vw;
    padding-bottom: 10vw;
  }
  .guidelines main .list-bg .list01 {
    margin-bottom: 20vw;
  }
  .guidelines main .list-bg .list {
    width: 100%;
    border-radius: 5vw;
    margin-bottom: 15vw;
    padding-top: 25vw;
    padding-bottom: 15vw;
  }
  .guidelines main .list-bg .list h3 {
    top: -10vw;
    padding-top: 10vw;
  }
  .guidelines main .list-bg .list h3::before {
    width: 10vw;
    height: 10vw;
  }
  .guidelines main .list-bg .list h3 span {
    font-size: 3.0rem;
    letter-spacing: .1em;
  }
  .guidelines main .list-bg .list h3 em {
    font-size: 2.0rem;
    letter-spacing: .05em;
    padding-top: .6em;
  }
  .guidelines main .list-bg .list .box {
    padding-left: 4vw;
    padding-right: 4vw;
  }
  .guidelines main .list-bg .list.list02 .box {
    display: flex;
    flex-direction: column;
    gap: 0;  
  }
  .guidelines main .list-bg .list .box ul {
    margin-bottom: 0;
  }
  .guidelines main .list-bg .list .box > ul {
    column-count: inherit;
    column-gap: 0;
  }
  .guidelines main .list-bg .list.list02 .box > ul {
    column-count: inherit;
    column-gap: inherit;
    width: 100%;
  }
  .guidelines main .list-bg .list .box > ul > li summary {
    position: relative;
    display: block;
    cursor: pointer;
    padding-right: calc(10px + 20px + 1em);
  }
  .guidelines main .list-bg .list .box > ul > li summary::before ,
  .guidelines main .list-bg .list .box > ul > li summary::after {
    right: 5vw;
    width: 4vw;
    height: 2px;
  }



  /*privacy-policy*/
  .privacy-policy main .list-bg {
    padding: 0 4vw;
    padding-top: 20vw;
    padding-bottom: 10vw;
  }
  .privacy-policy main .list-bg .list {
    width: 100%;
    border-radius: 5vw;
    margin-bottom: 15vw;
    padding-top: 25vw;
    padding-bottom: 15vw;
  }
  .privacy-policy main .list-bg .list h3 {
    top: -10vw;
    padding-top: 10vw;
  }
  .privacy-policy main .list-bg .list h3::before {
    width: 10vw;
    height: 10vw;
  }
  .privacy-policy main .list-bg .list h3 span {
    font-size: 3.0rem;
    letter-spacing: .1em;
  }
  .privacy-policy main .list-bg .list h3 em {
    font-size: 2.0rem;
    letter-spacing: .05em;
    padding-top: .6em;
  }
  .privacy-policy main .list-bg .list .box {
    padding-left: 4vw;
    padding-right: 4vw;
    margin-bottom: 0;
  }



  /*executive-org*/
  .executive-org main .list-bg {
    padding: 0 4vw;
    padding-top: 20vw;
    padding-bottom: 10vw;
  }
  .executive-org main .list-bg .list01 {
    margin-bottom: 15vw;
  }
  .executive-org main .list-bg .list {
    width: 100%;
    border-radius: 5vw;
    margin-bottom: 15vw;
    padding-top: 25vw;
    padding-bottom: 15vw;
  }
  .executive-org main .list-bg .list h3 {
    top: -10vw;
    padding-top: 10vw;
  }
  .executive-org main .list-bg .list h3::before {
    width: 10vw;
    height: 10vw;
  }
  .executive-org main .list-bg .list h3 span {
    font-size: 3.0rem;
    letter-spacing: .1em;
  }
  .executive-org main .list-bg .list h3 em {
    font-size: 2.0rem;
    letter-spacing: .05em;
    padding-top: .6em;
  }
  .executive-org main .list-bg .list .box {
    padding-left: 4vw;
    padding-right: 4vw;
  }



  /*electronic-public-notice*/
  .electronic-public-notice main .list-bg {
    padding: 0 4vw;
    padding-top: 20vw;
    padding-bottom: 10vw;
  }
  .electronic-public-notice main .list-bg .list {
    width: 100%;
    border-radius: 5vw;
    margin-bottom: 15vw;
    padding-top: 25vw;
    padding-bottom: 15vw;
  }
  .electronic-public-notice main .list-bg .list h3 {
    top: -10vw;
    padding-top: 10vw;
  }
  .electronic-public-notice main .list-bg .list h3::before {
    width: 10vw;
    height: 10vw;
  }
  .electronic-public-notice main .list-bg .list h3 span {
    font-size: 3.0rem;
    letter-spacing: .1em;
  }
  .electronic-public-notice main .list-bg .list h3 em {
    font-size: 2.0rem;
    letter-spacing: .05em;
    padding-top: .6em;
  }
  .electronic-public-notice main .list-bg .list .box {
    padding-left: 4vw;
    padding-right: 4vw;
    margin-bottom: 0;
  }



  /*training-system*/
  .training-system main .list-bg {
    padding: 0 4vw;
    padding-top: 20vw;
    padding-bottom: 10vw;
  }
  .training-system main .list-bg .list {
    width: 100%;
    border-radius: 5vw;
    margin-bottom: 15vw;
    padding-top: 25vw;
    padding-bottom: 15vw;
  }
  .training-system main .list-bg .list h3 {
    top: -10vw;
    padding-top: 10vw;
  }
  .training-system main .list-bg .list h3::before {
    width: 10vw;
    height: 10vw;
  }
  .training-system main .list-bg .list h3 span {
    font-size: 3.0rem;
    letter-spacing: .1em;
  }
  .training-system main .list-bg .list h3 em {
    font-size: 2.0rem;
    letter-spacing: .05em;
    padding-top: .6em;
  }
  .training-system main .list-bg .list .box {
    padding-left: 4vw;
    padding-right: 4vw;
  }
  .training-system main .list-bg .list .box .img ul {
    display: flex;
    gap: 5vw;
  }



  /*message*/
  .message main .list-bg {
    padding: 0 4vw;
    padding-top: 20vw;
    padding-bottom: 10vw;
  }
  .message main .list-bg .list {
    width: 100%;
    border-radius: 5vw;
    margin-bottom: 15vw;
    padding-top: 25vw;
    padding-bottom: 15vw;
  }
  .message main .list-bg .list h3 {
    top: -10vw;
    padding-top: 10vw;
  }
  .message main .list-bg .list h3::before {
    width: 10vw;
    height: 10vw;
  }
  .message main .list-bg .list h3 span {
    font-size: 3.0rem;
    letter-spacing: .1em;
  }
  .message main .list-bg .list h3 em {
    font-size: 2.0rem;
    letter-spacing: .05em;
    padding-top: .6em;
  }
  .message main .list-bg .list .box {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    padding-left: 4vw;
    padding-right: 4vw;
  }
  .message main .list-bg .list .box .comment {
    order: -99;
    max-width: 100%;
    font-size: 1.6rem;
    letter-spacing: .03em;
    margin-bottom: 5vw;
  }
  .message main .list-bg .list .box .img_name {
    order: 99;
    margin-right: 0;
  }
  .message main .list-bg .list .box .img_name .img {
    width: 180px;
    margin-bottom: 3vw;
  }
  .message main .list-bg .list .box .img_name .name em {
    font-size: 1.4rem;
    margin-bottom: .2em;
  }
  .message main .list-bg .list .box .img_name .name span {
    font-size: 2.2rem;
  }





  /*business-owner solution*/
  .solution main .main_img {
    margin-bottom: 5vw;
  }
  .solution main .about-comment {
    margin-bottom: 5vw;
  }
  .solution main .recommend {
    margin-bottom: 5vw;
  }
  .solution main .contact {
    padding-top: 10vw;
    padding-bottom: 10vw;
  }
  .solution main .contact .box {
    padding-left: 4vw;
    padding-right: 4vw;
  }
  .solution main .contact .box h5 {
    font-size: 2.0rem;
    margin-bottom: .5em;
  }
  .solution main .contact .box h6 {
    font-size: 1.8rem;
    margin-bottom: .5em;
  }
  .solution main .contact .box .tel-contact {
    margin-bottom: 5vw;
  }
  .solution main .contact .box .tel-contact ul {
    display: flex;
    flex-direction: column;
    gap: 0;
  }





  /*individual use app-creco*/
  .app-creco main .box-list002 > section > .comment01 {
    margin-bottom: 3em;
  }
  .app-creco main .box-list002 > section > .box > section:not(:last-of-type) {
    margin-bottom: 10vw;
  }
  .app-creco main .box-list002 > section > .box > section .comment02 h4 {
    font-size: 3.0rem;
  }
  .app-creco main .box-list002 > section > .box > section .img_box01 ul {
    gap: 5vw;
  }
  .app-creco main .box-list002 > section > .box > section .step section:not(:last-of-type) {
    margin-bottom: 8vw;
  }
  .app-creco main .box-list002 > section > .box > section .step section h4 {
    display: flex;
    margin-bottom: .8em;
  }
  .app-creco main .box-list002 > section > .box > section .step section h4 span {
    position: relative;
    display: block;
    padding-left: 4.5em;
    font-size: 1.8rem;
    font-weight: 700;
  }
  .app-creco main .box-list002 > section > .box > section .step section h4 span::before {
    position: absolute;
    top: 0;
    left: 0;
    counter-increment: step-number;
    content: 'STEP'counter(step-number);
    text-transform: full-width;
  }
  .app-creco main .box-list002 > section > .box > section .step section h4 span::after {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background: #539466;
    content: '';
  }
  .app-creco main .box-list002 > section > .box > section .step section dl {
    display: flex;
    flex-direction: column;
    padding-left: 0;
  }
  .app-creco main .box-list002 > section > .box > section .step section dl dt {
    margin-right: 0;
  }
  .app-creco main .box-list002 > section > .box > section .step section dl dt span {
    padding-right: 0;
  }
  .app-creco main .box-list002 > section > .box > section .step section dl dt span::after {
    display: none;
  }
  .app-creco main .box-list002 > section > .box > section .step section dl dd {
    width: 30vw;
    margin: 0 auto;
  }
  .app-creco main .box-list002 > section > .box > section .step section .comment03 {
    padding-left: 0;
  }




  /*appleplusone-detail*/
  .appleplusone-detail main .main_img {
    background: url(../img/individual/borrow/free-appleplusone-detail/main_img_bg.svg) repeat center center;
    padding: 0 4vw;
    padding-top: 10vw;
    padding-bottom: 10vw;
  }
  .appleplusone-detail main .main_img p {
    max-width: 100%;
  }
  .appleplusone-detail main .about section::before {
    border-radius: 0 0 10vw 10vw;
  }
  .appleplusone-detail main .about section:nth-of-type(2):before {
    top: -15vw;
    height: calc(100% + 15vw);
  }
  .appleplusone-detail main .about section:nth-of-type(3):before {
    top: -15vw;
    height: calc(100% + 15vw);
  }
  .appleplusone-detail main .about section::after {
    position: absolute;
    top: 18px;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 0 0 10vw 10vw;
    background: rgba(0, 0, 0, .05);
    mix-blend-mode: multiply;
    content: '';
  }
  .appleplusone-detail main .about section .arrow {
    padding: 0 4vw;
    padding-top: 10vw;
    padding-bottom: 10vw;
  }
  .appleplusone-detail main .about section:nth-of-type(1) .arrow::after {
    position: absolute;
    bottom: -45px;
    right: 0;
    left: 0;
    z-index: 10;
    margin: 0 auto;
    width: 112px;
    height: 45px;
    background: url(../img/individual/borrow/free-appleplusone-detail/about_arrow02.svg) no-repeat center center;
    background-size: cover;
    content: '';
  }
  .appleplusone-detail main .about section:nth-of-type(2) .arrow::after {
    position: absolute;
    bottom: -45px;
    right: 0;
    left: 0;
    z-index: 10;
    margin: 0 auto;
    width: 112px;
    height: 45px;
    background: url(../img/individual/borrow/free-appleplusone-detail/about_arrow01.svg) no-repeat center center;
    background-size: cover;
    content: '';
  }
  .appleplusone-detail main .point {
    padding: 0 4vw;
    padding-top: 10vw;
    padding-bottom: 10vw;
  }
  .appleplusone-detail main .point::before {
    top: -15vw;
    height: 15vw;
  }
  .appleplusone-detail main .point .box h3 {
    width: 100%;
    margin-bottom: 5vw;
  }
  .appleplusone-detail main .point .box .img ul {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10vw;
  }
  .appleplusone-detail main .point .box .img ul li {
    /*width: 330px;*/
    width: calc((100% - 10vw) / 2);
  }
  .appleplusone-detail main .faq {
    padding: 0 4vw;
    padding-top: 15vw;
    padding-bottom: 15vw;
  }
  .appleplusone-detail main .faq h3 {
    width: 100%;
    margin: 0 auto;
    margin-bottom: 20vw;
  }
  .appleplusone-detail main .faq .box {
    width: 100%;
  }
  .appleplusone-detail main .faq .box section {
    border-radius: 5vw;
  }
  .appleplusone-detail main .faq .box section::before {
    position: absolute;
    top: 18px;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
    border-radius: 5vw;
    background: rgba(0, 0, 0, .05);
    mix-blend-mode: multiply;
    content: '';
  }
  .appleplusone-detail main .faq .box section:not(:last-of-type) {
    margin-bottom: 15vw;
  }
  .appleplusone-detail main .faq .box section .number {
    position: absolute;
    top: -48px;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 108px;
  }
  .appleplusone-detail main .faq .box section .box_q {
    padding: 6vw 4vw 15vw;
  }
  .appleplusone-detail main .faq .box section .box_q p {
    font-size: 2.0rem;
    letter-spacing: .05em;
  }
  .appleplusone-detail main .faq .box section .box_a {
    padding-bottom: 10vw;
  }
  .appleplusone-detail main .faq .box section .box_a .green {
    padding: 6vw 4vw 6vw;
  }
  .appleplusone-detail main .faq .box section .box_a .green p em {
    position: absolute;
    top: -44px;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 108px;
    display: block;
  }
  .appleplusone-detail main .faq .box section .box_a .green p span {
    font-size: 1.6rem;
    letter-spacing: .05em;
  }
  .appleplusone-detail main .faq .box section .box_a .img {
    padding: 0 4vw;
    padding-top: 5vw;
  }
  .appleplusone-detail main .faq .box section.faq001 .box_a .img {
    max-width: 1100px;
  }
  .appleplusone-detail main .faq .box section.faq002 .box_a .img {
    max-width: 835px;
  }
  .appleplusone-detail main .faq .box section.faq003 .box_a .img {
    max-width: 420px;
  }
  .appleplusone-detail main .voice {
    padding: 0 4vw;
    padding-top: 15vw;
    padding-bottom: 15vw;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
  }
  .appleplusone-detail main .voice .box h3 {
    position: relative;
    left: inherit;
    transform: inherit;
    margin-bottom: 5vw;
  }
  .appleplusone-detail main .voice .box h3 * {
    -ms-writing-mode: lr-tb;
    -webkit-writing-mode: horizontal-tb;
    -o-writing-mode: horizontal-tb;
    writing-mode: horizontal-tb;
    white-space: wrap;
  }
  .appleplusone-detail main .voice .box h3 em {
    font-size: 2.0rem;
    letter-spacing: .1em;
    text-indent: .1em;
    padding: .8em .4em;
    border: solid 1px #3c1d07;
    border-radius: 2vw;
    margin-bottom: 3vw;
  }
  .appleplusone-detail main .voice .box h3 span {
    font-size: 3.0rem;
    letter-spacing: .075em;
  }
  .appleplusone-detail main .voice .box .box_in {
    display: flex;
    flex-direction: column;
    gap: 10vw;
  }
  .appleplusone-detail main .voice .box .box_in section {
    width: 100%;
  }
  .appleplusone-detail main .voice .box .box_in section .img {
    width: 60vw;
    margin-bottom: 4vw;
  }
  .appleplusone-detail main .voice .box .box_in section h4 {
    font-size: 2.0rem;
    line-height: 1.45;
    margin-bottom: .8em;
  }
  .appleplusone-detail main .voice .box .box_in section .comment {
    font-size: 1.6rem;
    letter-spacing: .05em;
  }
  .appleplusone-detail main .item {
    padding: 0 4vw;
    padding-top: 15vw;
    padding-bottom: 15vw;
  }
  .appleplusone-detail main .item .box {
    width: 100%;
    padding: 10vw 4vw 10vw;
  }
  .appleplusone-detail main .item .box::before {
    position: absolute;
    top: 18px;
    left: 0;
    z-index: -2;
    width: 100%;
    height: 100%;
    border-radius: 5vw;
    background: rgba(0, 0, 0, .05);
    mix-blend-mode: multiply;
    content: '';
  }
  .appleplusone-detail main .item .box::after {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
    background: #FFF;
    border-radius: 5vw;
    content: '';
  }
  .appleplusone-detail main .item .box h3 {
    margin-bottom: 5vw;
  }
  .appleplusone-detail main .item .box h3 em {
    font-size: 2.0rem;
    letter-spacing: .1em;
  }
  .appleplusone-detail main .item .box h3 span {
    font-size: 2.4rem;
    letter-spacing: .1em;
  }
  .appleplusone-detail main .item .box table {
    width: 100%;
  }
  .appleplusone-detail main .item .box table tr th {
    display: block;
    width: 100%;
    padding: .4em .8em;
    border-bottom: none;
  }
  .appleplusone-detail main .item .box table tr td {
    display: block;
    width: 100%;
    padding: .4em .8em;
    border-bottom: solid 1px #3c1d07;
  }
  .appleplusone-detail main .item .box table + .day_info {
    font-size: 1.4rem;
    padding-top: .4em;
  }
  .appleplusone-detail main .item .search_tel {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    padding-top: 10vw;
  }
  .appleplusone-detail main .item .search_tel h4 {
    font-size: 2.0rem;
    font-weight: 700;
    letter-spacing: .05em;
    margin-bottom: 1.4em;
  }
  .appleplusone-detail main .item .search_tel ul {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 6vw;
  }
  .appleplusone-detail main .item .search_tel ul li a {
    font-size: 2.0rem;
    letter-spacing: .05em;
    padding: .4em 2em;
    border-radius: 1.5em;
  }




  /*promotion-funds*/
  .promotion-funds main .tbl-list001 > section .box01 section table thead tr th ,
  .promotion-funds main .tbl-list001 > section .box01 section table thead tr td {
    padding: .6em 1em;
  }
  .promotion-funds main .tbl-list001 > section .box01 section table tbody tr th ,
  .promotion-funds main .tbl-list001 > section .box01 section table tbody tr td {
    vertical-align: middle;
  }



  /*attention*/
  .attention main .box {
    padding-top: 20vw;
  }
  .attention main .box > section {
    padding: 10vw 4vw 8vw;
    border-radius: 5vw;
    box-shadow: 0 15px 10px 5px rgba(0, 0, 0, .2);
  }
  .attention main .box > section .icon {
    top: -5vw;
    width: 10vw;
  }
  .attention main .box > section .acc details {
    border-radius: 3vw;
    margin-bottom: 8vw;
  }
  .attention main .box > section .acc details summary::before ,
  .attention main .box > section .acc details summary::after {
    right: 3vw;
    width: 5vw;
    height: 2px;
  }
  .attention main .box > section .acc details summary span {
    font-size: 1.8rem;
    padding: .8em 10vw;
    padding-left: .6em;
  }
  .attention main .box > section .acc details .content {
    padding: 0 4vw 5vw;
  }
  .attention main .box > section .acc details .content .img01 {
    margin-bottom: 5vw;
  }
  .attention main .box > section .acc .pdf_btn p a {
    border-radius: 3vw;
  }
  .attention main .box > section .acc .pdf_btn p a span {
    font-size: 1.8rem;
    padding: .8em .6em;
  }



  /*interest-rates-fees*/
  .interest-rates-fees main .btn ul li a {
    padding: .8em 4em;
  }
  .interest-rates-fees main .box {
    padding-top: 20vw;
  }
  .interest-rates-fees main .box > section {
    padding: 10vw 4vw 8vw;
    padding-top: 25vw;
    border-radius: 5vw;
    box-shadow: 0 15px 10px 5px rgba(0, 0, 0, .2);
  }
  .interest-rates-fees main .box > section:not(:last-of-type) {
    margin-bottom: 15vw;
  }
  .interest-rates-fees main .box > section h3 {
    top: -5vw;
    padding-top: 10vw;
  }
  .interest-rates-fees main .box > section h3::before {
    width: 10vw;
    height: 10vw;
  }
  .interest-rates-fees main .box > section h3 span {
    font-size: 3.0rem;
    letter-spacing: .1em;
  }
  .interest-rates-fees main .box > section h3 em {
    font-size: 2.0rem;
    letter-spacing: .05em;
    padding-top: .6em;
  }
  .interest-rates-fees main .box > section section:not(:last-of-type) {
    margin-bottom: 10vw;
  }
  .interest-rates-fees main .box > section .time {
    margin-bottom: 2.5em;
  }
  .interest-rates-fees main .box > section .list details:not(:last-of-type) {
    margin-bottom: 6vw;
  }
  .interest-rates-fees main .box > section .list details summary::before ,
  .interest-rates-fees main .box > section .list details summary::after {
    right: 5vw;
    width: 5vw;
    height: 2px;
  }
  .interest-rates-fees main .box > section .list details summary span {
    font-size: 1.8rem;
    padding: .8em 6vw;
    padding-left: .6em;
  }
  .interest-rates-fees main .box > section .list details .content {
    padding-top: 5vw;
  }
  .interest-rates-fees main .box > section .list details .caution {
    width: 100%;
    padding-top: .8em;
  }
  .interest-rates-fees main .box > section .list details .caution-number {
    width: 100%;
    padding-top: .8em;
  }
  .interest-rates-fees main .box > section .list details .content .tbl01 {
    width: 100%;
    padding: 0;
  }
  .interest-rates-fees main .box > section .list details .content .tbl01 table {
    width: 100%;
  }
  .interest-rates-fees main .box > section .list details .content .tbl01 table tr th ,
  .interest-rates-fees main .box > section .list details .content .tbl01 table tr td {
    padding: .6em .4em;
    width: 50%;
  }
  .interest-rates-fees main .box > section .list details .content .tbl02 {
    width: 100%;
    padding: 0;
  }
  .interest-rates-fees main .box > section .list details .content .tbl02 table {
    width: 100%;
  }
  .interest-rates-fees main .box > section .list details .content .tbl02 table tr th ,
  .interest-rates-fees main .box > section .list details .content .tbl02 table tr td {
    padding: .6em .4em;
    width: calc(100% / 3);
  }
  .interest-rates-fees main .box > section .list details .content .tbl02 table tr th[colspan="2"] {
    width: calc(100% / 2);
  }
  .interest-rates-fees main .box > section .list details .content .tbl03 {
    position: relative;
    width: 100%;
    /*padding: 2em 0 1em;
    overflow-x: auto;*/
    padding: 1em 0 1em;
  }
  .interest-rates-fees main .box > section .list details .content .tbl03::before {
    /*position: absolute;
    top: 0;
    left: 0;
    content: '左右にスクロールできます';*/
  }
  .interest-rates-fees main .box > section .list details .content .tbl03 table {
    /*width: 700px;*/
    width: 100%;
  }
  .interest-rates-fees main .box > section .list details .content .tbl03 table tr th ,
  .interest-rates-fees main .box > section .list details .content .tbl03 table tr td {
    padding: .6em .4em;
  }



  /*store-atm*/
  .store-atm main .code {
    padding-top: 15vw;
    margin-bottom: 10vw;
  }
  .store-atm main .code h3 {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
  }
  .store-atm main .code h3 span {
    font-size: 2.4rem;
  }
  .store-atm main .code h3 em {
    font-size: 1.8rem;
  }
  .store-atm main .comment {
    margin-bottom: 10vw;
  }
  .store-atm main .comment p {
    text-align: center;
  }
  .store-atm main .box > section {
    padding: 10vw 4vw 8vw;
    border-radius: 5vw;
    box-shadow: 0 15px 10px 5px rgba(0, 0, 0, .2);
  }
  .store-atm main .box > section:not(:last-of-type) {
    margin-bottom: 15vw;
  }
  .store-atm main .box > section h3 {
    top: -1em;
    font-size: 2.0rem;
  }
  .store-atm main .box > section h3 span {
    font-size: 2.0rem;
    padding: .6em 1em;
    border-radius: 1.5em;
  }
  .store-atm main .box > section .list01 details:not(:last-of-type) {
    margin-bottom: 8vw;
  }
  .store-atm main .box > section .list01 details summary::before ,
  .store-atm main .box > section .list01 details summary::after {
    right: 3vw;
    width: 5vw;
    height: 2px;
  }
  .store-atm main .box > section .list01 details summary span {
    font-size: 1.8rem;
    padding: .8em 10vw;
    padding-left: .6em;
  }
  .store-atm main .box > section .list01 details summary span em {
    font-size: 1.6rem;
  }
  .store-atm main .box > section .list01 details .content {
    width: 100%;
    padding-top: 5vw;
    display: flex;
    flex-direction: column;
  }
  .store-atm main .box > section .list01 details .content .img {
    width: auto;
    max-width: 300px;
    margin: 0 auto;
    margin-bottom: 5vw;
  }
  .store-atm main .box > section .list01 details .content .box_r {
    width: 100%;
  }
  .store-atm main .box > section .list02 p.store_name {
    font-size: 2.0rem;
    margin-bottom: .4em;
  }





  /*internet-banking*/
  .internet-banking .main_img {
    height: auto;
    padding: 20vw 10vw;
  }
  .internet-banking .main_img .cetch {
    position: relative;
    top: inherit;
    left: inherit;
    transform: inherit;
  }
  .internet-banking .main_img .cetch::before {
    top: 10px;
    left: 10px;
  }
  .internet-banking .main_img .cetch h3 {
    width: 90vw;
    height: auto;
  }
  .internet-banking .main_img .cetch h3::before {
    width: calc(100% - 15px);
    height: calc(100% - 15px);
  }
  .internet-banking .main_img .cetch h3::after {
    width: calc(100% - 15px);
    height: calc(100% - 15px);
  }
  .internet-banking .main_img .cetch h3 span {
    display: block;
    width: 100%;
    padding: 6vw;
  }
  .internet-banking main {
    padding-bottom: 0;
  }
  .internet-banking main .box {
    padding-top: 20vw;
  }
  .internet-banking main .box .phishwall {
    margin-bottom: 15vw;
  }
  .internet-banking main .box .net-bank-login {
    margin-bottom: 15vw;
  }
  .internet-banking main .box .net-bank-login p a {
    padding: 1em 2em;
    width: 90vw;
    height: 20vw;
    border-radius: 10vw;
  }
  .internet-banking main .box .net-bank-login p a::before {
    left: 1em;
    width: calc(3.25em * .6);
    height: calc(2.875em * .6);
  }
  .internet-banking main .box .net-bank-login p a::after {
    right: .3em;
    font-family: "Font Awesome 6 Free";
    font-size: 3.0rem;
    content: "\f138";
    font-weight: 900;
  }
  .internet-banking main .box .net-bank-login p a em {
    font-size: 1.6rem;
    font-weight: 500;
    padding-bottom: .3em;
  }
  .internet-banking main .box .net-bank-login p a span {
    font-size: 2.0rem;
    font-weight: 700;
    letter-spacing: .2em;
  }
  .internet-banking main .box .btn {
    margin-bottom: 15vw;
  }
  .internet-banking main .box .btn a {
    padding: 1em 2em;
    width: 90vw;
    height: 20vw;
    border-radius: 10vw;
    font-size: 2.0rem;
  }
  .internet-banking main .box .btn a em {
    font-size: 1.8rem;
  }
  .internet-banking main .box .btn a::before {
    width: calc(3.25em * .6);
    height: calc(2.875em * .6);
  }
  .internet-banking main .fcontact-info {
    padding: 10vw 4vw;
  }
  .internet-banking main .fcontact-info dl dt {
    font-size: 1.8rem;
    margin-bottom: .2em;
  }
  .internet-banking main .fcontact-info dl dd ,
  .internet-banking main .fcontact-info dl dd * {
    font-size: 2.0rem;
  }





  /*internet-banking use*/
  .use main .box {
    padding: 10vw 4vw 8vw;
    margin: 0 4vw;
    margin-top: 15vw;
    border-radius: 5vw;
    box-shadow: 0 15px 10px 5px rgba(0, 0, 0, .2);
  }
  .use main .box > section:not(:last-of-type) {
    margin-bottom: 15vw;
  }
  .use main .box section .comment p:not(:last-of-type) {
    margin-bottom: 1.2em;
  }
  .use main .box section section:not(:last-of-type) {
    margin-bottom: 6vw;
  }
  .use main .box section .tbl01 {
    position: relative;
    width: 100%;
    /*padding: 2em 0 1em;
    overflow-x: auto;*/
    padding: 1em 0 1em;
  }
  .use main .box section .tbl01::before {
    /*position: absolute;
    top: 0;
    left: 0;
    content: '左右にスクロールできます';*/
  }
  .use main .box section .tbl01 table {
    /*width: 700px;*/
    width: 100%;
  }
  .use main .box section .tbl01 table tr th ,
  .use main .box section .tbl01 table tr td {
    padding: .6em .4em;
  }
  .use main .box section .caution01 {
    padding-top: 5vw;
    width: 100%;
  }





  /*internet-banking important-info*/
  .important-info main .box > section {
    padding: 10vw 4vw 8vw;
    border-radius: 5vw;
    box-shadow: 0 15px 10px 5px rgba(0, 0, 0, .2);
  }
  .important-info main .box > section:not(:last-of-type) {
    margin-bottom: 15vw;
  }
  .important-info main .box section h3.caution-title {
    top: -1em;
    font-size: 2.0rem;
  }
  .important-info main .box section h3.caution-title span {
    font-size: 2.0rem;
    line-height: 1.4;
    padding: .6em 2.5em;
    border-radius: 1.5em;
  }
  .important-info main .box section h3.caution-title span::before ,
  .important-info main .box section h3.caution-title span::after {
    width: 1em;
    height: .875em;
  }
  .important-info main .box section h3.title {
    top: -1em;
    font-size: 2.0rem;
  }
  .important-info main .box section h3.title span {
    font-size: 2.0rem;
    padding: .6em 1em;
    border-radius: 1.5em;
  }
  .important-info main .box > section .caution-box {
    border-radius: 3vw;
    padding: 5vw 4vw;
    margin-top: 15vw;
  }
  .important-info main .box > section .caution-box > .comment {
    margin-bottom: 5vw;
  }
  .important-info main .box > section .caution-box > section:not(:last-of-type) {
    margin-bottom: 10vw;
  }





  /*internet-banking faq*/
  .ib-faq .box {
    padding-top: 20vw;
  }
  .ib-faq main .box > section {
    padding: 10vw 4vw 8vw;
    border-radius: 5vw;
    box-shadow: 0 15px 10px 5px rgba(0, 0, 0, .2);
  }
  .ib-faq main .box > section .acc {
    margin-bottom: 10vw;
  }
  .ib-faq main .box > section .acc details {
    border-radius: 3vw;
    margin-bottom: 5vw;
  }
  .ib-faq main .box > section .acc details summary::before ,
  .ib-faq main .box > section .acc details summary::after {
    right: 3vw;
    width: 5vw;
    height: 2px;
  }
  .ib-faq main .box > section .acc details summary span {
    font-size: 1.8rem;
    padding: .8em 10vw;
    padding-left: 3em;
  }
  .ib-faq main .box > section .acc details .content {
    position: relative;
    padding: 0 4vw 5vw;
    padding-left: 15vw;
  }
  .ib-faq main .box > section .acc details .content::before {
    position: absolute;
    top: -.2em;
    left: 5vw;
    font-size: 2.0rem;
  }
  .ib-faq main .box > section .fcontact-info dl dt {
    font-size: 1.6rem;
    margin-bottom: .2em;
  }
  .ib-faq main .box > section .fcontact-info dl dd ,
  .ib-faq main .box > section .fcontact-info dl dd * {
    font-size: 1.6rem;
  }





  /*contact*/
  .contact main .box {
    padding-top: 20vw;
  }
  .contact main .box > section {
    padding: 10vw 4vw 8vw;
    border-radius: 5vw;
    box-shadow: 0 15px 10px 5px rgba(0, 0, 0, .2);
  }
  .contact main .box > section:not(:last-of-type) {
    margin-bottom: 15vw;
  }
  .contact main .box > section h3 {
    top: -1em;
    font-size: 2.0rem;
  }
  .contact main .box > section h3 span {
    font-size: 2.0rem;
    line-height: 1.4;
    padding: .6em 2.5em;
    border-radius: 1.5em;
  }
  .contact main .box > section .mail_info dl * {
    font-size: 2.0rem;
  }
  .contact main .box > section section:not(:last-of-type) {
    margin-bottom: 10vw;
  }
  .contact main .box > section section .box_in p {
    margin-bottom: .8em;
  }
  .contact main .box > section section .box_in dl * {
    font-size: 2.0rem;
    text-align: center;
  }





  /*faq*/
  .faq main .box {
    padding-top: 20vw;
  }
  .faq main .box > section {
    padding: 10vw 4vw 8vw;
    border-radius: 5vw;
    box-shadow: 0 15px 10px 5px rgba(0, 0, 0, .2);
  }
  .faq main .box > section .icon {
    top: -5vw;
    width: 10vw;
  }
  .faq main .box > section .acc details {
    border-radius: 3vw;
    margin-bottom: 8vw;
  }
  .faq main .box > section .acc details summary::before ,
  .faq main .box > section .acc details summary::after {
    right: 3vw;
    width: 5vw;
    height: 2px;
  }
  .faq main .box > section .acc details summary span {
    font-size: 1.8rem;
    padding: .8em 10vw;
    padding-left: 3em;
  }
  .faq main .box > section .acc details:nth-of-type(n + 10) summary span {
    padding-left: 3.5em;
  }
  .faq main .box > section .acc details summary span::before {
    top: .8em;
    left: 1em;
  }
  .faq main .box > section .acc details .content {
    padding: 0 4vw 5vw;
    padding-left: 15vw;
  }
  .faq main .box > section .acc details .content::before {
    position: absolute;
    top: -.2em;
    left: 5vw;
    font-size: 2.0rem;
  }




  /*info info-list*/
  .info.info-list main .box {
    padding-top: 20vw;
  }
  .info.info-list main .box > section {
    padding: 10vw 4vw 8vw;
    padding-top: 25vw;
    border-radius: 5vw;
    box-shadow: 0 15px 10px 5px rgba(0, 0, 0, .2);
  }
  .info.info-list main .box > section h3 {
    top: -5vw;
    padding-top: 10vw;
  }
  .info.info-list main .box > section h3::before {
    width: 10vw;
    height: 10vw;
  }
  .info.info-list main .box > section h3 span {
    font-size: 3.0rem;
    letter-spacing: .1em;
  }
  .info.info-list main .box > section h3 em {
    font-size: 2.0rem;
    letter-spacing: .05em;
    padding-top: .6em;
  }
  .info.info-list main .box > section .info_list {
    font-size: 2.0rem;
    letter-spacing: .05em;
    padding-top: .6em;
    text-transform: uppercase;
  }
  .info.info-list main .box > section .info_list section {
    border-radius: 5vw;
    flex-direction: column;
  }
  .info.info-list main .box > section .info_list section:not(:last-of-type) {
    margin-bottom: 8vw;
  }
  .info.info-list main .box > section .info_list section .cat {
    width: 60%;
  }
  .info.info-list main .box > section .info_list section .cat a {
    font-size: 1.6rem;
    padding: .2em 0;
    letter-spacing: .075em;
    border-radius: 0 5vw 5vw 0;
  }
  .info.info-list main .box > section .info_list section time {
    width: 100%;
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    font-size: 1.4rem;
    letter-spacing: .1em;
    padding: .4em 1em;
    padding-bottom: 0;
  }
  .info.info-list main .box > section .info_list section .post-title {
    display: flex;
    align-items: center;
    width: 100%;
    font-size: 1.6rem;
    letter-spacing: .05em;
    padding: .5em 1em;
  }





  /*loan-estimate*/
  .loan-estimate main .box {
    padding-top: 20vw;
  }
  .loan-estimate main .box > section {
    padding: 10vw 4vw 8vw;
    border-radius: 5vw;
    box-shadow: 0 15px 10px 5px rgba(0, 0, 0, .2);
  }
  .loan-estimate main .box > section .loan section:not(:last-of-type) {
    margin-bottom: 10vw;
  }
  .loan-estimate main .box > section .loan section table {
    width: 100%;
  }
  .loan-estimate main .box > section .loan section table tr th ,
  .loan-estimate main .box > section .loan section table tr td {
    display: block;
    border: solid 1px #cccccc;
    border-bottom: none;
    padding: .5em .6em;
  }
  .loan-estimate main .box > section .loan section table tr th {
    width: 100%;
  }
  .loan-estimate main .box > section .loan section table tr td {
    width: 100%;
  }
  .loan-estimate main .box > section .loan section table tr:last-of-type td {
    border-bottom: solid 1px #cccccc;
  }
  .loan-estimate main .box > section .loan section table tr td input {
    padding:.8em .4em;
    font-size:1.6rem;
  }
  .loan-estimate main .box > section .loan section table tr td dl.result dt input {
    font-size: 2.0rem;
    width: calc(100% - 1.2em);
    padding: .6em 0;
  }
  .loan-estimate main .box > section .loan section .btn {
    padding-top: 5vw;
  }
  .loan-estimate main .box > section .loan section .btn dl dt {
    margin-right: 3em;
  }
  .loan-estimate main .box > section .loan section .btn input {
    padding:.6em 2em;
    font-size:1.8rem;
  }



  /*atm-time*/
  .atm-time main .box {
    margin-top: 20vw;
  }
  .atm-time main .box > section {
    padding: 10vw 4vw 8vw;
    padding-top: 15vw;
    border-radius: 5vw;
    box-shadow: 0 15px 10px 5px rgba(0, 0, 0, .2);
  }
  .atm-time main .box > section:not(:last-of-type) {
    margin-bottom: 15vw;
  }
  .atm-time main .box > section h3 {
    top: -15vw;
    padding-top: 10vw;
  }
  .atm-time main .box > section h3 span {
    font-size: 2.0rem;
    padding: .6em 1em;
    border-radius: 1.5em;
  }
  .atm-time main .box > section .img {
    margin-bottom: 5vw;
  }
  .atm-time main .box > section .img p {
    width: 100%;
  }
  .atm-time main .box > section .comment {
    margin-bottom: 5vw;
  }
  .atm-time main .box > section .list {
    margin-bottom: 5vw;
  }



  /*cedyna*/
  .cedyna main .box {
    margin-top: 20vw;
  }
  .cedyna main .box > section {
    padding: 10vw 4vw 8vw;
    padding-top: 25vw;
    border-radius: 5vw;
    box-shadow: 0 15px 10px 5px rgba(0, 0, 0, .2);
  }
  .cedyna main .box > section h3 {
    top: -5vw;
    padding-top: 10vw;
  }
  .cedyna main .box > section .tbl01 {
    width: 100%;
  }
  .cedyna main .box > section .tbl01 table {
    width: 100%;
  }
  .cedyna main .box > section .tbl01 table tr th ,
  .cedyna main .box > section .tbl01 table tr td {
    display: block;
    border-top: solid 1px #ccc;
    border-bottom: none;
    padding: .6em 1.2em;
  }
  .cedyna main .box > section .tbl01 table tr th {
    width: 100%;
    border-bottom: none;
  }
  .cedyna main .box > section .tbl01 table tr td {
    width: 100%;
  }
  .cedyna main .box > section .tbl01 table tr:last-of-type td {
    border-bottom: solid 1px #ccc;
  }
  .cedyna main .box > section .tbl01 table tr td input {
    padding:.6em .4em;
    font-size:1.6rem;
  }
  .cedyna main .box > section .tbl01 table tr td label select {
      padding: .6em calc(.8em + 30px) .6em .4em;
      font-size: 1.6rem;
  }
  .cedyna main .box > section #id_personal_agree {
    padding-top: 10vw;
  }
  .cedyna main .box > section #id_personal_agree .scroll_box {
    height: 60vh;
    padding: 5vw 4vw;
  }
  .cedyna main .box > section #id_personal_agree .scroll_box section {
    margin-bottom: 5vw;
  }
  .cedyna main .box > section #id_personal_agree .scroll_box section > h5 {
    font-size: 1.6rem;
  }
  .cedyna main .box > section #id_personal_agree .scroll_box section > .number-list > ol > li .agree_tbl01 table tr th ,
  .cedyna main .box > section #id_personal_agree .scroll_box section > .number-list > ol > li .agree_tbl01 table tr td {
    padding: .6em .4em;
  }
  .cedyna main .box > section #id_personal_agree .scroll_box section > .number-list > ol > li .agree_tbl01 table tr th {
    width: 50%;
  }
  .cedyna main .box > section #id_personal_agree .agree_check {
    padding-top: 10vw;
  }
  .cedyna main .box > section #id_personal_agree .agree_check dl dt {
    margin-right: 5vw;
  }
  .cedyna main .box > section #id_personal_agree .agree_check dl label {
    font-size: 2.0rem;
  }
  .cedyna main .box > section #id_err_msg {
    padding-top: 5vw;
  }
  .cedyna main .box > section #con_msg ,
  .cedyna main .box > section #id_return_msg ,
  .cedyna main .box > section #id_submit_msg {
    padding-top: 5vw;
    padding-bottom: 5vw;
  }
  .cedyna main .box > section .confirm_btn input ,
  .cedyna main .box > section .back_btn input ,
  .cedyna main .box > section .submit_btn input {
    padding:.8em 4em;
    font-size:2.0rem;
  }



  /*reserve*/
  .reserve .sub_img {
    height: auto;
  }
  .reserve .sub_img p img {
    width: 100%;
    height: auto;
    object-fit: contain;
  }
  .reserve main .box {
    margin-top: 20vw;
  }
  .reserve main .box > section {
    padding: 10vw 4vw 8vw;
    padding-top: 25vw;
    border-radius: 5vw;
    box-shadow: 0 15px 10px 5px rgba(0, 0, 0, .2);
  }
  .reserve main .box > section:not(:last-of-type) {
    margin-bottom: 15vw;
  }
  .reserve main .box > section h3 {
    top: -1em;
    font-size: 2.4rem;
  }
  .reserve main .box > section h3 span {
    font-size: 2.4rem;
  }
  .reserve main .box > section .img {
    margin-bottom: 5vw;
  }
  .reserve main .box > section .caution section:not(:last-of-type) {
    margin-bottom: 10vw;
  }
  .reserve main .box > section .caution section .comment01 {
    margin-bottom: 5vw;
  }
  .reserve main .box > section .form .form_box_in table {
    width: 100%;
  }
  .reserve main .box > section .form .form_box_in table tr th ,
  .reserve main .box > section .form .form_box_in table tr td {
    display: block;
    padding: .8em .6em;
  }
  .reserve main .box > section .form .form_box_in table tr th {
    width: 100%;
    border-bottom: solid 2px #4d9bc1;
  }
  .reserve main .box > section .form .form_box_in table tr th span {
    padding: .2em .8em;
    font-size: 1.4rem;
  }
  .reserve main .box > section .form .form_box_in table tr th em {
    font-size: 1.4rem;
  }
  .reserve main .box > section .form .form_box_in table tr td {
    width: 100%;
    border-bottom: solid 2px #c1c7c6;
  }



  /*sitemap*/
  .sitemap main {
    margin-top: 15vw;
  }
  


}
