@charset "UTF-8";
@font-face {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 100;
}
@font-face {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 300;
}
@font-face {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
}
@font-face {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
}
@font-face {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: bold;
}
*, *:before, *:after {
  box-sizing: border-box;
}

html {
  font-size: 62.5%;
}
html:focus {
  outline: none;
}

body {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: normal;
  font-size: 16px;
  line-height: 1.6;
  color: #3E3A39;
}

main {
  display: block;
  overflow: hidden;
}

address {
  font-style: normal;
}

.fontSerif {
  font-family: "Noto Sans JP", sans-serif;
}

.pc {
  display: block !important;
}

.sp {
  display: none !important;
}

@media screen and (max-width: 767px) {
  .pc {
    display: none !important;
  }
  .sp {
    display: block !important;
  }
}
/* ----------------------------------- */
/* コンテナ
/* ----------------------------------- */
.container {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding-left: 15px;
  padding-right: 15px;
  transition: ease-in 0.1s;
}
@media screen and (min-width: 1211px) {
  .container {
    max-width: 1170px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1210px) {
  .container {
    max-width: 1060px;
    padding-left: 5%;
    padding-right: 5%;
  }
}
@media screen and (max-width: 767px) {
  .container {
    max-width: 750px;
  }
}

/* ----------------------------------- */
/* clearfix
/* ----------------------------------- */
.clearfix:before, .clearfix:after, .container:before, .container:after {
  content: " ";
  display: table;
}

.clearfix:after, .container:after {
  clear: both;
}

/* ----------------------------------- */
/* フォントサイズ・余白 */
/* ----------------------------------- */
.fs12 {
  font-size: 12px !important;
}

.fs14 {
  font-size: 14px !important;
}

.fs16 {
  font-size: 16px !important;
}

.fs18 {
  font-size: 18px !important;
}

.fs20 {
  font-size: 20px !important;
}

.fs22 {
  font-size: 22px !important;
}

.fs24 {
  font-size: 24px !important;
}

.mt0 {
  margin-top: 0 !important;
}

.mt5 {
  margin-top: 5px !important;
}

.mt10 {
  margin-top: 10px !important;
}

.mt15 {
  margin-top: 15px !important;
}

.mt20 {
  margin-top: 20px !important;
}

.mt25 {
  margin-top: 25px !important;
}

.mt30 {
  margin-top: 30px !important;
}

.mt35 {
  margin-top: 35px !important;
}

.mt40 {
  margin-top: 40px !important;
}

.mt50 {
  margin-top: 50px !important;
}

.mt60 {
  margin-top: 60px !important;
}

.mt70 {
  margin-top: 70px !important;
}

.mt80 {
  margin-top: 80px !important;
}

.mt90 {
  margin-top: 90px !important;
}

.mb0 {
  margin-bottom: 0 !important;
}

.mb5 {
  margin-bottom: 5px !important;
}

.mb10 {
  margin-bottom: 10px !important;
}

.mb15 {
  margin-bottom: 15px !important;
}

.mb20 {
  margin-bottom: 20px !important;
}

.mb30 {
  margin-bottom: 30px !important;
}

.mb35 {
  margin-bottom: 35px !important;
}

.mb40 {
  margin-bottom: 40px !important;
}

.mb45 {
  margin-bottom: 45px !important;
}

.mb50 {
  margin-bottom: 50px !important;
}

.mb55 {
  margin-bottom: 55px !important;
}

.mb60 {
  margin-bottom: 60px !important;
}

.mb65 {
  margin-bottom: 65px !important;
}

.mb70 {
  margin-bottom: 70px !important;
}

.mb75 {
  margin-bottom: 75px !important;
}

.mb80 {
  margin-bottom: 80px !important;
}

.mb85 {
  margin-bottom: 85px !important;
}

.mb90 {
  margin-bottom: 90px !important;
}

.mb95 {
  margin-bottom: 95px !important;
}

.mb100 {
  margin-bottom: 100px !important;
}

.mb120 {
  margin-bottom: 120px !important;
}

.w10p {
  width: 10% !important;
}

.w20p {
  width: 20% !important;
}

.w30p {
  width: 30% !important;
}

.w40p {
  width: 40% !important;
}

.w50p {
  width: 50% !important;
}

.w60p {
  width: 60% !important;
}

.w70p {
  width: 70% !important;
}

.w80p {
  width: 80% !important;
}

.w90p {
  width: 90% !important;
}

.w100p {
  width: 100% !important;
}

#componentPage #postCnt .box:nth-of-type(n + 2) {
  margin-top: 60px !important;
}
#componentPage #postCnt .bg-wide {
  padding-top: 20px !important;
  padding-bottom: 20px !important;
}
#componentPage #postCnt .component-class tr th {
  width: 100px !important;
  min-width: 1px !important;
}
#componentPage #postCnt .columnBox {
  background: #ccc;
}

/* ----------------------------------- */
/* リンク */
/* ----------------------------------- */
a {
  color: #202D60;
  text-decoration: underline;
  transition: all ease 0.3s;
}
a:hover, a:focus {
  color: #5B97DF;
  text-decoration: none;
  transition: all ease 0.3s;
}
a:focus, a:active, a:hover {
  outline: 0;
  text-decoration: none;
}
a img:hover {
  opacity: 0.8;
}

/* ----------------------------------- */
/* 配置 */
/* ----------------------------------- */
.alignnone {
  max-width: 100%;
}

.alignleft {
  display: inline;
  float: left;
}

.alignright {
  display: inline;
  float: right;
}

.aligncenter {
  display: block;
  margin-right: auto;
  margin-left: auto;
}

img.alignleft {
  margin: 0 20px 20px 0;
}
img.alignright {
  margin: 0 0 20px 20px;
}
img.aligncenter {
  clear: both;
  margin-left: auto;
  margin-right: auto;
}

/* ----------------------------------- */
/* イメージ */
/* ----------------------------------- */
img {
  vertical-align: bottom;
  max-width: 100%;
  height: auto;
  flex-shrink: 0;
}
img[class*=align], img[class*=wp-image-], img[class*=attachment-] {
  height: auto;
}
img.alignleft, img.alignright, img.aligncenter {
  margin-bottom: 30px;
}
img.alignleft {
  display: inline;
  float: left;
  margin-right: 20px;
}
img.alignright {
  display: inline;
  float: right;
  margin-left: 20px;
}
img.aligncenter {
  clear: both;
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 30px !important;
}

/* ----------------------------------- */
/* ボタン */
/* ----------------------------------- */
.btnWrap {
  margin: 40px 0;
}

.btn {
  clear: both;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 60px;
  margin: 30px 0 30px;
  font-size: 14px;
  line-height: 1.5;
  font-weight: 400;
  -ms-touch-action: manipulation;
  touch-action: manipulation;
  text-decoration: none;
  transition: 0.3s ease-in;
  user-select: none;
  position: relative;
  border: 1px solid #202D60;
  color: #202D60;
  background: #fff;
  width: 200px;
  border-radius: 30px;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
}
.btn:hover, .btn:focus {
  background: #202D60;
  color: #fff;
}
.btn.arrow:after {
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  border: none;
  content: "・";
  width: 30px;
  height: 30px;
  background: #5B97DF;
  transform: none;
  color: #fff;
  right: 15px;
  font-size: 20px;
  border-radius: 50%;
  top: 50%;
  margin-top: -15px;
  transition: 0.3s ease-in;
  background-size: 7px;
  background-position: center;
}
.btn.arrow:hover:after, .btn.arrow:focus:after {
  content: "";
  background: #5B97DF url("../images/home/arrow_w.svg") no-repeat;
  background-size: 7px;
  background-position: center;
}
.btn.arrowReverse:after {
  position: absolute;
  align-items: center;
  border: none;
  content: "\f105";
  font-family: FontAwesome;
  transform: none;
  color: #202D60;
  right: 15px;
  font-size: 20px;
  border-radius: 0;
  top: 50%;
  margin-top: -15px;
  transition: 0.3s ease-in;
}
.btn.reverse {
  text-decoration: none;
  color: #202D60;
  background: #fff;
  border-color: #202D60;
}
.btn.btnLeft {
  margin-right: auto;
}
.btn.btnRight {
  margin-left: auto;
  margin-right: 0;
}
.btn.btnCenter {
  margin-left: auto;
  margin-right: auto;
}
.btn.btnFull {
  max-width: none;
}
.btn.type2 {
  background: #CA1633;
  border-color: #CA1633;
  color: #fff;
}
.btn.type2:after {
  color: #fff;
}
@media print, screen and (min-width: 768px) {
  .btn.arrow:hover:after, .btn.arrow:focus:after {
    color: #202D60;
  }
  .btn.arrowReverse:hover:after, .btn.arrowReverse:focus:after {
    color: #fff;
  }
  .btn.reverse:hover, .btn.reverse:focus {
    background: #202D60;
    color: #fff;
  }
  .btn.border_btn:hover {
    border: #FFFFFF solid 1px;
  }
  .btn.type2:hover {
    background: #202D60;
    border-color: #202D60;
    color: #fff;
  }
  .btn.type2:hover:after {
    color: #fff;
  }
}

/* ----------------------------------- */
/* カラム */
/* ----------------------------------- */
.column2Wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 55px;
}
.column2Wrap .columnBox {
  flex-basis: calc((100% - 40px * (2 - 1)) / 2);
  max-width: calc((100% - 40px * (2 - 1)) / 2);
}
.column2Wrap .columnBox p:last-of-type {
  margin-bottom: 0;
}
.column2Wrap .columnBox:nth-of-type(n + 3) {
  margin-top: 20px;
}
.column2Wrap.sp3_7 .columnBox:nth-of-type(odd) {
  flex-basis: 300px;
  max-width: 300px;
}
.column2Wrap.sp3_7 .columnBox:nth-of-type(even) {
  flex-basis: calc(100% - 320px);
  max-width: calc(100% - 320px);
}
.column2Wrap.sp7_3 .columnBox:nth-of-type(odd) {
  flex-basis: calc(100% - 320px);
  max-width: calc(100% - 320px);
}
.column2Wrap.sp7_3 .columnBox:nth-of-type(even) {
  flex-basis: 300px;
  max-width: 300px;
}
.column2Wrap.sp140 .columnBox:nth-of-type(-n + 2) {
  margin-top: 0;
}
.column2Wrap.sp140 .columnBox:nth-of-type(odd) {
  flex-basis: 140px;
  max-width: 140px;
}
.column2Wrap.sp140 .columnBox:nth-of-type(even) {
  flex-basis: calc(100% - 160px);
  max-width: calc(100% - 160px);
}
.column2Wrap.sp250 .columnBox:nth-of-type(odd) {
  flex-basis: 250px;
  max-width: 250px;
}
.column2Wrap.sp250 .columnBox:nth-of-type(even) {
  flex-basis: calc(100% - 270px);
  max-width: calc(100% - 270px);
}
.column2Wrap .column2Wrap .columnBox {
  flex-basis: calc((100% - 30px * (2 - 1)) / 2);
  max-width: calc((100% - 30px * (2 - 1)) / 2);
}

.column3Wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 40px;
}
.column3Wrap:after {
  content: "";
  display: block;
  width: calc((100% - 30px * (3 - 1)) / 3);
}
.column3Wrap .columnBox {
  flex-basis: calc((100% - 30px * (3 - 1)) / 3);
  max-width: calc((100% - 30px * (3 - 1)) / 3);
}
.column3Wrap .columnBox img {
  width: 100%;
  max-width: 100%;
}
.column3Wrap .columnBox p:last-child {
  margin-bottom: 0;
}
.column3Wrap .columnBox:nth-of-type(-n + 3) {
  margin-top: 0;
}

.column4Wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 40px;
  position: relative;
}
.column4Wrap .columnBox p:last-child {
  margin-bottom: 0;
}
.column4Wrap .columnBox img {
  max-width: 100%;
  width: 100%;
}

.column6Wrap {
  display: flex;
  flex-wrap: wrap;
}
.column6Wrap .columnBox {
  flex-basis: calc((100% - 50px) / 6);
  max-width: calc((100% - 50px) / 6);
  margin-right: 10px;
}
.column6Wrap .columnBox img {
  max-width: 100%;
  width: 100%;
}
.column6Wrap .columnBox:last-of-type {
  margin-right: 0;
}
.column6Wrap .columnBox:nth-of-type(n + 7) {
  margin-top: 20px;
}

.columnBox img {
  align-self: baseline;
  max-width: 100%;
}
.columnBox p:last-of-type {
  margin: 0;
}

.borderBox .columnBox {
  padding: 15px 20px;
  border: 1px solid #eee;
  overflow: visible;
}
.borderBox .columnBox + .borderNone {
  border: none;
}

