@charset "UTF-8";

/******** FONT **********/

@font-face {
  font-family: 'hiraginomincho';
  src: url('../fonts/hiraginomincho.otf') format('opentype');}

@font-face {
  font-family: 'meiryo';
  src: url('../fonts/meiryo.ttf') format('truetype');}

@font-face {
  font-family: 'meiryobold';
  src: url('../fonts/meiryob.ttf') format('truetype');}

@font-face {
  font-family: 'NotoSans';
  src: url('../fonts/NotoSansCJKjp-Regular.otf') format('opentype');}

@font-face {
  font-family: 'NotoSansbold';
  src: url('../fonts/NotoSansCJKjp-Bold.otf') format('opentype');}

@font-face {
  font-family: 'NotoSerifJP';
  src: url('../fonts/NotoSerifJP-Regular.otf') format('opentype');}

@font-face {
  font-family: 'NotoSerifJP-Bold';
  src: url('../fonts/NotoSerifJP-Bold.otf') format('opentype');}

@font-face {
  font-family: 'TIMES';
  src: url('../fonts/TIMES.TTF') format('truetype');}

@font-face {
  font-family: 'TIMESI';
  src: url('../fonts/TIMESI.TTF') format('truetype');}





/* all */
body {
	font-family: 'NotoSans';
	}

a:hover {
	opacity:0.5;}

* {box-sizing:border-box;}


/******** COMMON **********/