@media screen and (min-width: 1025px) {
  .column2Wrap.lp3_7 .columnBox:first-of-type {
    flex-basis: calc((100% - 60px) / 3);
    max-width: calc((100% - 60px) / 3);
  }
  .column2Wrap.lp3_7 .columnBox:last-of-type {
    flex-basis: calc((100% - 60px) / 3 * 2 + 30px);
    max-width: calc((100% - 60px) / 3 * 2 + 30px);
  }
  .column2Wrap.lp7_3 .columnBox:first-of-type {
    flex-basis: calc((100% - 60px) / 3 * 2 + 30px);
    max-width: calc((100% - 60px) / 3 * 2 + 30px);
  }
  .column2Wrap.lp7_3 .columnBox:last-of-type {
    flex-basis: calc((100% - 60px) / 3);
    max-width: calc((100% - 60px) / 3);
  }
  .column3Wrap:after {
    content: "";
    display: block;
    width: calc((100% - 30px * (3 - 1)) / 3);
  }
  .column3Wrap .columnBox:nth-of-type(n + 4) {
    margin-top: 20px;
  }
  .column4Wrap:after {
    width: calc((100% - 30px * (4 - 1)) / 4);
    content: "";
    display: block;
  }
  .column4Wrap:before {
    width: calc((100% - 30px * (4 - 1)) / 4);
    content: "";
    display: block;
    order: 1;
  }
  .column4Wrap .columnBox {
    flex-basis: calc((100% - 30px * (4 - 1)) / 4);
    max-width: calc((100% - 30px * (4 - 1)) / 4);
  }
  .column4Wrap .columnBox:nth-of-type(n + 5) {
    margin-top: 20px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .column3Wrap .columnBox {
    flex-basis: calc((100% - 30px * (2 - 1)) / 2);
    max-width: calc((100% - 30px * (2 - 1)) / 2);
  }
  .column3Wrap .columnBox:nth-of-type(n + 3) {
    margin-top: 20px;
  }
  .column4Wrap .columnBox {
    flex-basis: calc((100% - 30px * (2 - 1)) / 2);
    max-width: calc((100% - 30px * (2 - 1)) / 2);
  }
  .column4Wrap .columnBox:nth-of-type(n + 3) {
    margin-top: 20px;
  }
}
@media screen and (max-width: 767px) {
  .column2Wrap .columnBox {
    flex-basis: 100%;
    max-width: 100%;
  }
  .column2Wrap .columnBox:nth-of-type(n + 3) {
    margin-top: 0;
  }
  .column2Wrap .columnBox:nth-of-type(n + 2) {
    margin-top: 20px;
  }
  .column2Wrap.sp3_7 .columnBox:nth-of-type(odd) {
    flex-basis: 100%;
    max-width: 100%;
  }
  .column2Wrap.sp3_7 .columnBox:nth-of-type(even) {
    flex-basis: 100%;
    max-width: 100%;
  }
  .column2Wrap.sp7_3 .columnBox:nth-of-type(odd) {
    flex-basis: 100%;
    max-width: 100%;
  }
  .column2Wrap.sp7_3 .columnBox:nth-of-type(even) {
    flex-basis: 100%;
    max-width: 100%;
  }
  .column2Wrap.lp3_7 .columnBox:nth-of-type(odd) {
    flex-basis: 100%;
    max-width: 100%;
  }
  .column2Wrap.lp3_7 .columnBox:nth-of-type(even) {
    flex-basis: 100%;
    max-width: 100%;
  }
  .column2Wrap.lp7_3 .columnBox:nth-of-type(odd) {
    flex-basis: 100%;
    max-width: 100%;
  }
  .column2Wrap.lp7_3 .columnBox:nth-of-type(even) {
    flex-basis: 100%;
    max-width: 100%;
  }
  .column2Wrap.sp140 .columnBox:nth-of-type(odd) {
    flex-basis: 100%;
    max-width: 100%;
  }
  .column2Wrap.sp140 .columnBox:nth-of-type(even) {
    flex-basis: 100%;
    max-width: 100%;
  }
  .column2Wrap.sp140 .columnBox:nth-of-type(n + 2) {
    margin-top: 20px;
  }
  .column2Wrap.sp250 .columnBox:nth-of-type(odd) {
    flex-basis: 100%;
    max-width: 100%;
  }
  .column2Wrap.sp250 .columnBox:nth-of-type(even) {
    flex-basis: 100%;
    max-width: 100%;
  }
  .column2Wrap.sp250 .columnBox:nth-of-type(n + 2) {
    margin-top: 20px;
  }
  .column3Wrap .columnBox {
    flex-basis: 100%;
    max-width: 100%;
  }
  .column3Wrap .columnBox:nth-of-type(n + 2) {
    margin-top: 20px;
  }
  .column4Wrap .columnBox {
    flex-basis: 100%;
  }
  .column4Wrap .columnBox:nth-of-type(n + 2) {
    margin-top: 20px;
  }
  .column6Wrap {
    justify-content: space-between;
  }
  .column6Wrap .columnBox {
    flex-basis: calc(50% - 5px);
    max-width: calc(50% - 5px);
  }
  .column6Wrap .columnBox:nth-of-type(n + 4) {
    margin-top: 0;
  }
  .column6Wrap .columnBox:nth-of-type(n + 7) {
    margin-top: 0;
  }
  .column6Wrap .columnBox:nth-of-type(n + 3) {
    margin-top: 20px;
  }
}
/* ---------------------------------------------------------------- */
/* ヘッダー */
/* ---------------------------------------------------------------- */
#header {
  height: 140px;
  padding-bottom: 5px;
  width: 100%;
  position: fixed;
  margin: 0 auto;
  z-index: 5;
  top: 0;
  transition: ease-in 0.1s;
  box-shadow: 1px 1px 15px #eee;
  background: #FFFFFF;
}
#header #headerCnt {
  width: 100%;
  margin: 0 auto;
  padding: 0 15px;
}
#header #headerCnt .header_inner {
  display: block;
  height: 100%;
}
#header #headerCnt .header_inner .header_top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 100%;
  padding: 25px 0;
}
#header #headerCnt .header_inner .header_top #logoArea {
  flex-basis: 325px;
  width: 325px;
  align-self: center;
}
#header #headerCnt .header_inner .header_top #logoArea #logo {
  margin: 0;
}
#header #headerCnt .header_inner .header_top #logoArea #logo a {
  width: 100%;
  height: 100%;
  display: flex;
}
#header #headerCnt .header_inner .header_top #logoArea #logo a img {
  max-width: 264px;
  height: auto;
}
#header #headerCnt .header_inner .header_top #headerContact {
  display: inline-flex;
  margin-left: auto;
}
#header #headerCnt .header_inner .header_top #headerContact .header_snsbox {
  display: flex;
  align-items: center;
  /* .h_sns{
  	margin-right: 20px;
  	.instacol{
  		background: url("../images/home/instagram.svg")no-repeat;
  		background-size: 16px;
  		background-position: center;
  		width: 20px;
  		height: 20px;
  		display: block;
  		&.facecol{
  			background: url("../images/home/facebook.svg")no-repeat;
  			background-size: 16px;
  			background-position: center;
  		}
  		&.youtubecol{
  			background: url("../images/home/youtube.svg")no-repeat;
  			background-size: 16px;
  			background-position: center;
  		}
  	}
  } */
}
#header #headerCnt .header_inner .header_top #headerContact .fixed_mainNavi {
  display: none;
}
#header #headerCnt .header_inner .header_top #headerContact .header_contact {
  display: flex;
  align-items: center;
}
#header #headerCnt .header_inner .header_top #headerContact .header_contact .hc_col {
  margin-right: 30px;
  /* .h_tel{
  	font-size: 18px;
  	font-weight: bold;
  	position: relative;
  	text-decoration: none;
  	padding-left: 20px;
  	color: $sub_color;
  	&::before{
  		content: "";
  		position: absolute;
  		background: url("../images/home/tel.svg")no-repeat;
  		background-position: center;
  		background-size: 15px;
  		width: 16px;
  		height: 16px;
  		display: block;
  		top: 7px;
  	}
  } */
}
#header #headerCnt .header_inner .header_top #headerContact .header_contact .hc_col p {
  margin: 0;
  font-size: 12px;
  padding-left: 20px;
}
#header #headerCnt .header_inner .header_top #headerContact .header_contact .hc_col2 .h_contact {
  font-size: 14px;
  color: #fff;
  text-decoration: none;
  width: 160px;
  height: 50px;
  font-weight: bold;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 0 15px;
  border-radius: 25px;
  background: transparent linear-gradient(109deg, #5B98DF 0%, #202D60 100%) 0% 0% no-repeat padding-box;
}
#header #headerCnt .header_inner .header_top #headerContact .header_contact .hc_col2 .h_contact:after {
  content: "";
  background: url("../images/common/mail.svg") no-repeat center center;
  background-size: 20px auto;
  width: 20px;
  height: 100%;
  margin-left: 10px;
}
#header #headerCnt .header_inner .header_top #headerContact .header_contact .hc_col2 .h_contact:hover {
  background: transparent linear-gradient(-109deg, #5B98DF 0%, #202D60 100%) 0% 0% no-repeat padding-box;
}
#header #headerCnt .header_inner .header_top #headerContact .header_contact .hc_col2_fiexd {
  display: none;
}
#header .header_bottom {
  width: 100vw;
  margin: 0 calc(50% - 50vw);
  padding: 0 calc(50vw - 50% + 0px);
  background-color: #ECEDF5;
}
@media screen and (min-width: 1025px) {
  #header #headerCnt {
    max-width: 1200px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  #header #headerCnt {
    max-width: 970px;
    padding-left: 5%;
    padding-right: 5%;
  }
  #header #headerCnt #headerContact #mainNaviArea ul li a {
    font-size: 10px;
  }
  #header #headerCnt #headerContact .header_contact {
    /* .hc_col2{
    	.h_contact{
    		background: url("../images/home/h_sp_mail.svg")no-repeat;
    		background-size: 40px;
    		background-position: center;
    		width: 40px;
    		height: 40px;
    		border-radius: 50%;
    		border: none;
    		span{
    			display: none;
    		}
    		&:hover{
    			background: #FFFFFF url("../images/home/header_sp_mail.svg")no-repeat;
    			background-size: 40px;
    			background-position: center;
    			width: 40px;
    			height: 40px;
    			border-radius: 50%;
    			border: none;
    			span{
    			 display: none;
    			}
    		}
    	}
    } */
  }
  #header #headerCnt #headerContact .header_contact .hc_col {
    margin-right: 0px;
  }
  #header #headerCnt #headerContact .header_contact .hc_col .h_tel {
    width: 40px;
    height: 40px;
  }
  #header #headerCnt #headerContact .header_contact .hc_col_fiexd {
    display: none;
  }
  #header #headerCnt #headerContact .header_contact .hc_col2_fiexd {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  #header {
    height: 60px;
  }
  #header #headerCnt {
    max-width: 750px;
    justify-content: space-between;
    height: 60px;
    padding: 0;
  }
  #header #headerCnt .header_inner .header_top {
    padding: 0;
  }
  #header #headerCnt .header_inner .header_top #logoArea #logo {
    margin: 0 0 0 15px;
  }
  #header #headerCnt #mainNaviArea {
    display: none;
  }
  #header #headerCnt #headerContact {
    display: none !important;
  }
}
#header.fixed {
  height: 80px;
}
#header.fixed #headerCnt .header_inner .header_top {
  padding: 10px 0;
}
#header.fixed #headerCnt .header_inner .header_top #headerContact .header_snsbox {
  display: none;
}
#header.fixed #headerCnt .header_inner .header_top #headerContact .fixed_mainNavi {
  display: block;
}
#header.fixed #headerCnt .header_inner .header_top #headerContact .fixed_mainNavi #mainNavi ul,
#header.fixed #headerCnt .header_inner .header_top #headerContact .fixed_mainNavi #mainNavi2 ul {
  display: flex;
  list-style: none;
  padding: 0;
}
#header.fixed #headerCnt .header_inner .header_top #headerContact .fixed_mainNavi #mainNavi ul li,
#header.fixed #headerCnt .header_inner .header_top #headerContact .fixed_mainNavi #mainNavi2 ul li {
  margin-right: 33px;
}
#header.fixed #headerCnt .header_inner .header_top #headerContact .fixed_mainNavi #mainNavi ul li a,
#header.fixed #headerCnt .header_inner .header_top #headerContact .fixed_mainNavi #mainNavi2 ul li a {
  text-decoration: none;
  color: #3E3A39;
  font-size: 14px;
}
#header.fixed #headerCnt .header_inner .header_top #headerContact .fixed_mainNavi #mainNavi ul li a:hover,
#header.fixed #headerCnt .header_inner .header_top #headerContact .fixed_mainNavi #mainNavi2 ul li a:hover {
  border-bottom: #5B97DF solid 3px;
}
#header.fixed #headerCnt .header_inner .header_top #headerContact .header_contact {
  /* .hc_col,.hc_col2{
  	display: none;
  } */
  /* .hc_col_fiexd{
  	display: block;
  	.h_tel{
  		width: 80px;
  		height: 40px;
  		display: block;
  		border-radius: 25px 0 0 25px;
  		background: #F8F8F8 url("../images/home/tel_fixed.svg")no-repeat;
  		background-size: 16px;
  		background-position: center;
  	}	
  } */
}
#header.fixed #headerCnt .header_inner .header_top #headerContact .header_contact .hc_col2_fiexd {
  display: block;
}
#header.fixed #headerCnt .header_inner .header_top #headerContact .header_contact .hc_col2_fiexd .h_contact {
  width: 80px;
  height: 40px;
  display: block;
  border-radius: 0 25px 25px 0;
  background: #202D60 url("../images/home/mail_fixed.svg") no-repeat;
  background-size: 16px;
  background-position: center;
}
#header.fixed #headerCnt .header_inner .header_bottom {
  display: none;
}
@media screen and (min-width: 1025px) {
  #header.fixed #headerCnt .header_inner .header_top #headerContact .fixed_mainNavi #mainNavi ul li {
    margin-right: 25px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  #header.fixed #headerCnt .header_inner .header_top #headerContact .fixed_mainNavi {
    display: none;
  }
}

/* ---------------------------------------------------------------- */
/* ヘッダーメニュー */
/* ---------------------------------------------------------------- */
/* SPメニュー */
/* ----------------------------------- */
.openSpNavi {
  width: 100%;
  height: 100%;
  overflow: hidden !important;
}

#drawerNaviWrap {
  position: absolute;
  top: 0;
  right: 0;
  font-weight: 400;
}
#drawerNaviWrap .drawerNaviBtnWrap {
  width: 60px;
  height: 60px;
  position: relative;
  cursor: pointer;
}
#drawerNaviWrap .drawerNaviBtn {
  display: block;
  position: absolute;
  top: 14px;
  left: 50%;
  width: 36px;
  margin-left: -18px;
  height: 13px;
  transition: all 0.5s;
  z-index: 3;
}
#drawerNaviWrap .drawerNaviBtn:after {
  content: "MENU";
  position: absolute;
  bottom: -26px;
  left: 55%;
  transform: translateX(-58%);
  font-size: 12px;
  font-weight: bold;
  color: #2A2A36;
}
#drawerNaviWrap .drawerNaviBtn span {
  display: block;
  position: absolute;
  left: 0;
  width: 36px;
  height: 1px;
  background-color: #2A2A36;
  border-radius: 2px;
  transition: all 0.5s;
}
#drawerNaviWrap .drawerNaviBtn span:nth-child(1) {
  top: 0;
}
#drawerNaviWrap .drawerNaviBtn span:nth-child(2) {
  top: 10px;
}
#drawerNaviWrap .drawer-nav {
  display: block;
  position: fixed;
  top: 0;
  right: -100%;
  bottom: 0;
  width: 100%;
  background: #ECEDF5;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  transition: all 0.5s;
  z-index: 999;
  opacity: 0;
}
#drawerNaviWrap .drawer-nav .drawerInner {
  padding: 0;
  padding-top: 30px;
}
#drawerNaviWrap .drawer-nav ul {
  margin: 0;
  padding: 0;
  width: 100%;
  list-style: none;
  margin-bottom: 38px;
}
#drawerNaviWrap .drawer-nav ul li {
  margin: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  position: relative;
}
#drawerNaviWrap .drawer-nav ul li + li {
  margin-top: 20px;
}
#drawerNaviWrap .drawer-nav ul li a {
  text-decoration: none;
  color: #3E3A39;
  font-size: 14px;
  padding: 10px 0;
  transition-duration: 0.2s;
  font-weight: 500;
}
#drawerNaviWrap .drawer-nav ul li.children {
  overflow: hidden;
}
#drawerNaviWrap .drawer-nav ul li.children > a {
  position: relative;
  width: calc(100% - 40px);
}
#drawerNaviWrap .drawer-nav ul li.children .childrenToggle {
  width: 40px;
  height: 40px;
  position: relative;
  top: 0px;
}
#drawerNaviWrap .drawer-nav ul li.children .childrenToggle:after {
  content: "";
  width: 10px;
  height: 10px;
  border: 1px solid;
  border-color: transparent transparent #fff #fff;
  transform: rotate(-45deg);
  display: block;
  margin: 4px 15px 0 auto;
  position: absolute;
  top: 50%;
  right: 0;
  margin-top: -8px;
}
#drawerNaviWrap .drawer-nav ul li.children .sub-menu {
  display: none;
}
#drawerNaviWrap .drawer-nav ul li.children .sub-menu li a {
  min-height: inherit;
  display: block;
  padding: 8px 15px 8px 27px;
}
#drawerNaviWrap .drawer-nav ul li.children .sub-menu li:last-child {
  border: none;
}
#drawerNaviWrap .drawer-nav ul li .fa-external-link {
  padding-left: 5px;
}
#drawerNaviWrap #overlay {
  display: none;
  transition: all 0.5s;
}
#drawerNaviWrap.open#drawerNaviWrap {
  position: relative;
  right: 125px;
}
#drawerNaviWrap.open .drawerNaviBtnWrap {
  border: none;
  z-index: 10;
  width: 50px;
  height: 50px;
  display: none;
}
#drawerNaviWrap.open .drawerNaviBtn {
  top: 10px;
  left: 10px;
  margin-left: 0;
}
#drawerNaviWrap.open .drawerNavClose {
  font-size: 28px;
  line-height: 1;
  color: #fff;
  background-color: #202D60;
  position: fixed;
  width: 47px;
  height: 47px;
  right: 20px;
  top: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 5;
  font-weight: 400;
  border-radius: 100%;
}
#drawerNaviWrap.open .drawerNavClose span {
  position: relative;
  top: -2px;
  font-size: 24px;
}
#drawerNaviWrap.open .drawerNavClose:after {
  display: none;
}
#drawerNaviWrap.open .drawer_content {
  color: #FFFFFF;
}
#drawerNaviWrap.open .drawer_content .drawer_Logo {
  margin-bottom: 25px;
}
#drawerNaviWrap.open .drawer_content .drawer_Logo a {
  width: 100%;
  max-width: 200px;
  height: auto;
  text-align: center;
  text-decoration: none;
  display: block;
  margin: 0 auto;
}
#drawerNaviWrap.open .drawer_content .drawer_information {
  /* .drawer_tel{
  	a{
  		font-size: 30px;
  		text-decoration: none;
  		font-weight: bold;
  		padding-left: 30px;
  		color: #FFFFFF;
  		position: relative;
  		&::before{
  			content: "";
  			position: absolute;
  			background: url("../images/home/hamburger_tel.svg")no-repeat;
  			background-size: 20px;
  			background-position: center;
  			width: 20px;
  			height: 20px;
  			display: block;
  			left: 0;
  						top: 9px;
  		}
  	}
  } */
  /* .drawer_adress{
  	.ad_txt{
  		font-size: 16px;
  		font-weight: 400;
  		position: relative;
  		padding-left: 22px;
  		&::before{
  			content: "";
  			position: absolute;
  			background: url("../images/home/hamburger_adress.svg")no-repeat;
  			background-size: 14px;
  			background-position: center;
  			width: 15px;
  			height: 17px;
  			display: block;
  			left: 0;
  						top: 0;
  		}
  	}
  } */
}
#drawerNaviWrap.open .drawer_content .drawer_information .d_time {
  font-size: 14px;
  font-weight: 400;
  margin-bottom: 0;
}
#drawerNaviWrap.open .drawer_content .drawer_information .d_contact {
  width: 100%;
  max-width: 300px;
  height: 56px;
  background: #FFFFFF url("../images/home/right_arrow.svg") no-repeat;
  background-size: 16px;
  background-position: center right 20px;
  padding: 15px 65px;
  text-align: center;
  color: #202D60;
  font-size: 16px;
  font-weight: 400;
  text-decoration: none;
  display: block;
  border: #FFFFFF solid 2px;
  margin-bottom: 27px;
}
#drawerNaviWrap.open .drawer_content .drawer_information .d_contact:hover {
  background: #202D60 url("../images/home/right_arrow.svg") no-repeat;
  background-size: 16px;
  background-position: center right 20px;
  color: #FFFFFF;
}
#drawerNaviWrap.open .drawer_socials_networking ul {
  display: flex;
  justify-content: center;
}
#drawerNaviWrap.open .drawer_socials_networking ul li {
  padding: 0 15px;
}
#drawerNaviWrap.open .drawer-nav {
  right: 0;
  opacity: 1;
  background: #ECEDF5;
  padding: 0 15px;
}
#drawerNaviWrap.open #overlay {
  display: block;
  position: fixed;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 0.6;
  z-index: 2;
}

/* ----------------------------------- */
/* PCメニュー */
/* ----------------------------------- */
#drawerNaviWrap {
  display: none;
}

#mainNaviArea {
  display: block;
  margin: 0;
  padding: 0;
}
#mainNaviArea #mainNavi,
#mainNaviArea #mainNavi2 {
  padding: 0;
}
#mainNaviArea #mainNavi ul,
#mainNaviArea #mainNavi2 ul {
  margin: 0;
  padding: 0;
  width: 100%;
  position: relative;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
#mainNaviArea #mainNavi ul > li,
#mainNaviArea #mainNavi2 ul > li {
  list-style: none;
  margin: 0;
  padding: 0;
  height: 100%;
  flex: 1 0 auto;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
#mainNaviArea #mainNavi ul > li a,
#mainNaviArea #mainNavi2 ul > li a {
  justify-content: center;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  align-self: center;
  text-align: center;
  font-size: 14px;
  color: #3E3A39;
  margin: 0;
  padding: 10px;
  text-decoration: none;
  line-height: 1.2;
  font-weight: 400;
  height: 100%;
  border-bottom: transparent solid 5px;
}
#mainNaviArea #mainNavi ul > li a:hover, #mainNaviArea #mainNavi ul > li a:focus, #mainNaviArea #mainNavi ul > li a:active,
#mainNaviArea #mainNavi2 ul > li a:hover,
#mainNaviArea #mainNavi2 ul > li a:focus,
#mainNaviArea #mainNavi2 ul > li a:active {
  cursor: pointer;
  border-bottom: #5B97DF solid 5px;
}
#mainNaviArea #mainNavi ul > li a span,
#mainNaviArea #mainNavi2 ul > li a span {
  flex-basis: 100%;
  font-size: 12px;
}
#mainNaviArea #mainNavi ul > li.current-menu-parent > ul li.current-menu-item a,
#mainNaviArea #mainNavi2 ul > li.current-menu-parent > ul li.current-menu-item a {
  color: #202D60 !important;
  background: #fff;
}