body {
	font-family: 'Noto Sans JP', "游ゴシック", "Yu Gothic", YuGothic,"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro","メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 1vw;
	line-height: 1.5;
	color: #444444;}


a {color: #444444;
	text-decoration: none;}
img {vertical-align: bottom;
	max-width:100%;}

.noto_sans {
	font-family: 'Noto Sans JP', sans-serif;}

.mincho {
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", 'Noto Serif', "serif";
}

.symbol_mark {
    margin-left: auto;
    margin-right: auto;
    width: 3.571vw;
    height: 4vw;
    display: block;
    margin-top: 4.643vw;
    margin-bottom: 2.857vw;}

.after {
	position:relative;}

.before {
	position:relative;}

.after:after {
	content:"";
	background-size:100%;
	background-repeat:no-repeat;
	display:block;
	position:absolute;
	}

.before:before {
	content:"";
	background-size:100%;
	background-repeat:no-repeat;
	display:inline-block;
	position:relative;
	}

.nospace {
    letter-spacing: -0.5em;
    margin-right: 0.5em;
    margin-left: -0.5em;
	font-size:inherit;}

.nospace2 {
	letter-spacing:-0.5em;
	font-size:inherit;}


/******** HEADER ********/

header {
    height:max(10.5vw,136px);
    width:max(100%,1300px);}

header h1 {
    background-color:#0a5da6;
    color:#ffffff;
    padding:1px 0 0 max(28.571vw,371px);
    height:max(1.5vw,19px);
    margin:0;
    width:100%;
    display:block;
    font-size:max(0.857vw,11px);
}

header p.access {
	font-size:max(0.893vw,11px);
}

header tr td.time {
	font-size:max(1.143vw,14px);}

.flex {
    display:flex;
    align-items: flex-start;
    justify-content: space-between;
}

.flex-wrap {
    flex-wrap: wrap;
}

.head_logo {
    width:max(19.571vw,254px);
    height:max(13.5vw,175px);
    position:absolute;
    left:max(5.714vw,74px);
    top:0;
    z-index:9;}

header .access {
    background-image:url("../images/pc/header_access_back.png");
    background-size:cover;
    width:max(8.071vw,104px);
    height:max(8.071vw,104px);
    padding:max(3.571vw,46px) 0 0 0;
    text-align:center;
    margin:max(0.714vw,9px) max(1.429vw,18px) 0 0;
}

header table {
    width:max(22vw,286px);
    margin:max(1.143vw,14px) max(2.143vw,27px) 0 0;
}

header table thead th:first-child {
	font-size:max(1.071vw,13px);
    width:max(7.5vw,97px);
    background-color:rgba(2,56,89,1.00);
    color:#ffffff;
    letter-spacing: 0.1em;
}

header table td,
header table th{
    padding:max(0.143vw,1px) 0;
    text-align:center;
}

header table tr:nth-child(2) td{
	padding:max(0.143vw,1px) 0 0 0;}

header table tr:nth-child(3) td{
	padding:0 0 max(0.143vw,1px) 0;}

header table tr:first-child {
    border-bottom:1px solid rgba(2,56,89,1.00);
}

header table tr:last-child {
    border-bottom:1px solid rgba(2,56,89,1.00);
}

header table+ul {
    font-size:max(0.951vw,12px);
    margin-top:max(0.286vw,3px);;
}

header table td.time {
    text-align:right;
    padding-right:max(0.357vw,4px);
}

.head_web {
    background-image:url("../images/pc/header_web_back.jpg");
    display:block;
    width:max(16.714vw,217px);
    height:max(2.857vw,37px);
    background-size:cover;
    color:#ffffff;
    text-align:center;
    padding:max(0.357vw,4px) 0 0 max(1.429vw,18px);
    font-size:max(1.286vw,16px);
    margin:max(1.143vw,14px) max(1.429vw,18px) 0 0;
}

.head_tel {
    position:relative;
    font-size:max(2.143vw,27px);
    line-height:1;
    margin-top:max(1.429vw,18px);
    font-weight: bold;
}

.head_tel:before {
    position:relative;
    display:inline-block;
    vertical-align:min(-0.143vw,-2px);
    background-image:url("../images/pc/header_tel.png");
    background-size:100% 100%;
    width:max(1.857vw,24px);
    height:max(1.857vw,24px);
    content:"";
    margin-right:max(0.357vw,4px);
}


/******** GNAVI ********/

.gnavi {
    width:max(91.143vw,1184px);
    display:block;
    margin:max(3.071vw,39px) max(3.786vw,49px) 0 max(3.786vw,49px);
}

.gnavi ul {
	display:flex;
	border-left:1px solid #8f8a84;
	border-right:1px solid #8f8a84;
    margin-left: auto;
    margin-right: auto;
    justify-content: space-between;}

.gnavi ul li {
	font-size:max(1.143vw,14px);
	text-align:center;
    letter-spacing:0.2em;
    position:relative;
    width:100%;
    }

.gnavi ul li a {
	line-height:1.2;}

.gnavi ul li+li{
	border-left:1px solid #8f8a84;}

.gnavi ul li a {
	display:block;
	color:#8f8a84;
	width:100%;
	height:100%;
    line-height:1.5;}

.gnavi ul li a span {
	display:block;
	color:#254f9a;
    font-size:max(0.916vw,11px);
}

/******** Map ********/

.map {
    width:max(100%,1300px);
    height:max(36vw,468px);
    margin:max(3.571vw,46px) 0 0 0;
}

.map iframe {
    width:max(100%,1300px);
    height:100%;
}





/******** FOOTER ********/

footer {
	width:max(100%,1300px);
	box-sizing:border-box;
    position:relative;}

footer .flex {
    align-items: normal;
}

.foot_l {
    width:max(48.071vw,624px);
    height:max(61.143vw,794px);
    background-color:rgba(10,93,166,1.00);
    text-align:center;
    padding-top:max(8.571vw,111px);
}

.foot_l img {
    width:max(22.143vw,287px);
    height:max(10.286vw,133px);
}

.foot_l .foot_tel {
    font-size:max(2.94vw,38px);
    margin:max(2.143vw,27px) 0 0 0;
    color:#ffffff;
}

.foot_l .foot_tel:before {
    content:"";
    background-size:100% 100%;
    background-image: url("../images/pc/foot_tel.png");
    width:max(1.786vw,23px);
    height:max(1.786vw,23px);
    display:inline-block;
    margin-right:max(0.571vw,7px);
}

.foot_l .foot_web {
    background-image: url("../images/pc/foot_web.jpg");
    background-size:100% 100%;
    width:max(14.571vw,189px);
    height:max(2.857vw,37px);
    display:block;
    color:#ffffff;
    padding:max(0.429vw,5px) 0 0 max(1.429vw,18px);
    font-size:max(1.084vw,14px);
}

.foot_l .foot_web {
    font-size:max(1.084vw,14px);
    margin:max(0.714vw,9px) auto 0 auto;
}

.foot_l .foot_web span {
    font-size:max(1.205vw,15px);
}

.foot_l .address {
    font-size:max(1.19vw,15px);
    color:#ffffff;
    text-align: center;
    margin-top:max(5.714vw,74px);
}

.foot_l table {
    font-size:max(1.363vw,17px);
    color:#ffffff;
    width:max(28.929vw,376px);
    height:max(7.143vw,92px);
    text-align:center;
    margin:max(1.429vw,18px) auto 0 auto;
}

.foot_l th {
    text-align: center;
}

.foot_l th:first-child {
    width:max(9.071vw,117px);
}

.foot_l tr:first-child {
    border-bottom:1px solid #ffffff;
}

.foot_l tr:last-child {
    border-bottom:1px solid #ffffff;
}

.foot_l tr+tr td:first-child {
    font-size:max(1.327vw,17px);
    text-align: right;
    padding-right:max(0.357vw,4px);
}

.foot_l table th,
.foot_l table td {
    padding:max(0.571vw,7px) 0;
    vertical-align: middle;
}

.foot_l table tr td {
    padding:max(0.571vw,7px) 0;
}

.foot_l table tr td {
    padding-top:max(0.571vw,7px);
    padding-bottom:max(0.571vw,7px);
}

.foot_l table tr+tr+tr td {
    padding-top:0;
    padding-bottom:max(0.571vw,7px);
}

.foot_l table+ul {
    font-size:max(1.327vw,17px);
    color:#ffffff;
    text-align: center;
    margin-top:max(0.714vw,9px);
}

.foot_l tr:first-child th {
    padding-bottom:max(0.286vw,3px);
}

.foot_ig {
    width: max(5.71vw,70px);
    margin: max(1.327vw,17px) auto 0px;
}

.foot_ig  {
  background-color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  width: max(14.429vw, 187px);
  height: max(2.643vw, 34px);
  position: relative;
  padding: max(0.357vw, 4px) 0 0 max(1.429vw, 18px);
  margin:  max(2.857vw,37px) auto 0;
}

.foot_ig:after {
  position: relative;
  content: "▶";
  display: inline-block;
  margin: 0 0 0 max(1.071vw, 13px);
  vertical-align: 0px;
  color: #000;
}

.foot_ig img {
  width: max(9.679vw, 125px);
}

.foot_r {
  width:max(51.929vw,675px);
  height:max(61.143vw,794px);
  background-color:rgba(224,231,237,1.00);
  text-align:left;
  padding:0 max(2.857vw,37px) 0 max(1.429vw,18px);
  display:flex;
  flex-direction: column;
  justify-content: center;
}

.foot_r ul {
    display:flex;
    flex-wrap: wrap;
    border-top:1px solid #000000;
    padding:max(1.071vw,13px) 0 max(1.071vw,13px) max(2.143vw,27px);
    margin-left:2em;
    line-height: 2;
	font-size:max(1.041vw,13px);
}

.foot_r ul li {
    width:33.33%;
    list-style: disc;
}



.foot_r ul.flex2 {
    border-bottom:1px solid #000000;
}

.foot_r ul.flex2 li,
.foot_r ul.flex2 li:nth-child(3n) {
    width:50%;
}

.foot_r ul+p {
    width:max(44.571vw,579px);
    font-size:max(0.893vw,11px);
    margin:max(1.071vw,13px) 0 0 max(2.714vw,35px);
}

.foot_nav2 ul {
    display:block;
    border-top:0;
    width:33%;
}

.foot_nav2 ul+ul {
    margin-left:min(-1.429vw,-19px);
}

.foot_nav2 ul li,
.foot_nav2 ul li:nth-child(3n){
    width:100%;
}

.foot_nav2 ul li.cat_ttl {
    list-style:none;
    text-indent:min(-2.143vw,-28px);
    font-weight:bold;
}

.foot_nav2 ul li+li.cat_ttl {
    margin-top:max(0.714vw,9px);
}

.foot_nav2 {
    border-top:1px solid #000000;
    width:max(45.571vw,592px);
    margin-left:max(2vw,26px);
}

.foot_nav2 ul {
    margin-left:0;
}
.humanity {
    width:max(5vw,65px);
    position:absolute;
    bottom:max(8.571vw,111px);
    right:max(3.214vw,41px);
}

.banner_right {
    margin-top:max(0.714vw,9px);
}

.banner_right li+li {
    margin-top:max(1.429vw,18px);
}

.pagetop+ul {
    margin-top:max(4.643vw,60px);
}

.pagetop {
    background-color: rgba(10,93,166,1.00);
    font-size:max(0.899vw,11px);
    display:none;
    border-radius:max(7.143vw,92px);
    width:max(5.571vw,72px);
    height:max(5.571vw,72px);
    position:fixed;
    right:40px;
    bottom:40px;
    text-align: center;
    padding-top:max(2.286vw,29px);
    line-height: 1.2;
    letter-spacing: 1px;
    z-index: 9999;
}
.pagetop a {
    color:#ffffff;
}
.pagetop a:before {
    color:#ffffff;
    content:"▶";
    transform:scaleY(0.7) rotate(-90deg);
    display:block;
    position:absolute;
    left:0;
    right:0;
    top:max(1.071vw,13px);
}



/******** COPYRIGHT ********/

.foot_copyright {
    background-color: #ffffff;
    font-size: max(0.893vw,11px);
    padding:max(1.071vw,13px) 0;
    letter-spacing:0.1em;
    font-family:sans-serif;
	text-align:center;}

.slick-arrow {
    display:none!important;
}

/*
  04. low-common-design(low only)
========================================================================== */
.pc-contents {
  margin: 60px auto 120px;
  width: 1200px;
}
.left-contents {
  width: 300px;
  float: left;
}
.right-contents {
  width: 800px;
  float: right;
}
.mainPhoto {
  margin: 0 auto;
  width:max(100%,1300px);

}
/*
  05. menu
========================================================================== */
.sidemenu {
  background: url(../images/common/menu_bg.png)repeat top left/4px;
  position: relative;
  padding: 0 10px 10px 0;
  margin-bottom: 60px;
  font-feature-settings: "palt";
  color: #2e2e2e;
}
.sidemenu .inr {
  background: rgba(255,255,255,0.96);
  box-shadow: 10px 25px 0px 0px #F0F3F8;
  padding: 50px 20px 60px;
}
.sidemenu h2 {
  font-family: "Times New Roman";
  font-size:37.5px;
  line-height: 0.7em;
  letter-spacing: 0.2em;
  border-bottom:1px solid #b1b1b1;
  padding-bottom:20px;}

.sidemenu h2 span {
  font-size: 50px;
  color:#0a5da6;
}

.sidemenu h3 {
  background: url(../images/common/menu_ttl_bg.png)repeat top left/4px;
  width: 100%;
  height: 39px;
  font-size: 18px;
  line-height: 39px;
  letter-spacing: 0.12em;
  box-sizing: border-box;
  padding-left: 17px;
}
.sidemenu li {
  line-height: 1;
  margin-top: 17px;
  border-bottom:1px solid #b1b1b1;
}
.sidemenu li a {
  display: flex;
  align-items: baseline;
  font-size: 18px;
  line-height: 1.3em;
  padding: 0px 0 14px 6px;
  column-gap: 9px;
  position:relative;
}
.sidemenu li a:before {
  content: "";
  display: block;
  width:0;
  height:0;
  position:absolute;
  right:10px;
  top:10px;
  border-style:solid;
  border-width: 5px 0 5px 7px;
  border-color: transparent transparent transparent #0a5da6;
}
.sidemenu ul + h3 {
  margin-top: 40px;
}
/* sidebanner */
.sidebanner li + li {
  margin-top: 30px;
}

/*
  06. counseling (low only)
========================================================================== */
.counseling {
  margin-top: 80px;
}

.counseling h2 {
    background-color: #7fbce0;
    font-size: 18px;
    padding: 10px 0 10px 30px;
    font-family: serif;
    color: #ffffff;
    margin-bottom: 20px;
}



/*
  09. multi-class
========================================================================== */
/* clearfix */
.cf::after {
  display: block;
  content: '';
  clear: both;
}
.clear {
  clear: both;
}
/* fade */
.fade {
  transition: 0.3s ease-in-out;
}
.fade:hover {
  opacity: .5;
}
/* link */
.p-link {
  color: var(--link-color);
  text-decoration: underline;
  margin: 0 1px;
  transition: 0.3s ease-in-out;
}
.p-link:hover {
  opacity: .5;
}
/* font */
.gothic {
  font-family: 'San Fransisco', 'Helvetica', 'Arial', 'Yu Gothic Medium', '游ゴシック Medium', 'YuGothic', '游ゴシック体', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', sans-serif;
}
.mincho {
  font-family: 'Times New Roman', 'YuMincho', 'Yu Mincho', '游明朝体', 'ヒラギノ明朝 ProN', 'Hiragino Mincho ProN', 'Noto Serif JP', serif;
}
/* テキスト */
.bold {
  font-weight: bold;
}
.txt130 {
  font-size: 130%;
}
.txt120 {
  font-size: 120%;
}
.txt110 {
  font-size: 110%;
}
.txt90 {
  font-size: 90%;
}
.txt80 {
  font-size: 80%;
}
.or {
  color: #fc9b2a;
}
.re {
  color: #FF373A;
}
i.fa, i.fas, i.far {
  margin-right: 5px;
}
.nowrap {
  white-space: nowrap !important;
}
.underline {
  text-decoration: underline;
}
/* 画像 */
.img-border {
  box-sizing: border-box;
  padding: 3px;
  max-width: 100%;
  border: 1px solid #ccc;
  background: #fff;
}
.img-right {
  float: right;
  margin: 0 0 10px 15px;
  max-width: 300px;
}
.img-left {
  float: left;
  margin: 0 15px 10px 0;
  max-width: 300px;
}
/* object-fit */
.object-fit-img {
  object-fit: contain;
}
.obf-cover {
  object-fit: cover;
}
/* flex */
.flex {
  display: flex;
}
.flex img {
  max-width: 100%;
  height: auto;
}
.fdC {
  flex-direction: column;
}
.flex-wrap {
  flex-wrap: wrap;
}
.between {
  justify-content: space-between;
}
.justC {
  justify-content: center;
}
.align-center {
  align-items: center;
}
.align-start {
  align-items: flex-start;
}
.align-base {
  align-items: baseline;
}
.fx_grow_1 {
  flex: 1 0 auto;
}
/* align */
.center {
  text-align: center;
}
.alignR {
  text-align: right !important;
}
.alignL {
  text-align: left !important;
}
.vAlignM {
  vertical-align: middle !important;
}
.vAlignT {
  vertical-align: top !important;
}
.vAlignB {
  vertical-align: bottom !important;
}
/* display */
.dispB {
  display: block;
}
.dispI {
  display: inline;
}
.dispFr {
  display: flow-root;
}
/* 余白 */
.p10 {
  padding: 10px;
}
.pt10 {
  padding-top: 10px;
}
.pr10 {
  padding-right: 10px;
}
.pl10 {
  padding-left: 10px;
}
.pb10 {
  padding-bottom: 10px;
}
.mb5 {
  margin-bottom: 5px;
}
.mb10 {
  margin-bottom: 10px;
}
.mb15 {
  margin-bottom: 15px;
}
.mb20 {
  margin-bottom: 20px;
}
.mb30 {
  margin-bottom: 30px;
}
.mb40 {
  margin-bottom: 40px;
}
.mb50 {
  margin-bottom: 50px;
}
.mb60 {
  margin-bottom: 60px;
}
.mt5 {
  margin-top: 5px;
}
.mt10 {
  margin-top: 10px;
}
.mt20 {
  margin-top: 20px;
}
.mt30 {
  margin-top: 30px;
}
.mt40 {
  margin-top: 40px;
}
.mr5 {
  margin-right: 5px;
}
.mr10 {
  margin-right: 10px;
}
.mr15 {
  margin-right: 15px;
}
.mr20 {
  margin-right: 20px;
}
.mr30 {
  margin-right: 30px;
}
.ml5 {
  margin-left: 5px;
}
.ml10 {
  margin-left: 10px;
}
.ml15 {
  margin-left: 15px;
}
.ml20 {
  margin-left: 20px;
}
.ml30 {
  margin-left: 30px;
}
/* 非表示 */
.pc-none {
  display: none !important;
}