@media screen and (max-width: 767px) {
  #mainNaviArea {
    display: none;
  }
  #drawerNaviWrap {
    display: block;
  }
}
/* ---------------------------------------------------------------- */
/* フッターエリア */
/* ---------------------------------------------------------------- */
#footer {
  clear: both;
  position: relative;
  background: #ECEDF5;
  padding: 160px 0 0;
}
#footer .footer_section {
  color: #202D60;
}
#footer .footer_section .footer_Logo img {
  margin-bottom: 10px;
}
#footer .footer_section .footer_tel {
  margin-bottom: 10px;
}
#footer .footer_section .footer_tel a {
  color: #202D60;
  text-decoration: none;
  font-size: 14px;
  font-weight: 400;
}
#footer .footer_section .footer_adress p {
  margin: 0 0 10px;
  font-size: 14px;
  font-weight: 400;
  color: #3E3A39;
}
#footer .footer_section .footer_adress .fa_txt {
  font-size: 14px;
  font-weight: 400;
  margin: 0 0 10px;
}
#footer .ablenet-link {
  display: flex;
  align-items: center;
  margin-top: 20px;
}
#footer .ablenet-logo {
  flex-basis: 164px;
  max-width: 164px;
  width: 100%;
}
#footer .snsWrap {
  padding: 0 0 0 25px;
  flex-basis: auto;
  width: auto;
}
#footer .snsWrap ul {
  padding: 0;
  margin: 0;
}
#footer .snsWrap ul li {
  list-style-type: none;
  display: inline-block;
}
#footer .snsWrap ul li + li {
  margin-left: 20px;
}
#footer .snsWrap ul li.x, #footer .snsWrap ul li.ig, #footer .snsWrap ul li.fb {
  width: 22px;
  vertical-align: middle;
}
#footer .snsWrap ul li.service {
  width: 30px;
  vertical-align: middle;	
}
#footer .snsWrap ul li.x img, #footer .snsWrap ul li.ig img, #footer .snsWrap ul li.fb img, #footer .snsWrap ul li.service img {
  width: 100%;
}
#footer .snsWrap ul li a {
  display: flex;
}
#footer .recruitBnr {
  max-width: 450px;
  width: 100%;
}
#footer #footerCntWrap,
#footer .ftrnav-btm {
  display: flex;
  justify-content: space-between;
}
#footer .footer_section {
  flex-basis: calc(100% - 430px);
  max-width: calc(100% - 430px);
  width: 100%;
}
#footer #footerNaviWrap {
  flex-basis: 420px;
  max-width: 420px;
  width: 100%;
  display: inline-flex;
  flex-wrap: wrap;
}
#footer #footerNaviWrap p {
  font-size: 14px;
  font-weight: bold;
  margin: 0 0 10px;
}
#footer #footerNaviWrap .naviBox {
  flex-basis: 48%;
  max-width: 48%;
}
#footer #footerNaviWrap .naviBox + .naviBox {
  padding-left: 50px;
}
#footer #footerNaviWrap .naviBox ul {
  margin: 0;
  padding: 0;
}
#footer #footerNaviWrap .naviBox ul li {
  display: block;
  color: #3E3A39;
  padding-bottom: 10px;
}
#footer #footerNaviWrap .naviBox ul li a {
  text-decoration: none;
  font-size: 14px;
  color: #3E3A39;
  font-weight: 400;
}
#footer #footerNaviWrap .naviBox ul li a:hover {
  opacity: 0.7;
}
#footer #footerCnt {
  color: #202D60;
  justify-content: center;
  margin: 0;
}
#footer #footerCnt .footer_socials_networking {
  display: flex;
  justify-content: center;
  padding: 0;
}
#footer #footerCnt .footer_socials_networking ul {
  display: flex;
  padding: 0;
}
#footer #footerCnt .footer_socials_networking ul li {
  padding: 0 15px;
  list-style: none;
}
#footer .ftrnav-btm {
  margin: 50px 0 150px;
}
#footer .left-box {
  flex-basis: calc(100% - 330px);
  max-width: calc(100% - 330px);
  width: 100%;
}
#footer .ismsImg {
  flex-basis: 300px;
  max-width: 300px;
  width: 100%;
}
#footer .ismsImg p {
  font-size: 12px;
  margin-top: 10px;
}
#footer .copy-wrap {
  background: #202D60;
  padding: 40px 0 60px;
  color: #ffffff;
}
#footer .copy-wrap a {
  color: #ffffff;
}
#footer .copytop-link {
  text-align: center;
}
#footer .copytop-link ul {
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}
#footer .copytop-link ul li {
  padding: 0;
  list-style-type: none;
  width: auto;
  margin: 0 40px 15px 0;
}
#footer .copytop-link ul li:last-child {
  margin-right: 0;
}
#footer .copytop-link ul li a {
  text-decoration: none;
}
#footer #copyright {
  flex-basis: 100%;
  width: 100%;
  text-align: center;
}
#footer #copyright p {
  font-size: 14px;
  font-weight: 400;
  margin: 0;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  #footer {
    padding: 143px 0 60px;
  }
  #footer .footer_section {
    margin: 0 auto;
    max-width: 100%;
  }
  #footer .footer_section .d_contact {
    margin-bottom: 60px;
  }
  #footer #footerCntWrap {
    display: block;
    margin-bottom: 60px;
  }
  #footer #footerNaviWrap {
    display: none;
  }
  #footer #footerCnt {
    margin: 0 auto;
    flex-basis: 100%;
    max-width: 100%;
  }
  #footer .ablenet-link {
    display: block;
  }
  #footer .ablenet-logo {
    max-width: 100%;
  }
  #footer .snsWrap {
    padding: 0;
    max-width: 100%;
    text-align: center;
    margin-top: 40px;
  }
  #footer .snsWrap ul li + li {
    margin-left: 60px;
  }
  #footer .snsWrap ul li.x, #footer .snsWrap ul li.ig, #footer .snsWrap ul li.fb {
    width: 30px;
  } 
	#footer .snsWrap ul li.service{
		width: 40px;
	}
  #footer .recruitBnr {
    margin: 0 auto;
  }
  #footer .ftrnav-btm {
    text-align: center;
    flex-wrap: wrap;
    margin-bottom: 0;
  }
  #footer .left-box,
  #footer .ismsImg {
    flex-basis: 100%;
    max-width: 100%;
    width: 100%;
  }
  #footer .left-box {
    order: 2;
    margin: 60px 0;
  }
  #footer .ismsImg {
    order: 1;
    text-align: center;
  }
  #footer .ismsImg p {
    max-width: 300px;
    flex-basis: 300px;
    width: 100%;
    margin: 10px auto 0;
    text-align: left;
  }
  #footer .recruitBtn a {
    margin: 0 auto;
  }
  #footer .copytop-link ul {
    display: block;
  }
  #footer .copytop-link ul li {
    margin: 0 0 15px 0;
    font-size: 12px;
  }
}
@media screen and (max-width: 767px) {
  #footer {
    padding: 143px 0 60px;
  }
  #footer .footer_section {
    margin: 0 auto;
    max-width: 100%;
  }
  #footer .footer_section .d_contact {
    margin-bottom: 60px;
  }
  #footer #footerCntWrap {
    display: block;
    margin-bottom: 60px;
  }
  #footer #footerNaviWrap {
    display: none;
  }
  #footer #footerCnt {
    margin: 0 auto;
    flex-basis: 100%;
    max-width: 100%;
  }
  #footer .ablenet-link {
    display: block;
  }
  #footer .ablenet-logo {
    max-width: 100%;
  }
  #footer .recruitBnr {
    margin: 0 auto;
  }
  #footer .snsWrap {
    padding: 0;
    max-width: 100%;
    text-align: center;
    margin-top: 40px;
  }
  #footer .snsWrap ul li + li {
    margin-left: 60px;
  }
  #footer .snsWrap ul li.x, #footer .snsWrap ul li.ig, #footer .snsWrap ul li.fb{
    width: 30px;
  }
	#footer .snsWrap ul li.service {
		width: 40px;
	}	
  #footer .ftrnav-btm {
    text-align: center;
    flex-wrap: wrap;
    margin-bottom: 0;
  }
  #footer .left-box,
  #footer .ismsImg {
    flex-basis: 100%;
    max-width: 100%;
    width: 100%;
  }
  #footer .left-box {
    order: 2;
    margin: 60px 0;
  }
  #footer .ismsImg {
    order: 1;
    text-align: center;
  }
  #footer .ismsImg p {
    max-width: 300px;
    flex-basis: 300px;
    width: 100%;
    margin: 10px auto 0;
    text-align: left;
  }
  #footer .recruitBtn a {
    margin: 0 auto;
  }
  #footer .copytop-link ul {
    display: block;
  }
  #footer .copytop-link ul li {
    margin: 0 0 15px 0;
    font-size: 12px;
  }
}

/* ---------------------------------------------------------------- */
/* ページトップ ボタン */
/* ---------------------------------------------------------------- */
#pagetopArea {
  position: absolute;
  top: 100px;
  right: 15%;
}
#pagetopArea a {
  font-size: 12px;
  font-weight: 500;
  text-align: center;
  width: 100%;
  height: 43px;
  color: #3E3A39;
  text-decoration: none;
  position: relative;
  align-items: center;
  display: flex;
}
#pagetopArea a::before {
  content: "";
  position: absolute;
  background: url("../images/home/pagetop.svg") no-repeat;
  background-size: 20px;
  background-position: center;
  width: 20px;
  height: 20px;
  display: block;
  top: 0;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
}

@media screen and (max-width: 767px) {
  #pagetopArea {
    top: 8%;
    right: auto;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
  }
}
/* ---------------------------------------------------------------- */
/* CTA固定ボタン */
/* ---------------------------------------------------------------- */
#fixedBtnSpArea {
  width: 100%;
  opacity: 0;
  z-index: 5;
  position: fixed;
  bottom: -60px;
  transition: 0.6s;
  background-color: #F8F8F8;
}
#fixedBtnSpArea.fixedsp {
  opacity: 1;
  transition: 0.6s;
  bottom: 0;
}
#fixedBtnSpArea #fixedBtnSp {
  display: none !important;
}
#fixedBtnSpArea #fixedBtnSp ul {
  margin: 0 0 0 0;
  padding: 0;
  height: 60px;
  width: 100%;
  overflow: hidden;
  display: flex;
}
#fixedBtnSpArea #fixedBtnSp ul li {
  list-style: none;
  flex-basis: 100%;
  /* 
  + li {
      border-left: 1px solid #fff;
  } */
}
#fixedBtnSpArea #fixedBtnSp ul li a {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  height: 100%;
  color: #202D60;
  justify-content: center;
  align-items: center;
  text-align: center;
  margin: 0;
  padding: 0 10px 0;
  font-size: 14px;
  font-weight: bold;
  text-decoration: none;
  background-repeat: no-repeat;
  background-size: auto 20px;
  background-position: center 10px;
}
#fixedBtnSpArea #fixedBtnSp ul li span {
  padding-right: 40px;
  background: url("../images/home/mail_blue.svg") no-repeat right center;
  background-size: 20px auto;
}
@media screen and (max-width: 767px) {
  #fixedBtnSpArea #fixedBtnSp {
    display: block !important;
  }
}

/* ---------------------------------------------------------------- */
/* メインスライダー  */
/* ---------------------------------------------------------------- */
#sliderArea {
  position: relative;
  clear: both;
  width: 100%;
  margin-bottom: 0;
  overflow: hidden;
}
#sliderArea #sliderSp {
  display: none;
}
#sliderArea .metaslider .flex-control-paging li a.flex-active {
  background: #202D60;
}
@media screen and (max-width: 767px) {
  #sliderArea #sliderPc {
    display: none;
  }
}

/* ---------------------------------------------------------------- */
/* HOME */
/* ---------------------------------------------------------------- */
#indexPage {
  /* #newsArea {
  	padding: 120px 0;
  	background: url("../images/home/news_backgrand.png")no-repeat;
  	background-size: cover;
  	background-position: center;
  	position: relative;
  	&::after{
  		content: "";
  		position: absolute;
  		top: 0;
  		bottom: 0;
  		left: 0;
  		right: 0;
  		background: #000;
  		opacity: 0.7;
  		width: 100%;
  		height: 100%;
  	}
  	.tllbox{
  		position: relative;
  		z-index: 2;
  		margin-bottom: 43px;
  		span{
  			font-size: 16px;
  			font-weight: 500;
  			color: $main_color;
  		}
  	}
  	.newsbtn{
  		position: relative;
  		z-index: 2;
  	}
  } */
  /* #blogArea {
  	margin: 0 0 94px;
  	padding: 75px 0 60px;
  	background: $main_color;
  	.tllbox{
  		margin-bottom: 40px;
  		.tllh2{
  			font-size: 30px;
  			font-weight: bold;
  			color: $sub_color;
  		}
  		span{
  			font-size: 16px;
  			font-weight: bold;
  			color: $sub_color;
  		}
  	}
  } */
}
#indexPage .small-headline {
  font-weight: 400;
}
#indexPage .small-headline .jp {
  font-size: 18px;
}
#indexPage .small-headline .en {
  font-size: 12px;
}
@media screen and (max-width: 767px) {
  #indexPage {
    /* #blogArea,#newsArea{
    	.tllbox{
    		margin-bottom: 40px;
    		.tllh2{
    			font-size: 16px;
    			margin: 22px auto 38px;
    		}
    		span{
    			font-size: 34px;
    		}
    	}
    } */
  }
}

/* ---------------------------------------------------------------- */
/* メインスライダー  */
/* ---------------------------------------------------------------- */
.Main_visual_mm {
  margin: 140px 0 0 0;
  padding: 0 30px 30px;
  background-color: #ECEDF5;
}

.top-fvSwiper {
  width: 100%;
  height: 520px;
  position: relative;
  z-index: -2;
  border-radius: 16px;
}
.top-fvSwiper::after {
  position: absolute;
  content: "";
  background: transparent linear-gradient(180deg, #5B98DF 0%, #202D60 100%) 0% 0% no-repeat padding-box;
  mix-blend-mode: multiply;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  display: block;
  border-radius: 16px;
  z-index: 1;
}
.top-fvSwiper .swiper-wrapper .swiper-slide .slideimgbox {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.main_img {
  width: 100%;
  position: absolute;
  bottom: 100px;
  left: 60px;
  background: none;
  z-index: 2;
  display: block;
}
.main_img .maininner_text {
  font-size: 48px;
  color: #fff;
  font-weight: 700;
  margin: 0 0 15px;
  line-height: 1.2;
}
.main_img h2 {
  font-weight: 400;
  margin: 0;
  color: #fff;
}
.main_img span {
  font-size: 20px;
  font-weight: 400;
  color: #fff;
  line-height: 1.2;
}
.main_img .sub-title{
	color: #fff;
	font-weight: 300;
	font-size: 20px;
}
.main_img .mv-btn{
	background-color: #2369C8;
	display: inline-block;
	border-radius: 5px;
}
.main_img .mv-btn a{
    margin-right: 10px;
    text-align: center;
    color: #fff;
    display: block;
    padding: 10px;
    text-decoration: none;
    position: relative;
    width: 180px;
}
.main_img .mv-btn a::after{
	content: '';
    position: absolute;
    right: 10px;
    width: 9px;
    top: 36%;
    height: 9px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg);
}
@media screen and (max-width: 1220px) {
  .top-fvSwiper .swiper-wrapper .swiper-slide .slideimgbox {
    position: relative;
    width: 100%;
    overflow: hidden;
    height: 100%;
  }
  .top-fvSwiper .swiper-wrapper .swiper-slide .slideimgbox img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .top-fvSwiper .main_img {
    left: 30px;
  }
  .top-fvSwiper .main_img .maininner_text {
    font-size: 32px;
    color: #FFFFFF;
  }
  .top-fvSwiper .main_img span {
    font-size: 18px;
  }
  .top-fvSwiper .main_img h2 {
    font-size: 20px;
  }
}
@media screen and (max-width: 767px) {
  .Main_visual_mm {
    margin: 0;
    padding-left: 0;
    padding-right: 0;
  }
  .top-fvSwiper {
    height: 422px;
    border-radius: 0;
  }
  .top-fvSwiper::after {
    border-radius: 0;
  }
  .top-fvSwiper .swiper-wrapper {
    height: 422px;
  }
  .top-fvSwiper .swiper-wrapper .swiper-slide .slideimgbox {
    position: relative;
    width: 100%;
    overflow: hidden;
    object-fit: cover;
    padding-bottom: 422px;
  }
  .top-fvSwiper .main_img {
    width: 100%;
    left: 15px;
    bottom: 35px;
  }
  .top-fvSwiper .main_img .maininner_text {
    font-size: 32px;
    color: #FFFFFF;
  }
  .top-fvSwiper .main_img span {
    font-size: 18px;
  }
  .top-fvSwiper .main_img h2 {
    font-size: 20px;
  }
}
/* ---------------------------------------------------------------- */
/* newsArea */
/* ---------------------------------------------------------------- */
.newsArea {
  padding: 50px 50px 40px;
  background: #2F3546;
}
.newsArea a {
  text-decoration: none;
  color: #ffffff;
}
.newsArea .swiper-container {
  padding-bottom: 30px;
}
.newsArea .tllbox {
  position: relative;
  z-index: 2;
  margin-bottom: 30px;
}
.newsArea .tllbox .small-headline {
  color: #fff;
  text-align: center;
}
.newsArea .tllbox span {
  font-size: 16px;
  font-weight: 400;
  color: #fff;
}
.newsArea .tllbox .tllh2 {
  font-size: 32px;
  font-weight: bold;
  color: #fff;
  line-height: 1.8;
}
@media screen and (min-width: 768px) and (max-width: 1210px) {
  .newsArea {
    padding: 50px 25px 40px;
  }
}

.swiper-container.type_b .swiper-wrapper .swiper-slide .swiper-imgbox {
  padding-bottom: 60%;
  overflow: hidden;
  margin-bottom: 10px;
  border-radius: 8px;
  box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.16);
  position: relative;
}
.swiper-container.type_b .swiper-wrapper .swiper-slide .swiper-imgbox img {
  border-radius: 8px;
  max-width: none;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  object-fit: cover;
}
.swiper-container.type_b .swiper-wrapper .swiper-slide .swiper-txtbox {
  color: #ffffff;
}
.swiper-container.type_b .swiper-wrapper .swiper-slide .swiper-txtbox h2 {
  margin: 0;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.4;
}
.swiper-container.type_b .swiper-wrapper .swiper-slide .swiper-txtbox p {
  margin: 0 0 10px;
  font-size: 14px;
  font-weight: 400;
}
.swiper-container.type_b .swiper-pagination {
  bottom: 0;
}
.swiper-container.type_b .swiper-pagination .swiper-pagination-bullet {
  background: #fff;
  opacity: 1;
}
.swiper-container.type_b .swiper-pagination .swiper-pagination-bullet-active {
  opacity: 1;
  background: #2680EA;
}
.swiper-container.type_a::before {
  content: "";
  position: absolute;
  background: #fff;
  left: 0;
  height: 100%;
  top: 0;
  width: 160px;
  z-index: 5;
}
.swiper-container.type_a .swiper-wrapper {
  padding-left: 160px;
}
@media (max-width: 767px) {
  .swiper-container.type_a .swiper-wrapper {
    padding-left: 0;
  }
}
.swiper-container.type_a .swiper-wrapper .swiper-slide .swiper-imgbox {
  width: 100%;
  padding-bottom: 60%;
  position: relative;
  overflow: hidden;
  margin-bottom: 10px;
  border-radius: 8px;
  box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.16);
}
.swiper-container.type_a .swiper-wrapper .swiper-slide .swiper-imgbox img {
  border-radius: 16px;
  position: absolute;
  width: 100%;
  max-width: 600px;
  height: 100%;
  object-fit: cover;
  border-radius: 8px;
}
.swiper-container.type_a .swiper-wrapper .swiper-slide .swiper-txtbox h2 {
  margin: 0;
  margin-bottom: 11px;
  font-size: 20px;
  font-weight: 500;
}
.swiper-container.type_a .swiper-wrapper .swiper-slide .swiper-txtbox p {
  margin: 0;
  font-size: 14px;
  font-weight: 400;
}
.swiper-container.type_a .swiper-button-next {
  width: 36px;
  height: 36px;
  background: #202D60 url("../images/home/arrow_r.svg") no-repeat;
  background-size: 8px;
  background-position: center;
  right: auto;
  margin-top: 0;
  top: 0;
  left: 95px;
  z-index: 10;
  display: block;
}
.swiper-container.type_a .swiper-button-prev {
  width: 36px;
  height: 36px;
  background: #5B97DF url("../images/home/arrow_l.svg") no-repeat;
  background-size: 8px;
  background-position: center;
  margin-top: 0;
  top: 0;
  left: 60px;
  z-index: 10;
  display: block;
}

.swiper-btn-wrap {
  padding-top: 19.297%;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}
.swiper-btn-wrap .swiper-button-prev.typeb-arrow {
  width: 36px;
  height: 36px;
  background: #5B97DF url("../images/home/arrow_l.svg") no-repeat;
  background-size: 8px;
  background-position: left 15px center;
  top: 50%;
  transform: translateY(-50%);
  right: auto;
  left: -50px;
  margin-top: 0;
  z-index: 10;
  display: block;
}
.swiper-btn-wrap .swiper-button-next.typeb-arrow {
  width: 36px;
  height: 36px;
  background: #5B97DF url("../images/home/arrow_r.svg") no-repeat;
  background-size: 8px;
  background-position: right 16px center;
  top: 50%;
  transform: translateY(-50%);
  left: auto;
  right: -50px;
  margin-top: 0;
  z-index: 10;
  display: block;
}

@media screen and (max-width: 767px) {
  .newsArea {
    padding: 40px 0 50px;
  }
  .newsArea .tllbox .tllh2 {
    font-size: 20px;
    margin-bottom: 30px;
  }
  .swiper-container.type_a::before {
    display: none;
  }
  .swiper-container.type_a .swiper-wrapper .swiper-slide {
    padding-bottom: 0%;
  }
  .swiper-container.type_a .swiper-button-next, .swiper-container.type_a .swiper-button-prev {
    display: none;
  }
  .swiper-btn-wrap {
    display: none;
  }
}
/* ---------------------------------------------------------------- */
/* whoweareArea */
/* ---------------------------------------------------------------- */
.whoweareArea {
  background: #F8F8F8;
  padding: 125px 0 0;
}

#carouselArea #carouselSliderWrap {
  position: relative;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-flow: row nowrap;
  flex-flow: row nowrap;
  overflow: hidden;
  width: 100vw;
  left: 50%;
  margin-left: -50vw;
}

#carouselArea #carouselSliderWrap ul {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-flow: row nowrap;
  flex-flow: row nowrap;
  width: auto;
  margin: 0;
  padding: 0;
}
#carouselArea #carouselSliderWrap ul:first-child {
  -webkit-animation: loop 70s -35s linear infinite;
  animation: loop 70s -35s linear infinite;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  will-change: transform;
}
#carouselArea #carouselSliderWrap ul + ul {
  -webkit-animation: loop2 70s linear infinite;
  animation: loop2 70s linear infinite;
}
#carouselArea #carouselSliderWrap ul li {
  display: block;
  width: 200px;
  height: 300px;
  margin: 0;
  list-style: none;
  text-align: center;
  margin-right: 20px;
}
#carouselArea #carouselSliderWrap ul li img {
  display: block;
  width: 100%;
  height: auto;
}

@-webkit-keyframes loop {
  0% {
    -webkit-transform: translateX(100%);
    -ms-transform: translateX(100%);
    transform: translateX(100%);
  }
  100% {
    -webkit-transform: translateX(-100%);
    -ms-transform: translateX(-100%);
    transform: translateX(-100%);
  }
}
@keyframes loop {
  0% {
    -webkit-transform: translateX(100%);
    -ms-transform: translateX(100%);
    transform: translateX(100%);
  }
  100% {
    -webkit-transform: translateX(-100%);
    -ms-transform: translateX(-100%);
    transform: translateX(-100%);
  }
}
/* ---------------------------------------------------------------- */
/* serviceArea */
/* ---------------------------------------------------------------- */
.serviceArea {
  padding: 120px 0;
  background: #ECEDF5 url("../images/home/body_backgrand.png") no-repeat;
  background-size: 600px !important;
  background-attachment: fixed !important;
  background-position: center;
}
.serviceArea .tllbox {
  margin: 0 auto 60px;
  text-align: center;
}
.serviceArea .tllbox span {
  font-weight: 400;
  color: #3E3A39;
}
.serviceArea .tllbox .tllh2 {
  font-size: 24px;
  font-weight: bold;
  color: #202D60;
}
.serviceArea .service_inner {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 90px;
}
.serviceArea .service_inner:last-child {
  margin-bottom: 0;
}
.serviceArea .service_inner .servicecol {
  max-width: 594px;
  flex-basis: 594px;
  width: 100%;
  overflow: hidden;
  min-height: 280px;
  position: relative;
}
.serviceArea .service_inner .servicecol img {
  border-radius: 8px;
}
.serviceArea .service_inner .servicecol2 {
  max-width: calc(100% - 654px);
  flex-basis: calc(100% - 654px);
  border-bottom: #3E3A39 solid 1px;
  display: block;
  text-align: center;
  padding: 0 0 10px;
}
.serviceArea .service_inner .servicecol2 h3 {
  margin: 0;
  font-size: 16px;
  min-height: 60px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: bold;
  border: 1px solid #202D60;
  color: #202D60;
  padding: 10px;
  text-align: center;
  line-height: 1.23;
}
.serviceArea .service_inner .servicecol2 .service-logo {
  margin: 10px 0;
}
.serviceArea .service_inner .servicecol2 .service-logo.vps-logo {
  margin: 15px 0;
}
.serviceArea .service_inner .servicecol2 .service-logo.rentalserver-logo {
  margin: 30px 0 15px;
}
.serviceArea .service_inner .servicecol2 .service-logo.gpu-logo {
  margin: 30px 0 15px;
}
.serviceArea .service_inner .servicecol2 p {
  font-size: 14px;
  font-weight: 400;
}
.serviceArea .service_inner .servicecol2 a {
  background-color: #435586;
  color: #ffffff;
  font-size: 12px;
  width: 135px;
  min-height: 25px;
  padding: 5px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  text-decoration: none;
}
.serviceArea .service_inner .servicecol2 a span {
  padding-right: 15px;
  display: inline-block;
  background: url("../images/home/arrow_r.svg") no-repeat right center;
  background-size: 10px auto;
}

/* @media screen and (min-width: $lp_width_min) and (max-width: $lp_width_max) {
	.serviceArea{
		.service_inner{
			.servicecol{
				max-width: 48%;
				flex-basis: 48%;
			}
			.servicecol2{
				max-width: 48%;
				flex-basis: 48%;
			}
		}
	}
} */
@media screen and (max-width: 1024px) {
  .serviceArea {
    padding: 60px 0;
  }
  .serviceArea .tllbox {
    margin: 0 auto 60px;
  }
  .serviceArea .tllbox .tllh2 {
    font-size: 20px;
  }
  .serviceArea .service_inner {
    margin-bottom: 0;
  }
  .serviceArea .service_inner.mb90 {
    margin-bottom: 0 !important;
  }
  .serviceArea .service_inner:last-child .servicecol2 {
    border-bottom: #202D60 solid 1px;
  }
  .serviceArea .service_inner .servicecol {
    max-width: 100%;
    flex-basis: 100%;
    padding-top: 30px;
    border-top: #202D60 solid 1px;
    min-height: 1px;
  }
  .serviceArea .service_inner .servicecol.od1 {
    order: 1;
  }
  .serviceArea .service_inner .servicecol img {
    width: 100%;
  }
  .serviceArea .service_inner .servicecol2 {
    max-width: 100%;
    flex-basis: 100%;
    padding: 20px 0 30px;
    border-top: none;
    border-bottom: none;
  }
  .serviceArea .service_inner .servicecol2.od2 {
    order: 2;
  }
}
/* ---------------------------------------------------------------- */
/* aboutArea */
/* ---------------------------------------------------------------- */
.aboutArea {
  padding-top: 122px;
  background: url("../images/home/about.jpg") no-repeat;
  background-size: cover;
  background-position: center;
  height: 545px;
  position: relative;
}
.aboutArea::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: transparent linear-gradient(114deg, #5B98DF 0%, #202D60 100%) 0% 0% no-repeat padding-box;
  mix-blend-mode: multiply;
  opacity: 0.4;
  width: 100%;
  height: 100%;
}
.aboutArea .tllbox {
  position: relative;
  z-index: 2;
}
.aboutArea .tllbox .small-headline {
  color: #fff;
}
.aboutArea .tllbox span {
  font-size: 16px;
  font-weight: 400;
  color: #fff;
}
.aboutArea .tllbox .tllh2 {
  font-size: 32px;
  font-weight: bold;
  color: #fff;
  line-height: 1.8;
}
.aboutArea .about_swiper {
  margin-left: 130px;
  background: #fff;
  padding: 30px 0 50px;
  position: relative;
  z-index: 2;
  top: 5%;
  border-top-left-radius: 8px;
  border-bottom-left-radius: 8px;
}
.aboutArea .type_a .swiper-wrapper .swiper-slide a {
  width: 100%;
  height: 100%;
  color: #3E3A39;
  font-size: 18px;
  font-weight: 500;
  text-decoration: none;
}
.aboutArea .type_a .swiper-wrapper .swiper-slide a .swiper-txtbox h2 {
  font-size: 18px;
  font-weight: 500;
  margin-bottom: 0;
}

@media screen and (max-width: 767px) {
  .aboutArea {
    padding-top: 90px;
    height: 375px;
  }
  .aboutArea .tllbox .tllh2 {
    font-size: 20px;
    margin-bottom: 30px;
  }
  .aboutArea .about_swiper {
    margin-left: 15px;
    padding-top: 20px;
    padding-left: 20px;
    padding-bottom: 30px;
  }
}
/* ---------------------------------------------------------------- */
/* recruitArea */
/* ---------------------------------------------------------------- */
.recruitArea {
  padding: 312px 0 65px;
  background: #ECEDF5;
}
.recruitArea .column2Wrap {
  align-items: center;
}
.recruitArea .column2Wrap .columnBox span {
  font-size: 16px;
  font-weight: 400;
  color: #202D60;
}
.recruitArea .column2Wrap .columnBox h2 {
  font-size: 24px;
  color: #202D60;
  font-weight: bold;
}
.recruitArea .column2Wrap .columnBox.textBox {
  flex-basis: calc(100% - 220px);
  max-width: calc(100% - 220px);
  width: 100%;
}
.recruitArea .column2Wrap .columnBox.btnBox {
  flex-basis: 220px;
  max-width: 220px;
  width: 100%;
}
.recruitArea .column2Wrap .columnBox.btnBox .btn {
  justify-content: flex-start;
  padding-left: 30px;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .recruitArea {
    padding: 172px 0 65px;
  }
}
@media screen and (max-width: 767px) {
  .recruitArea {
    padding: 232px 0 80px;
  }
  .recruitArea .column2Wrap {
    display: block;
    margin-bottom: 0;
  }
  .recruitArea .column2Wrap .columnBox.textBox, .recruitArea .column2Wrap .columnBox.btnBox {
    flex-basis: 100%;
    max-width: 100%;
  }
  .recruitArea .column2Wrap .columnBox h2 {
    font-size: 18px;
  }
  .recruitArea .spbtncenter {
    margin: 0 auto;
    margin-right: auto !important;
  }
}

/* ---------------------------------------------------------------- */
/* faqArea */
/* ---------------------------------------------------------------- */
/* .faqArea{
	padding: 120px 0;
	.tllbox{
		span{
			font-size: 16px;
			font-weight: 400;
			color: $sub_color;
		}
	}
}
@media screen and (max-width: $sp_width) {
	.faqArea{
		.tllbox{
			.tllh2{
				margin: 22px auto 38px;
				font-size: 16px;
			}
			span{
				font-size: 34px;
			}
		}
	}
} */
/* ---------------------------------------------------------------- */
/* accordion */
/* ---------------------------------------------------------------- */
.accordion-container {
  margin: 40px auto;
  width: 100%;
  /* &:first-child{
  	.accordion-list{
  		.accordion-title {
  			span{
  				&::after{
  					display: none !important;
  				}
  			}
  			&.open{
  				span{
  					&::after{
  						display: block !important;
  					}
  				}
  			}
  		}
  	}
  } */
}
.accordion-container .accordion-list {
  background: #fff;
  margin-bottom: 30px;
  border-radius: 8px;
}
.accordion-container .accordion-list.first {
  margin-top: 10px;
}
.accordion-container .accordion-list:last-child {
  margin-bottom: 0;
}
.accordion-container .accordion-list .accordion-title {
  cursor: pointer;
  font-size: 16px;
  padding: 28px 70px 27px 90px;
  min-height: 80px;
  position: relative;
  font-weight: 500;
  color: #3E3A39;
}
.accordion-container .accordion-list .accordion-title.cursor-auto {
  cursor: auto;
}
.accordion-container .accordion-list .accordion-title span {
  position: absolute;
  float: right;
  height: 20px;
  width: 20px;
  top: 50%;
  transform: translateY(-50%);
  right: 40px;
}
.accordion-container .accordion-list .accordion-title span::before {
  position: absolute;
  content: "";
  height: 2px;
  width: 20px;
  top: 50%;
  background: #3E3A39;
  transition: all 0.3s ease-in-out;
}
.accordion-container .accordion-list .accordion-title span::after {
  position: absolute;
  content: "";
  height: 20px;
  width: 2px;
  top: 9%;
  right: 9px;
  background: #3E3A39;
  transition: all 0.3s ease-in-out;
}
.accordion-container .accordion-list .accordion-title::before {
  position: absolute;
  content: "Q.";
  font-size: 24px;
  font-weight: 500;
  color: #3E3A39;
  left: 50px;
  top: 19px;
}
.accordion-container .accordion-list .accordion-title.open::before {
  color: #999999;
}
.accordion-container .accordion-list .accordion-title.open span::after {
  display: none;
}
.accordion-container .accordion-list .accordion-text {
  display: none;
  padding: 18px 40px 30px 90px;
  position: relative;
  font-size: 16px;
  color: #3E3A39;
}
.accordion-container .accordion-list .accordion-text::before {
  position: absolute;
  content: "A.";
  font-size: 24px;
  font-weight: 400;
  color: #3E3A39;
  left: 50px;
  top: 10px;
}
.accordion-container .accordion-list .accordion-text:after {
  position: absolute;
  content: "";
  background: #EFEFEF;
  width: calc(100% - 90px);
  height: 1px;
  top: 0;
  left: 50px;
}
.accordion-container._newsList .accordion-list {
  background-color: #f6f6f6;
}
.accordion-container._newsList .accordion-list .accordion-title {
  padding: 28px 70px 27px 50px;
}
.accordion-container._newsList .accordion-list .accordion-title::before {
  display: none;
}
.accordion-container._newsList .accordion-list .accordion-text {
  padding: 18px 40px 30px 50px;
}
.accordion-container._newsList .accordion-list .accordion-text::before {
  display: none;
}

@media screen and (max-width: 767px) {
  .accordion-container .accordion-list .accordion-title {
    padding: 26px 40px 20px 60px;
  }
  .accordion-container .accordion-list .accordion-title span {
    right: 15px;
  }
  .accordion-container .accordion-list .accordion-title::before {
    left: 17px;
    top: 21px;
  }
  .accordion-container .accordion-list .accordion-text {
    padding: 10px 40px 30px 60px;
  }
  .accordion-container .accordion-list .accordion-text::before {
    left: 17px;
  }
}
/* ---------------------------------------------------------------- */
/* contactArea */
/* ---------------------------------------------------------------- */
.contactArea {
  background: #ECEDF5;
  position: relative;
  padding: 0 30px;
  margin-bottom: -60px;
}
.contactArea:before {
  content: "";
  display: block;
  width: 100%;
  height: 150px;
  background-color: #fff;
  position: absolute;
  top: 0;
  left: 0;
}
.contactArea .contactimgbox {
  height: 300px;
  position: relative;
  overflow: hidden;
}
.contactArea .contactimgbox img {
  max-width: none;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  object-fit: cover;
}
.contactArea .contact_inner {
  position: relative;
  top: 100%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  background: #fff;
  border-radius: 16px;
  width: 100%;
  max-width: 940px;
  height: 100%;
  padding: 40px 35px 40px 100px;
}
.contactArea .contact_inner .contactbox {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.contactArea .contact_inner .contactbox .contacttll {
  flex-basis: 50%;
  max-width: 50%;
  width: 100%;
  display: flex;
  align-items: center;
}
.contactArea .contact_inner .contactbox .contacttll:after {
  position: absolute;
  content: "";
  background: #3E3A39;
  width: 1px;
  height: 100%;
  right: -20px;
  top: 0;
}
.contactArea .contact_inner .contactbox .contacttll .jp {
  font-size: 18px;
  font-weight: 400;
}
.contactArea .contact_inner .contactbox .contacttll .en {
  font-size: 12px;
  font-weight: 400;
}
.contactArea .contact_inner .contactbox .contact_cc {
  flex-basis: 50%;
  max-width: 50%;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  /* .contact_tel{
  	background: url("../images/home/tel.svg")no-repeat;
  	background-size: 24px;
  	background-position: top 10px center;
  	border-right: $sub_color solid 1px;
  	padding: 40px 40px 30px;
  	.tel-number{
  		font-size: 24px;
  		font-weight: bold;
  		text-decoration: none;
  		color: $sub_color;
  	}
  	p{
  		font-size: 14px;
  		font-weight: 400;
  		margin: 0;
  		text-align: center;
  	}
  } */
}
.contactArea .contact_inner .contactbox .contact_cc .contact_bb {
  background: url("../images/home/mail.svg") no-repeat;
  background-size: 24px;
  background-position: top 10px center;
  padding: 40px 40px 30px;
}
.contactArea .contact_inner .contactbox .contact_cc .contact_bb .contactbtn {
  background: transparent linear-gradient(109deg, #5B98DF 0%, #202D60 100%) 0% 0% no-repeat padding-box;
  font-size: 14px;
  color: #fff;
  text-decoration: none;
  width: 222px;
  height: 50px;
  font-weight: bold;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 0 15px;
  border-radius: 25px;
}
.contactArea .contact_inner .contactbox .contact_cc .contact_bb .contactbtn:hover {
  background: transparent linear-gradient(-109deg, #5B98DF 0%, #202D60 100%) 0% 0% no-repeat padding-box;
}

@media screen and (max-width: 767px) {
  .contactArea {
    padding: 0;
    margin-bottom: -110px;
  }
  .contactArea .contact_inner {
    max-width: 345px;
    height: 350px;
    padding: 42px 20px 49px 20px;
    top: 160%;
  }
  .contactArea .contact_inner .contactbox {
    display: block;
    text-align: center;
  }
  .contactArea .contact_inner .contactbox .contacttll {
    max-width: 100%;
    flex-basis: 100%;
    margin: 0 auto 30px;
    justify-content: center;
    text-align: center;
  }
  .contactArea .contact_inner .contactbox .contacttll:after {
    display: none;
  }
  .contactArea .contact_inner .contactbox .contact_cc {
    max-width: 100%;
    flex-basis: 100%;
    flex-direction: column;
  }
  .contactArea .contact_inner .contactbox .contact_cc .contact_tel {
    border-right: none;
    border-bottom: #202D60 solid 1px;
    margin: 0 auto;
  }
  .contactArea .contact_inner .contactbox .contact_cc .contact_bb {
    margin: 0 auto;
  }
}
/* ページ内リンクずれ対策 */
.pagelink-point {
  margin-top: -80px;
  padding-top: 80px;
}
@media screen and (max-width: 767px) {
  .pagelink-point {
    margin-top: -60px;
    padding-top: 60px;
  }
}

.pagelink-point2 {
  scroll-margin-top: 80px;
}
@media screen and (max-width: 767px) {
  .pagelink-point2 {
    scroll-margin-top: 60px;
  }
}

.pagelink-point3 {
  margin-top: -110px;
  padding-top: 140px;
}
@media screen and (max-width: 767px) {
  .pagelink-point3 {
    margin-top: -90px;
    padding-top: 120px;
  }
}

/* ---------------------------- */
/* ページヘッダー */
/* ---------------------------- */
#mainCnt {
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  #mainCnt {
    margin-top: 0;
  }
}

#cnts {
  margin-top: 140px;
  padding-bottom: 90px;
}
@media screen and (max-width: 767px) {
  #cnts {
    margin-top: 60px;
  }
}
#cnts .pageTitlebox {
  background: #ECEDF5;
  padding-bottom: 40px;
}
#cnts .pageTitlebox .pageTitleboxinr {
  height: 250px;
  position: relative;
  margin: 0 30px 0;
}
#cnts .pageTitlebox .pageTitleimgbox {
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  position: relative;
  overflow: hidden;
  height: 250px;
  border-radius: 16px;
}
#cnts .pageTitlebox .pageTitleimgbox img {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 16px;
}
#cnts .pageTitlebox .pageTitletxtbox {
  position: absolute;
  bottom: 60px;
  width: 100%;
  display: block;
}
#cnts .pageTitlebox .pageTitletxtbox .jp {
  font-size: 40px;
  font-weight: bold;
  color: #fff;
  margin: 0;
}

/* ---------------------------------------------------------------- */
/* パンくず */
/* ---------------------------------------------------------------- */
.breadcrumbs-wrap {
  background: #ECEDF5;
}
.breadcrumbs-wrap .pcm-breadcrumbs__list {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin: 0 auto;
  min-height: 40px;
  font-size: 12px;
  line-height: 1.4em;
  list-style: none;
  padding-left: 0 !important;
}
.breadcrumbs-wrap .pcm-breadcrumbs__item {
  margin: 0 !important;
}
.breadcrumbs-wrap .pcm-breadcrumbs__item::marker {
  display: none !important;
}
.breadcrumbs-wrap .pcm-breadcrumbs__item:not(:last-child)::after {
  content: ">";
  padding: 0 6px;
}
.breadcrumbs-wrap .pcm-breadcrumbs__link {
  color: #3E3A39 !important;
  text-decoration: none !important;
}
.breadcrumbs-wrap .pcm-breadcrumbs__link a:hover {
  color: #202D60 !important;
  text-decoration: underline !important;
}

/* ---------------------------------------------------------------- */
/* 詳細ページ */
/* ---------------------------------------------------------------- */
.postPage #postCnt {
  margin: 0;
  min-height: 300px;
}
.postPage #postCnt h1, .postPage #postCnt h2, .postPage #postCnt h3, .postPage #postCnt h4, .postPage #postCnt h5, .postPage #postCnt h6 {
  line-height: 1.2;
}
.postPage #postCnt .titleh2 {
  font-size: 28px;
  font-weight: 700;
  color: #202D60;
  margin: 0 0 30px;
}
.postPage #postCnt .titleh2._center {
  text-align: center;
}
.postPage #postCnt .titleh3 {
  font-size: 26px;
  font-weight: 700;
  color: #3E3A39;
  margin: 0 0 30px;
  padding-bottom: 10px;
  border-bottom: 1px solid #3E3A39;
}
.postPage #postCnt .titleh3._center {
  text-align: center;
}
.postPage #postCnt .titleh4 {
  font-size: 24px;
  font-weight: 700;
  padding-left: 20px;
  margin: 0 0 30px;
  position: relative;
}
.postPage #postCnt .titleh4:before {
  content: "";
  width: 8px;
  height: 22px;
  background: #5B97DF;
  position: absolute;
  top: 5px;
  left: 0;
  display: flex;
  align-items: center;
}
.postPage #postCnt .titleh5 {
  font-size: 20px;
  font-weight: 700;
  padding-left: 20px;
  margin: 0 0 30px;
  position: relative;
}
.postPage #postCnt .titleh5::before {
  position: absolute;
  content: "";
  width: 15px;
  height: 15px;
  background: #202D60;
  display: block;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
.postPage #postCnt .titleh6 {
  font-size: 18px;
  font-weight: 700;
  background: #F8F8F8;
  padding: 5px 15px;
  margin: 0 0 30px;
}
.postPage #postCnt h1, .postPage #postCnt h2, .postPage #postCnt h3, .postPage #postCnt h4, .postPage #postCnt h5, .postPage #postCnt h6 {
  line-height: 1.2;
}
.postPage #postCnt .box:nth-of-type(n + 2) {
  margin-top: 180px;
}
.postPage #postCnt .bdrs8 {
  border-radius: 8px;
}
.postPage #postCnt .shadow {
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
}
.postPage #postCnt p {
  margin: 0 0 20px;
  text-align: justify;
  text-align: inter-ideograph;
}
.postPage #postCnt p img {
  max-width: 100%;
  margin-bottom: 0;
}
.postPage #postCnt p.tableAtt {
  margin: -20px 0 20px;
}
.postPage #postCnt .bold {
  font-weight: bold;
}
.postPage #postCnt .coming {
  text-align: center;
  margin: 50px 0;
  font-size: 16px;
}
.postPage #postCnt .small {
  font-size: 14px;
}
.postPage #postCnt .linkWrap {
  display: flex;
  flex-wrap: wrap;
  margin: 15px 0 0;
  align-items: flex-start;
}
.postPage #postCnt .imgWrap + .imgWrap {
  margin-top: 20px;
}
.postPage #postCnt .attText {
  color: #d52020;
}
.postPage #postCnt .textLeft {
  text-align: left;
}
.postPage #postCnt .textCenter {
  text-align: center;
}
.postPage #postCnt .textRight {
  text-align: right;
}
.postPage #postCnt .marker {
  background-color: #FFFF00;
}
.postPage #postCnt .line-through {
  text-decoration: line-through;
}
.postPage #postCnt .underline {
  text-decoration: underline;
}
.postPage #postCnt .quotation {
  color: #909090;
  font-size: 14px;
}
.postPage #postCnt .bgTextWrap {
  padding: 20px 15px;
}
.postPage #postCnt .bgTextWrap.gray {
  background-color: #F8F8F8;
}
.postPage #postCnt .bgTextWrap.bdr {
  border-radius: 10px;
  border: 1px solid #202D60;
}
.postPage #postCnt .bgTextWrap p:last-child {
  margin-bottom: 0;
}
.postPage #postCnt code {
  font-family: "Noto Sans JP", sans-serif;
}
.postPage #postCnt pre {
  overflow: auto;
  background: #efefef;
  padding: 15px;
  border-radius: 8px;
  font-family: "Noto Sans JP", sans-serif;
}
.postPage #postCnt a {
  position: relative;
  color: #4bc0ff;
}
.postPage #postCnt a:hover, .postPage #postCnt a:focus {
  text-decoration: none;
  color: #5B97DF;
}
.postPage #postCnt a.textBlank {
  position: relative;
  margin-right: 30px;
  display: inline-block;
}
.postPage #postCnt a.textBlank:before {
  content: "\f08e";
  position: absolute;
  display: block;
  font: 14px/1 FontAwesome;
  right: -25px;
  top: 5px;
}
.postPage #postCnt a.textArrow {
  text-decoration: none;
  color: #202D60;
}
.postPage #postCnt a.textArrow:hover {
  color: #202D60;
  text-decoration: underline;
}
.postPage #postCnt a.textArrow:after {
  display: inline-block;
  content: "\f0a9";
  font: 16px/1 FontAwesome;
  margin-left: 10px;
  text-decoration: none;
}
.postPage #postCnt a.textArrowR {
  text-decoration: none;
  color: #202D60;
}
.postPage #postCnt a.textArrowR:hover, .postPage #postCnt a.textArrowR:focus {
  color: #202D60;
  text-decoration: underline;
}
.postPage #postCnt a.textArrowR:after {
  display: inline-block;
  content: "\f0a9";
  font: 16px/1 FontAwesome;
  margin-left: 10px;
  text-decoration: none;
}
.postPage #postCnt a.btn {
  color: #202D60;
}
.postPage #postCnt a.btn:hover, .postPage #postCnt a.btn:focus {
  color: #fff;
}
.postPage #postCnt .bg-wide {
  background-color: #f8f8f8;
  width: 100vw;
  margin: 0 calc(50% - 50vw);
  padding: 90px calc(50vw - 50% + 0px);
}
.postPage #postCnt .bg-wide.color2 {
  background-color: #ECEDF5;
}
.postPage #postCnt table {
  margin: 0 0 30px;
  width: 100%;
  border-collapse: collapse;
}
.postPage #postCnt table caption {
  font-size: 18px;
  font-weight: bold;
  text-align: left;
  margin: 0;
}
.postPage #postCnt table tr {
  border-bottom: #BFBFBF solid 1px;
}
.postPage #postCnt table tr th, .postPage #postCnt table tr td {
  padding: 0.6em 0.8em;
  width: auto;
  line-height: 1.4;
  font-weight: 500;
}
.postPage #postCnt table tr th {
  font-weight: bold;
  vertical-align: top;
  min-width: 190px;
  text-align: center;
  width: auto;
  color: #3E3A39;
}
.postPage #postCnt table tr th.w200 {
  width: 200px;
}
.postPage #postCnt table tr th.thLeft {
  text-align: left;
}
.postPage #postCnt table tr td {
  border-left: none;
}
.postPage #postCnt table tr .tw15p {
  width: 15%;
}
.postPage #postCnt table tr .tw30p {
  width: 30%;
}
.postPage #postCnt table tr .tw33p {
  width: 33.333%;
  min-width: inherit;
}
.postPage #postCnt table tr .tw50p {
  width: 50%;
  min-width: inherit;
}
.postPage #postCnt table tr .tw70p {
  width: 70%;
}
.postPage #postCnt table tr .tw200 {
  width: 200px;
}
.postPage #postCnt table tr .tw210 {
  width: 210px;
}
.postPage #postCnt table tr .tw100 {
  width: 210px;
}
.postPage #postCnt table.type2 {
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
  overflow: hidden;
}
.postPage #postCnt table.type2 tbody {
  border: 1px solid #666;
}
.postPage #postCnt table.type2 tr {
  border-bottom: 1px solid #666;
}
.postPage #postCnt table.type2 tr:nth-child(odd) {
  background-color: inherit;
}
.postPage #postCnt table.type2 tr th, .postPage #postCnt table.type2 tr td {
  border-collapse: collapse;
}
.postPage #postCnt table.type2 tr th {
  background: #666;
  text-align: center;
  vertical-align: middle;
  color: #ffffff;
}
.postPage #postCnt table.type2 tr th + th {
  border-left: 1px solid #fff;
}
.postPage #postCnt table.type2 tr td + td {
  border-left: 1px solid #666;
}
.postPage #postCnt table.type2 tr td:nth-of-type(1) {
  border-left: none;
}
.postPage #postCnt .tableSc {
  overflow: inherit;
  white-space: normal;
  width: 100%;
}
.postPage #postCnt .tableSc table {
  width: 100%;
}
.postPage #postCnt .tableSc table tr {
  border-bottom: 1px solid #202D60;
}
.postPage #postCnt .tableSc table tr:nth-of-type(odd) {
  background: none;
}
.postPage #postCnt .tableSc table tr th, .postPage #postCnt .tableSc table tr td {
  display: table-cell;
  border-collapse: collapse;
  width: inherit;
}
.postPage #postCnt .tableSc table tr th {
  background: #202D60;
  text-align: center;
  vertical-align: middle;
  min-width: inherit;
}
.postPage #postCnt .tableSc table tr th + th {
  border-left: 1px solid #3E3A39;
}
.postPage #postCnt .tableSc table tr td + td {
  border-left: 1px solid #3E3A39;
}
.postPage #postCnt .tableSc table tr td:nth-of-type(1) {
  border-left: none;
}
.postPage #postCnt blockquote {
  background: #ccc;
  width: 100%;
  border-radius: 8px;
  padding: 30px;
  margin: 0 0 60px;
  position: relative;
}
.postPage #postCnt blockquote:before {
  content: "\f10d";
  position: absolute;
  display: block;
  font: 20px/1 FontAwesome;
  color: #202D60;
  left: 10px;
  top: 10px;
}
.postPage #postCnt blockquote:after {
  content: "\f10e";
  position: absolute;
  display: block;
  font: 20px/1 FontAwesome;
  color: #202D60;
  right: 10px;
}
.postPage #postCnt blockquote p {
  margin: 0 0 15px;
}
.postPage #postCnt blockquote p:last-child {
  margin-bottom: 0;
}
.postPage #postCnt dl {
  margin: 0 0 30px;
}
.postPage #postCnt dl dt {
  font-weight: bold;
}
.postPage #postCnt dl dd {
  margin: 0;
  margin-bottom: 15px;
}
.postPage #postCnt ul {
  margin: 0 0 20px 5px;
  padding: 0;
}
.postPage #postCnt ul li {
  list-style: none;
  position: relative;
  padding: 0;
  line-height: 1.1;
  margin-bottom: 15px;
}
.postPage #postCnt ul li ul {
  padding: 0 0 10px;
  margin: 10px 0 0 1em;
}
.postPage #postCnt ul li ul li::marker {
  color: #202D60;
}
.postPage #postCnt ul.iconList li {
  padding: 0 0 0 15px;
}
.postPage #postCnt ul.iconList li:before {
  position: absolute;
  left: 0;
  top: 6px;
  content: "";
  width: 5px;
  height: 5px;
  background: #666;
  border-radius: 5px;
}
.postPage #postCnt ul.checkList li {
  padding: 0 0 0 40px;
  list-style-type: none;
  position: relative;
  font-size: 16px;
}
.postPage #postCnt ul.checkList li:before {
  content: "";
  background: url("../images/home/check.svg") no-repeat left center;
  background-size: 24px auto;
  width: 24px;
  height: 22px;
  position: absolute;
  top: 6px;
  left: 0;
}
.postPage #postCnt ul.checkList li + li {
  margin-top: 20px;
}
.postPage #postCnt ul.checkList li span {
  font-weight: 700;
}
.postPage #postCnt ul.checkList li h3 {
  font-size: 20px !important;
  font-weight: 500 !important;
  margin: 0;
}
.postPage #postCnt ol {
  margin: 0 0 20px;
  padding: 0 0 0 30px;
  counter-reset: number;
}
.postPage #postCnt ol li {
  margin: 0;
  padding: 0;
  line-height: 1.1;
  margin-bottom: 15px;
}
.postPage #postCnt ol li:before {
  counter-increment: number;
  content: counter(number, decimal-leading-zero) ".";
  color: #666;
  position: absolute;
  top: 0;
  left: 0;
}
.postPage #postCnt ol li:last-child {
  margin: 0 0 10px;
}
.postPage #postCnt ol li ol {
  margin: 10px 0;
  padding: 0 0 0 1em;
}
.postPage #postCnt ol li .iconList {
  margin-top: 10px;
}
.postPage #postCnt address {
  font-style: normal;
}
.postPage #postCnt hr.red {
  border-bottom: 1px solid #C65871 !important;
  margin-bottom: 50px;
}
.postPage #postCnt .profile_text dl {
  display: flex;
  margin: 0 !important;
}
.postPage #postCnt .profile_text dl dt {
  flex-basis: 110px;
  width: 110px;
  font-weight: 500;
}
.postPage #postCnt .profile_text dl dd {
  flex-basis: calc(100% - 110px);
  max-width: calc(100% - 110px);
  width: 100%;
  margin: 0 !important;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .postPage #postCnt .box:nth-of-type(n + 2) {
    margin-top: 120px;
  }
}
@media screen and (max-width: 767px) {
  .postPage #postCnt .scroll-wrap img {
    width: 750px;
    max-width: none;
  }
  .postPage #postCnt .box:nth-of-type(n + 2) {
    margin-top: 120px;
  }
  .postPage #postCnt .bg-wide {
    padding: 60px calc(50vw - 50% + 0px);
  }
  .postPage #postCnt table tr {
    border-bottom: 0px;
  }
  .postPage #postCnt table tr th, .postPage #postCnt table tr td {
    display: block;
    width: 100%;
  }
  .postPage #postCnt table tr th + td, .postPage #postCnt table tr td + td {
    border-left: 0;
  }
  .postPage #postCnt table tr th {
    min-width: 1px;
    color: #fff;
    text-align: left;
    background-color: #2F3546;
  }
  .postPage #postCnt table tr th.w200 {
    width: 100%;
  }
  .postPage #postCnt table tr .tw15p {
    width: 100%;
  }
  .postPage #postCnt table tr .tw30p {
    width: 100%;
  }
  .postPage #postCnt table tr .tw33p {
    width: 100%;
  }
  .postPage #postCnt table tr .tw50p {
    width: 100%;
  }
  .postPage #postCnt table tr .tw70p {
    width: 100%;
  }
  .postPage #postCnt table tr .tw200 {
    width: 100%;
  }
  .postPage #postCnt table tr .tw210 {
    width: 100%;
  }
  .postPage #postCnt table.type2 tr th, .postPage #postCnt table.type2 tr td {
    display: table-cell;
    width: auto;
  }
  .postPage #postCnt table.type2 tr th {
    min-width: 1px;
  }
  .postPage #postCnt .tableSc {
    overflow: auto;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
  }
  .postPage #postCnt .profile_text dl {
    padding: 10px 0;
    border-bottom: 1px solid #BFBFBF;
  }
}

.page-link-style .link-container {
  display: flex;
  margin: 0 auto;
  border-radius: 16px;
  filter: drop-shadow(0 3px 6px rgba(0, 0, 0, 0.16));
  overflow: hidden;
  list-style: none;
  padding: 0;
}
.page-link-style .link-item {
  flex: 1;
  position: relative;
  text-align: center;
  margin-bottom: 0 !important;
  background: #fff;
}
.page-link-style .link-item:not(:last-child)::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: 60%;
  background-color: #BFBFBF;
}
.page-link-style .link-button {
  width: 100%;
  padding: 30px 20px 70px;
  background: none;
  border: none;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 20px;
  font-size: 16px;
  color: #202D60;
  font-weight: 500;
  text-decoration: none;
  background: url("../images/home/yajirushi.png") no-repeat bottom 30px center;
  background-size: 18px;
  transition: background-color 0.2s ease;
  min-height: 120px;
}
.page-link-style .link-button:hover {
  background-color: #f8f9fb;
  color: #202D60;
}
.page-link-style .link-text {
  display: block;
  text-align: center;
  color: #202D60;
}
@media screen and (max-width: 767px) {
  .page-link-style .link-container {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(2, 1fr);
    gap: 1px;
    border-radius: 16px;
  }
  .page-link-style .link-item {
    border-radius: 0;
    margin-bottom: 10px !important;
  }
  .page-link-style .link-item:first-child {
    border-top-left-radius: 16px;
    border-bottom-left-radius: 16px;
  }
  .page-link-style .link-item:nth-child(3) {
    border-top-right-radius: 16px;
    border-bottom-right-radius: 16px;
  }
  .page-link-style .link-item:nth-child(4) {
    border-top-left-radius: 16px;
    border-bottom-left-radius: 16px;
  }
  .page-link-style .link-item:last-child {
    border-top-right-radius: 16px;
    border-bottom-right-radius: 16px;
  }
  .page-link-style .link-item:not(:last-child)::after {
    display: none;
  }
}

/* ----------------------------------- */
/* お知らせ一覧
/* ----------------------------------- */
#newsPage ._newsList img {
  max-width: 720px !important;
  width: 100%;
}

/* ----------------------------------- */
/* 会社概要
/* ----------------------------------- */
#companyPage .page-link-style {
  background: #ECEDF5;
  width: 100vw;
  margin: 0 calc(50% - 50vw);
  padding: 0 calc(50vw - 50% + 0px) 60px;
}
#companyPage .bg-wide {
  background: #ECEDF5;
  width: 100vw;
  margin: 90px calc(50% - 50vw) 0 !important;
  padding: 90px calc(50vw - 50% + 0px);
}
#companyPage .bg-wide.bg-logo {
  background: #ECEDF5 url("../images/home/body_backgrand.png") no-repeat;
  background-size: 600px !important;
  background-attachment: fixed !important;
  background-position: center;
}
#companyPage .adviser-wrap .bg-wide {
  margin-top: 0 !important;
  background: #F8F8F8;
}
#companyPage .philosophy-wrap {
  margin-top: 60px !important;
}
#companyPage .company-wrap {
  margin-top: 90px !important;
}
@media screen and (max-width: 767px) {
  #companyPage .bg-wide {
    margin: 60px calc(50% - 50vw) 0 !important;
    padding: 60px calc(50vw - 50% + 0px);
  }
  #companyPage .adviser-wrap {
    margin-top: 60px;
  }
  #companyPage .company-wrap {
    margin-top: 60px !important;
  }
  #companyPage #shareholder-info {
    margin-top: 60px;
  }
}

/* 会社概要　株主紹介の上 */
.shareholder-wrap {
  margin-top: 90px !important;
}
@media screen and (max-width: 767px) {
  .shareholder-wrap .shareholder-wrap {
    margin-top: 60px !important;
  }
}

/* ----------------------------------- */
/* 採用情報
/* ----------------------------------- */
#recruitmentPage .prologue-wrap {
  background: #ECEDF5;
  width: 100vw;
  margin: 0 calc(50% - 50vw);
  padding: 0 calc(50vw - 50% + 0px) 60px;
  text-align: center;
}
#recruitmentPage .prologue-wrap h2 {
  margin-top: 0;
  color: #202D60;
}
#recruitmentPage .prologue-wrap p {
  text-align: center !important;
}
#recruitmentPage .faq-wrap {
  margin-top: 0 !important;
}
#recruitmentPage .bg-wide {
  background: #ECEDF5;
  width: 100vw;
  margin: 90px calc(50% - 50vw) 0;
  padding: 90px calc(50vw - 50% + 0px);
}
#recruitmentPage .bg-wide.bg-logo {
  background: #ECEDF5 url("../images/home/body_backgrand.png") no-repeat;
  background-size: 600px !important;
  background-attachment: fixed !important;
  background-position: center;
}
#recruitmentPage .bg-wide.color2 {
  margin-top: 90px !important;
}
#recruitmentPage .form-wrap {
  margin-top: 90px !important;
}
#recruitmentPage .recruitment-details {
  margin-top: 90px !important;
}
@media screen and (max-width: 767px) {
  #recruitmentPage .faq-wrap {
    margin-top: 0;
  }
  #recruitmentPage .form-wrap {
    margin-top: 60px !important;
  }
  #recruitmentPage .recruitment-details {
    margin-top: 60px !important;
  }
  #recruitmentPage .bg-wide {
    margin: 60px calc(50% - 50vw) 0;
    padding: 60px calc(50vw - 50% + 0px);
  }
  #recruitmentPage .bg-wide.color2 {
    margin-top: 60px !important;
  }
}

/* ----------------------------------- */
/* プライバシーポリシー
/* ----------------------------------- */
#privacypolicyPage .box:nth-of-type(n + 2) {
  margin-top: 60px;
}

/* ---------------------------------------------------------------- */
/* フォーム設定 */
/* ---------------------------------------------------------------- */
/* フォームナビ */
/* ---------------------------- */
ul.formFlow {
  display: flex;
  height: 40px;
  align-items: center;
  justify-content: center;
  margin: 60px 0 30px;
  padding: 0;
}
ul.formFlow li {
  display: inline-flex;
  justify-content: center;
  flex: 1 0 33.333%;
  background: #ECEDF5;
  color: #3E3A39;
  list-style: none;
  padding: 0;
  margin: 0 !important;
  height: 100%;
  font-size: 16px;
  font-weight: bold;
  align-items: center;
  position: relative;
}
ul.formFlow li:before {
  display: none;
}
ul.formFlow li.visited {
  background: #ECEDF5;
  color: #3E3A39;
}
ul.formFlow li.active {
  background: #202D60;
  color: #fff;
  position: relative;
}
ul.formFlow li.active:after {
  position: absolute;
  content: "";
  right: -40px;
  top: 0;
  z-index: 1;
  width: 0;
  height: 0;
  border: 20px solid transparent;
  border-left: 20px solid #202D60;
}
ul.formFlow li.second.active:before {
  display: block;
  position: absolute;
  content: "";
  left: 0;
  top: 0;
  z-index: 3;
  width: 0;
  height: 0;
  border: 20px solid transparent;
  border-left: 20px solid #ECEDF5;
}
ul.formFlow li.third.active {
  background: #202D60 !important;
  color: #fff;
}
ul.formFlow li.third.active:after {
  display: none;
}
ul.formFlow li.third.active:before {
  background: none;
  display: inline;
  position: absolute;
  content: "";
  left: 0;
  top: 0;
  z-index: 2;
  width: 0;
  height: 0;
  border-radius: 0;
  border: 20px solid transparent;
  border-left: 20px solid #ECEDF5;
}

/* ---------------------------- */
/* フォームエレメント */
/* ---------------------------- */
#formArea .privacypolicy {
  margin: 40px 0;
}
#formArea .privacypolicy a {
  text-decoration: underline !important;
}
#formArea dl {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-top: 5px;
  margin-bottom: 5px;
}
#formArea dl dt, #formArea dl dd {
  min-height: 60px;
}
#formArea dl dt {
  flex-basis: 30%;
  max-width: 30%;
  width: 100%;
  padding: 0 !important;
  margin: 0 5px 0 0 !important;
}
#formArea dl dd {
  flex-basis: calc(100% - 5px - 30%);
  max-width: calc(100% - 5px - 30%);
  width: 100%;
  padding: 0 !important;
  margin: 0 !important;
}
#formArea dl dd.fb100 {
  flex-basis: 100%;
}
#formArea label {
  color: #3E3A39;
  background-color: #ECEDF5;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
}
#formArea select {
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  appearance: none;
}
#formArea input[type=text],
#formArea input[type=tel],
#formArea input[type=email],
#formArea select,
#formArea textarea {
  width: 100%;
  min-height: 60px;
  display: block;
  color: #3E3A39;
  background-color: #fff;
  border: 1px solid #3E3A39 !important;
  border-radius: 0;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 10px 15px;
}
#formArea textarea {
  height: 150px;
  resize: vertical;
}
#formArea .att {
  color: crimson;
  font-size: 12px;
  font-weight: 700;
}
#formArea .error {
  margin: 0;
}
#formArea .radio_wrap {
  margin-top: 10px;
}
#formArea .vertical-item {
  display: block !important;
}
#formArea input[type=number].short {
  width: 60px;
}
#formArea input[type=text],
#formArea input[type=email] {
  width: 100%;
}
#formArea input[type=text] .short,
#formArea input[type=email] .short {
  max-width: 150px;
}
#formArea select option {
  word-wrap: normal;
}
#formArea input[type=text].short {
  width: 200px;
  text-align: left;
  margin-bottom: 0;
}
#formArea input[type=text].hasDatepicker {
  margin: 5px 0;
  background: #EEEEEE;
}
#formArea input[type=text].hasDatepicker:hover, #formArea input[type=text].hasDatepicker:focus {
  background: #fff;
}
#formArea input[type=checkbox] {
  border: 1px solid #aaaaaa;
  vertical-align: -8px;
  -webkit-appearance: none;
  position: relative;
  margin-right: 5px;
  -webkit-border-radius: 3px;
  border-radius: 3px;
  -webkit-box-sizing: border-box;
  width: 26px;
  height: 26px;
  /*Other Browser*/
  background: #e2e2e2;
  /*For Old WebKit*/
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #ffffff), color-stop(1, #e2e2e2));
  /*For Modern Browser*/
  background: linear-gradient(to bottom, #ffffff 0%, #e2e2e2 100%);
}
#formArea input[type=checkbox]:checked {
  /*Other Browser*/
  background: #202D60;
  /*For Old WebKit*/
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #202D60), color-stop(1, #202D60));
  /*For Modern Browser*/
  background: linear-gradient(to bottom, #202D60 0%, #202D60 100%);
  border: 1px solid #202D60;
}
#formArea input[type=checkbox]:checked:before {
  position: absolute;
  left: 1px;
  top: 16px;
  display: block;
  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.5);
  content: "";
  width: 10px;
  height: 4px;
  background: #ffffff;
  -webkit-transform: rotate(45deg);
  -webkit-transform-origin: right center;
}
#formArea input[type=checkbox]:checked:after {
  display: block;
  position: absolute;
  left: 9px;
  top: 16px;
  content: "";
  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.5);
  width: 16px;
  height: 4px;
  background: #ffffff;
  -webkit-transform: rotate(-53deg);
  -webkit-transform-origin: left center;
}
#formArea input[type=file] {
  margin-bottom: 10px;
}
#formArea .inline_wrap select {
  display: inline-block;
}
#formArea .btnArea .submitArea {
  max-width: 200px;
  margin: 0 auto 30px;
}
#formArea .btnArea .submit {
  max-width: 200px;
  width: 100%;
}
#formArea .btnArea .submit:hover, #formArea .btnArea .submit:focus {
  color: #fff;
  background: #202D60;
  transition: 0.3s;
  cursor: pointer;
  border-color: #202D60;
}
@media screen and (max-width: 767px) {
  #formArea dl {
    display: block;
    flex-wrap: wrap;
    margin-top: 15px;
  }
  #formArea dl dt, #formArea dl dd {
    flex-basis: 100%;
    max-width: 100%;
    width: 100%;
    min-height: 35px;
  }
  #formArea dl dt {
    min-height: 35px;
    margin: 15px 0 0;
  }
  #formArea dl dd {
    flex-basis: 100%;
    align-self: center;
    min-height: 60px;
  }
  #formArea input[type=text],
  #formArea input[type=tel],
  #formArea input[type=email],
  #formArea select,
  #formArea textarea {
    min-height: 60px;
  }
  #formArea label {
    min-height: 35px;
  }
}

.effectFade.effectFadeUp {
  opacity: 0;
  transform: translateY(50px);
  transition: all 1.2s ease;
}
.effectFade.effectFirst {
  opacity: 0;
  transition: opacity 2s linear, transform 5s linear;
}
.effectFade.effectFadeDown {
  opacity: 0;
  transform: translateY(-50px);
  transition: all 1.2s ease;
  transition: opacity 2s linear, transform 5s linear;
}
.effectFade.effectActive {
  opacity: 1;
  transform: translate(0, 0);
}
.effectFade.td1 {
  transition-delay: 0.1s;
}
.effectFade.td2 {
  transition-delay: 0.2s;
}
.effectFade.td3 {
  transition-delay: 0.3s;
}
.effectFade.td4 {
  transition-delay: 0.4s;
}
.effectFade.effectShow {
  opacity: 1;
  transition-delay: 0s;
  transition: 0.3s ease-in;
}

/* for IE *//*# sourceMappingURL=style.css.map */