@charset "UTF-8";
/*
** import core file
*/
/*
** -- two point
*/
/*---------------
  subnav
----------------*/
/*
** -- three point
@mixin break-pc {//pcのみ
	@media screen and (min-width:961px) {
		@content;
	}
}
@mixin break-pc-tab {//pcとtab共通
	@media screen and (min-width:768px) {
		@content;
	}
}
@mixin break-tab-sp {//tabとsp共通
	@media screen and (max-width:960px) {
		@content;
	}
}
@mixin break-tab {//tabのみ
	@media screen and (max-width:960px) and (min-width:768px) {
		@content;
	}
}
@mixin break-sp {//spのみ
	@media screen and (max-width:767px) {
		@content;
	}
}
@mixin break-sps {//iphone5/SE
	@media screen and (max-width:374px) { @content; }
}
*/
/*
** -- two point
*/
/*---------------
  subnav
----------------*/
/*
** -- three point
@mixin break-pc {//pcのみ
	@media screen and (min-width:961px) {
		@content;
	}
}
@mixin break-pc-tab {//pcとtab共通
	@media screen and (min-width:768px) {
		@content;
	}
}
@mixin break-tab-sp {//tabとsp共通
	@media screen and (max-width:960px) {
		@content;
	}
}
@mixin break-tab {//tabのみ
	@media screen and (max-width:960px) and (min-width:768px) {
		@content;
	}
}
@mixin break-sp {//spのみ
	@media screen and (max-width:767px) {
		@content;
	}
}
@mixin break-sps {//iphone5/SE
	@media screen and (max-width:374px) { @content; }
}
*/
/*
@include animation(scrollpoint,2.5,ease,0,infinite,normal,forwards);
<div class="scroll">
	<a href="#indexSolving">scroll</a>
	<span class="bar"></span>
</div>
*/
/*
&:before {
	content:'';
	@include sizes(1px,50px);
	display: block;
	background: #333;
	position: absolute;
	top:0;left:0;right:0;
	margin:auto;
	@include animation ( down-border, 2, ease, 0, infinite,normal,forwards);
	@include transform( translate3d(0,0,0) );
}
*/
/*
**
page style
** 
form style
** form common
custom post type style
** cpt common
** facilities
** 
** 
*/
/*==================================================

** common
==================================================*/
.en,
.main .en {
  font: normal normal 400 1em/2 "Lato", "Noto Sans JP", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, Verdana, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Meiryo, Osaka, "MS PGothic", "M+ 1p", sans-serif; }

.en2,
.main .en2 {
  font: normal normal 500 1em/2 "Roboto", "Noto Sans JP", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, Verdana, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Meiryo, Osaka, "MS PGothic", "M+ 1p", sans-serif; }

.mincho,
.main .mincho {
  font: normal normal 600 1em/2 "Noto Serif JP", "Noto Serif JP", YuMincho, "Yu Mincho", "ヒラギノ明朝 ProN W3", "HiraMinProN-W3", "HG明朝E", "MS PMincho", "MS 明朝", serif; }

.gothic,
.main .gothic {
  font: normal normal 400 1em/2 "Noto Sans JP", "Noto Sans JP", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, Verdana, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Meiryo, Osaka, "MS PGothic", "M+ 1p", sans-serif; }

.tel {
  pointer-events: none; }
  @media screen and (max-width: 600px) {
    .tel {
      pointer-events: inherit; } }

.main .ico-angle-r:after {
  content: "";
  font: normal normal 900 1.6rem "Font Awesome 5 Free";
  line-height: inherit;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  right: 15px; }
.main .ico-phone-alt:before {
  margin-right: 10px;
  content: "";
  font: normal normal 900 2.6rem "Font Awesome 5 Free";
  line-height: inherit;
  vertical-align: 0; }
.main .ico-pdf:before {
  margin-right: 7px;
  content: "";
  font: normal normal 400 1em "Font Awesome 5 Free";
  line-height: inherit; }
.main .ico-pdf a {
  text-decoration: underline; }
  .main .ico-pdf a:hover {
    text-decoration: none; }
.main .bu {
  color: #006bb4; }
.main .yes {
  color: #fab3bc; }
.main .no {
  color: #9ccbeb; }
.main .either {
  color: #7fe3ca; }
.main .fwb {
  font-weight: 500; }
.main .notes {
  position: relative;
  padding-left: 20px; }
  .main .notes:before {
    content: '※';
    position: absolute;
    top: 0;
    left: 0; }
.main .space-btm {
  padding-bottom: 120px; }
.main .firstsec > :first-child {
  margin-top: 120px; }
.main .txtbox > :first-child {
  margin-top: 0; }
.main .scrollbox {
  margin: 40px 0 0;
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: none;
  overflow: -moz-scrollbars-none; }
  .main .scrollbox > :first-child {
    margin-top: 0; }
  .main .scrollbox::-webkit-scrollbar {
    display: none; }
  .main .scrollbox table {
    max-width: 100%;
    min-width: 1200px; }
    .main .scrollbox table tr th, .main .scrollbox table tr td {
      display: table-cell !important; }
.main .linkbtn {
  margin-top: 50px; }
  .main .linkbtn a {
    display: block;
    width: 100%;
    max-width: 300px;
    border: 1px solid #444;
    padding: 21px 15px;
    letter-spacing: 0.05em;
    text-align: center;
    text-decoration: none; }
    .main .linkbtn a:hover {
      color: #006bb4;
      border-color: #006bb4; }
    .main .linkbtn a.en {
      letter-spacing: 0.15em; }
    .main .linkbtn a.enctm1 {
      font-size: 1.4rem;
      padding: 15px 20px; }
    .main .linkbtn a.enctm2 {
      padding: 13px 20px; }
  .main .linkbtn.linkctr {
    margin-top: 45px; }
    .main .linkbtn.linkctr a {
      margin: 0 auto;
      max-width: 350px; }
  .main .linkbtn.bubtn a {
    margin: 0 auto;
    max-width: 350px;
    color: #fff;
    background: #006bb4;
    border-color: #006bb4; }
    .main .linkbtn.bubtn a:hover {
      color: #006bb4;
      background: #fff; }
.main .submit {
  margin-top: 50px;
  text-align: center; }
  .main .submit button {
    padding: 17px 15px;
    max-width: 300px;
    width: 100%;
    line-height: 1.5;
    color: #fff;
    font-weight: 500;
    letter-spacing: 0.05em;
    border: 1px solid #006bb4;
    background: #006bb4;
    transition: all 0.4s; }
    .main .submit button:hover {
      color: #006bb4;
      background: #fff;
      transition: all 0.4s; }
.main .pagenav {
  margin-top: 120px; }
  .main .pagenav > :first-child {
    margin-top: 0; }
  .main .pagenav ul {
    margin-bottom: 15px; }
    .main .pagenav ul li {
      position: relative;
      width: 380px; }
      .main .pagenav ul li + li {
        margin: 0 0 0 30px; }
    .main .pagenav ul a {
      display: block;
      text-decoration: none; }
      .main .pagenav ul a:hover .txtbox {
        bottom: 0;
        color: #006bb4;
        transition: all 0.3s; }
    .main .pagenav ul .txtbox {
      position: absolute;
      left: 0;
      right: 0;
      bottom: -15px;
      margin: 0 auto;
      padding: 14px 20px;
      width: 330px;
      letter-spacing: 0.08em;
      background: #fff;
      transition: all 0.5s; }
      .main .pagenav ul .txtbox .en {
        padding-right: 15px;
        font-size: 1.4rem;
        letter-spacing: 0.15em; }
      .main .pagenav ul .txtbox .ico-angle-r:after {
        right: 20px; }
.main .facilitiessec {
  margin-top: 120px;
  padding: 105px 0 120px;
  background: #e5f5ff; }
  .main .facilitiessec > :first-child {
    margin-top: 0; }
  .main .facilitiessec .facilitieslist {
    position: relative;
    margin: 50px auto 0; }
    .main .facilitiessec .facilitieslist li {
      margin: 0 17px; }
  .main .facilitiessec .slick-slide a:focus {
    outline: none; }
  .main .facilitiessec .slick-dots {
    position: static;
    margin-top: 30px;
    text-align: center; }
    .main .facilitiessec .slick-dots li {
      display: inline-block;
      margin: 0 6px;
      width: 12px;
      line-height: 0; }
      .main .facilitiessec .slick-dots li:before {
        content: none; }
      .main .facilitiessec .slick-dots li button {
        text-indent: 100%;
        white-space: nowrap;
        overflow: hidden;
        width: 12px;
        height: 12px;
        border: none;
        border-radius: 1000px;
        background: #d9d3c7;
        transition: all 0.5s; }
        .main .facilitiessec .slick-dots li button:hover {
          background: #006bb4;
          transition: all 0.3s; }
      .main .facilitiessec .slick-dots li.slick-active button {
        background: #006bb4; }
@media screen and (max-width: 600px) {
  .main .space-btm {
    padding-bottom: 80px; }
  .main .firstsec > :first-child {
    margin-top: 70px; }
  .main .scrollbox {
    margin: 50px 0 0; }
  .main .linkbtn {
    margin-top: 35px; }
    .main .linkbtn a {
      max-width: 100%; }
    .main .linkbtn.linkctr a {
      max-width: 100%; }
    .main .linkbtn.bubtn a {
      max-width: 100%; }
  .main .submit {
    margin-top: 40px; }
    .main .submit button {
      max-width: 100%; }
  .main .pagenav {
    margin-top: 80px; }
    .main .pagenav ul li {
      width: 100%; }
      .main .pagenav ul li + li {
        margin: 45px 0 0; }
    .main .pagenav ul a:hover .txtbox {
      bottom: -28px; }
    .main .pagenav ul .txtbox {
      bottom: -28px;
      padding: 12px 15px;
      width: 91%; }
      .main .pagenav ul .txtbox .en {
        font-size: 1.3rem; }
      .main .pagenav ul .txtbox .ico-angle-r:after {
        right: 15px; }
  .main .facilitiessec {
    margin-top: 85px;
    padding: 70px 0 80px; }
    .main .facilitiessec h2 {
      font-size: 2.8rem; }
    .main .facilitiessec .slick-dots {
      bottom: -50px; }
    .main .facilitiessec .linkbtn {
      padding: 0 20px; } }

.main .servicessec {
  margin: 80px 0 0; }
  .main .servicessec .phtbox {
    width: 640px; }
  .main .servicessec .txtbox {
    width: 510px; }
    .main .servicessec .txtbox h3 {
      text-align: left; }
    .main .servicessec .txtbox dt {
      font-weight: 500; }
    .main .servicessec .txtbox .linkbtn {
      margin-top: 35px; }
      .main .servicessec .txtbox .linkbtn a {
        padding: 12px 20px; }
    .main .servicessec .txtbox .serviceslist {
      margin-top: 25px; }
      .main .servicessec .txtbox .serviceslist li:before {
        top: 16px; }
.main .recruitnav ul {
  margin-bottom: 24px; }
  .main .recruitnav ul li {
    width: 480px; }
    .main .recruitnav ul li + li {
      margin: 0 0 0 40px; }
  .main .recruitnav ul .txtbox {
    bottom: -28px;
    width: 400px; }
.main .recruitmessage {
  margin-top: 120px;
  padding: 80px 0;
  background: url("../img/common/recruit_message_bg_pc.jpg") no-repeat center center;
  background-size: cover;
  background-attachment: fixed; }
  .ios .main .recruitmessage {
    background-attachment: scroll; }
  .main .recruitmessage .txtbox {
    margin: 0 auto;
    padding: 60px 20px;
    width: 1000px;
    background: rgba(255, 255, 255, 0.75); }
    .main .recruitmessage .txtbox h2 {
      margin-top: 25px;
      font-size: 3.4rem; }
      .main .recruitmessage .txtbox h2 + p {
        margin-top: 20px; }
  .main .recruitmessage .logobox .logo {
    margin: 0 auto;
    width: 57px; }
  .main .recruitmessage .logobox p {
    margin-top: 15px;
    font-size: 1.8rem;
    line-height: 1.5;
    letter-spacing: 0.15em;
    text-align: center; }
  .main .recruitmessage .linkbtn {
    margin: 40px auto 0; }
@media screen and (max-width: 600px) {
  .main .servicessec {
    margin-top: 60px; }
    .main .servicessec .phtbox {
      position: relative;
      padding-top: 61.5%;
      width: 100%;
      height: 100%; }
      .main .servicessec .phtbox img {
        position: absolute;
        top: 0;
        left: 0; }
    .main .servicessec .txtbox {
      margin-top: 30px;
      width: 100%; }
      .main .servicessec .txtbox .linkbtn {
        margin-top: 35px; }
  .main .recruitnav ul li {
    width: 100%; }
    .main .recruitnav ul li + li {
      margin: 60px 0 0 0; }
  .main .recruitnav ul .txtbox {
    width: 91%; }
  .main .recruitmessage {
    margin-top: 100px;
    padding: 60px 0;
    background-image: url("../img/common/recruit_message_bg_sp.jpg");
    background-size: cover; }
    .main .recruitmessage .txtbox {
      width: 90%; }
      .main .recruitmessage .txtbox h2 {
        margin-top: 15px;
        font-size: 2.4rem; }
        .main .recruitmessage .txtbox h2 + p {
          margin-top: 5px; }
    .main .recruitmessage .logobox .logo {
      width: 62px; }
    .main .recruitmessage .linkbtn {
      margin: 30px auto 0; } }
@media screen and (max-width: 374px) {
  .main .recruitnav ul .txtbox .ttl {
    font-size: 1.4rem; }
  .main .recruitmessage .txtbox h2 {
    font-size: 2rem; } }

/*==================================================

** form common
==================================================*/
.main .formbox {
  margin: 0 auto;
  width: 960px; }
  .main .formbox table {
    margin-top: 20px; }
    .main .formbox table .mark {
      display: inline-block;
      margin-right: 16px;
      width: 37px;
      line-height: 23px;
      color: #fff;
      font-size: 1.2rem;
      font-weight: 500;
      text-align: center; }
    .main .formbox table .must {
      background: #006bb4; }
    .main .formbox table .free {
      background: #888; }
    .main .formbox table tr {
      border-bottom: 1px dotted #ccc; }
      .main .formbox table tr th {
        width: 220px;
        padding: 34px 0;
        vertical-align: top; }
      .main .formbox table tr td {
        width: 740px;
        padding: 25px 0; }
  .main .formbox input, .main .formbox select {
    width: 100%;
    height: 44px;
    border: 1px solid #ccc;
    border-radius: 0px; }
    .main .formbox input.short, .main .formbox select.short {
      max-width: 340px; }
  .main .formbox select {
    background: url("../img/common/ico_select.svg") no-repeat right 17px center/14px 12px;
    padding: 0 37px 0 15px; }
  .main .formbox label {
    border-radius: 0px; }
    .main .formbox label.mfp_checked, .main .formbox label.mfp_not_checked {
      border: none; }
  .main .formbox .checklist label,
  .main .formbox .radiolist label,
  .main .formbox .agreebox label {
    display: block;
    position: relative;
    cursor: pointer; }
    .main .formbox .checklist label:before,
    .main .formbox .radiolist label:before,
    .main .formbox .agreebox label:before {
      content: '';
      display: inline-block;
      margin-right: 8px;
      width: 20px;
      height: 20px;
      background: #fff;
      border: 1px solid #ccc;
      vertical-align: -4px; }
    .main .formbox .checklist label.mfp_checked:before,
    .main .formbox .radiolist label.mfp_checked:before,
    .main .formbox .agreebox label.mfp_checked:before {
      box-shadow: 0 0 0 3px #fff inset;
      background: #006bb4; }
  .main .formbox .checklist input,
  .main .formbox .radiolist input,
  .main .formbox .agreebox input {
    position: absolute;
    left: 0;
    top: 0;
    opacity: 0;
    padding: 0;
    width: 1px;
    height: 1px; }
  .main .formbox .checklist label,
  .main .formbox .radiolist label {
    border: 1px solid #ccc; }
  .main .formbox .checklist li + li {
    margin-top: 15px; }
  .main .formbox .checklist label {
    padding: 9px 12px;
    max-width: 340px; }
  .main .formbox .radiolist li {
    display: inline-block;
    vertical-align: top; }
    .main .formbox .radiolist li + li {
      margin: 0 0 0 15px; }
  .main .formbox .radiolist label {
    position: relative;
    padding: 9px 16px 9px 40px; }
    .main .formbox .radiolist label:before {
      position: absolute;
      top: 50%;
      -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      transform: translateY(-50%);
      left: 12px;
      border-radius: 1000px; }
  .main .formbox textarea {
    padding: 10px 12px;
    resize: vertical;
    max-width: 100%;
    min-width: 100%;
    width: 100%;
    height: 200px;
    min-height: 200px;
    border: 1px solid #ccc;
    border-radius: 0px; }
  .main .formbox .agreebox p {
    margin-top: 30px;
    font-weight: 500; }
  .main .formbox .agreebox label {
    margin-top: 25px;
    padding: 16px 20px;
    width: 100%;
    font-size: 1.5rem;
    background: #f6f6f6;
    text-align: center;
    cursor: pointer; }
  .main .formbox .addresslist li + li {
    margin-top: 15px; }
  .main .formbox .addresslist .short:placeholder-shown {
    color: #ccc;
    font-weight: 500; }
  .main .formbox .addresslist .short::-webkit-input-placeholder {
    color: #ccc;
    font-weight: 500; }
  .main .formbox .addresslist .short:-moz-placeholder {
    opacity: 1;
    color: #ccc;
    font-weight: 500; }
  .main .formbox .addresslist .short::-moz-placeholder {
    opacity: 1;
    color: #ccc;
    font-weight: 500; }
  .main .formbox .addresslist .short:-ms-input-placeholder {
    color: #ccc;
    font-weight: 500; }
  .main .formbox .addresslist .pref {
    max-width: 210px; }
  .main .formbox .addresslist dl {
    letter-spacing: -0.5em; }
  .main .formbox .addresslist dt, .main .formbox .addresslist dd {
    display: inline-block;
    vertical-align: middle;
    letter-spacing: normal; }
  .main .formbox .addresslist dt {
    width: 130px; }
  .main .formbox .addresslist dd {
    width: calc(100% - 130px); }
  .main .formbox .age {
    margin-right: 15px;
    max-width: 88px; }
  .main .formbox.entryform table tr th {
    width: 303px; }
  .main .formbox.entryform table tr td {
    width: 657px; }
  .main .formbox.entryform table tr.ptn1 th {
    padding: 20px 0; }
  .main .formbox.entryform table tr.ptn1 td {
    padding: 20px 0; }
@media screen and (max-width: 600px) {
  .main .formbox {
    width: 100%; }
    .main .formbox table {
      margin-top: 30px; }
      .main .formbox table tr th {
        padding: 25px 0 8px;
        width: 100%; }
      .main .formbox table tr td {
        padding: 7px 0 25px;
        width: 100%; }
    .main .formbox input {
      padding: 10px 16px; }
      .main .formbox input.short {
        max-width: 100%; }
    .main .formbox .checklist,
    .main .formbox .radiolist {
      max-width: 100%; }
    .main .formbox .checklist label {
      max-width: 100%; }
    .main .formbox .radioctm {
      letter-spacing: -0.5em; }
      .main .formbox .radioctm li {
        width: 48%;
        letter-spacing: normal; }
        .main .formbox .radioctm li + li {
          margin: 0; }
        .main .formbox .radioctm li:nth-of-type(even) {
          margin-left: 4%; }
        .main .formbox .radioctm li:nth-of-type(n+3) {
          margin-top: 15px; }
    .main .formbox textarea {
      min-height: 150px;
      height: 150px; }
    .main .formbox .agreebox label {
      margin-top: 25px; }
    .main .formbox .addresslist li + li {
      margin-top: 8px; }
    .main .formbox .addresslist dt, .main .formbox .addresslist dd {
      display: block; }
    .main .formbox .addresslist dt {
      width: 100%; }
    .main .formbox .addresslist dd {
      margin-top: 5px;
      width: 100%; }
    .main .formbox.entryform table tr th {
      width: 100%; }
    .main .formbox.entryform table tr td {
      width: 100%; }
    .main .formbox.entryform table tr.ptn1 th {
      padding: 25px 0 8px; }
    .main .formbox.entryform table tr.ptn1 td {
      padding: 7px 0 25px; } }

/*==================================================

** cpt common
==================================================*/
.main .pager ol {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 30px; }
  .main .pager ol li {
    font-size: 1.6rem;
    font-weight: 700;
    color: #444; }
    .main .pager ol li + li {
      margin-left: 10px; }
.main .pager span,
.main .pager a {
  display: block;
  width: 44px;
  line-height: 42px;
  color: #444;
  text-align: center;
  text-decoration: none;
  background: #fff;
  border: 1px solid #aaa; }
  .main .pager span:hover,
  .main .pager a:hover {
    opacity: 1;
    background: #e5f5ff; }
.main .pager .current span {
  background: #e5f5ff; }
.main .pager .prev i:before,
.main .pager .next i:before {
  content: "";
  font: normal normal 900 1em "Font Awesome 5 Free";
  line-height: inherit;
  line-height: 1; }
.main .pager .prev i:before {
  color: #aaa; }
.main .pager .prev i:before {
  content: '\f104'; }
.main .pager .next i:before {
  content: '\f105'; }

/*==================================================

** facilities
==================================================*/
.main .facilitieslist li {
  width: 360px; }
.main .facilitieslist a {
  display: block;
  text-decoration: none; }
  .main .facilitieslist a:hover img {
    transform: scale(1.1, 1.1);
    transition: 0.5s; }
.main .facilitieslist .pht {
  position: relative;
  padding-top: 62.2%;
  overflow: hidden; }
  .main .facilitieslist .pht img {
    transition: 0.5s;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    font-family: 'object-fit: cover;'; }
.main .facilitieslist dl {
  padding: 24px 10px 24px;
  text-align: center;
  background: #fff; }
.main .facilitieslist dt span {
  display: block;
  line-height: 1.5; }
.main .facilitieslist dt .ttl {
  margin-top: 5px;
  font-size: 2rem; }
.main .facilitieslist dd {
  margin-top: 15px;
  line-height: 1.5;
  font-size: 1.4rem; }
.main .newslist {
  margin: 20px 0 0; }
  .main .newslist li {
    border-bottom: 1px dotted #ccc; }
    .main .newslist li + li {
      margin-top: 0; }
  .main .newslist a {
    text-decoration: none;
    padding: 20px 0; }
  .main .newslist .phtbox {
    width: 110px; }
    .main .newslist .phtbox .pht {
      position: relative;
      padding-top: 100%;
      background: #aaa; }
      .main .newslist .phtbox .pht img {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
        object-fit: cover;
        font-family: 'object-fit: cover;'; }
  .main .newslist .txtbox {
    width: calc(100% - 130px);
    letter-spacing: 0.08em; }
    .main .newslist .txtbox span {
      margin-top: 10px;
      font-weight: 500; }
    .main .newslist .txtbox .date {
      color: #aaa;
      font-size: 1.4rem; }
    .main .newslist .txtbox .ttl {
      display: block;
      font-size: 1.8rem;
      line-height: 1.5;
      max-height: 3em;
      overflow: hidden;
      -o-text-overflow: ellipsis;
      text-overflow: ellipsis;
      display: -webkit-box;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 2; }
    .main .newslist .txtbox .category {
      margin-right: 15px;
      display: inline-block;
      padding: 7px;
      color: #fff;
      font-size: 1.2rem;
      background: #006bb4; }
      .main .newslist .txtbox .category:last-of-type {
        margin-right: 0; }
.main .updatesec {
  margin-top: 110px; }
  .main .updatesec h3 {
    position: relative;
    margin: 0;
    padding: 0 0 15px 35px;
    text-align: left;
    border-bottom: 1px solid #ccc; }
    .main .updatesec h3 .en {
      display: inline;
      margin-left: 15px; }
    .main .updatesec h3:before {
      top: 4px;
      left: 0; }
  .main .updatesec .newsbox h3:before {
    content: "";
    font: normal normal 900 2.4rem "Font Awesome 5 Free";
    line-height: inherit;
    color: #444;
    position: absolute; }
  .main .updatesec .newsbox .newslist {
    margin: 10px 0 0; }
    .main .updatesec .newsbox .newslist li {
      width: 580px; }
    .main .updatesec .newsbox .newslist .txtbox .date {
      font-size: 1.2rem; }
    .main .updatesec .newsbox .newslist .txtbox .ttl {
      font-size: 1.5rem; }
.main .topics {
  margin-top: 110px; }
  .main .topics #topicsMain {
    width: 890px; }
    .main .topics #topicsMain > :first-child {
      margin-top: 0; }
  .main .topics #topicsSide {
    width: 240px; }
    .main .topics #topicsSide .sideparts > :first-child {
      margin-top: 0; }
    .main .topics #topicsSide .sideparts + .sideparts {
      margin-top: 40px; }
    .main .topics #topicsSide .sideparts h4 {
      font-size: 2.4rem;
      text-align: left; }
    .main .topics #topicsSide .sideparts .catlist {
      margin-top: 10px; }
      .main .topics #topicsSide .sideparts .catlist a {
        transition: all 0.4s; }
        .main .topics #topicsSide .sideparts .catlist a:hover {
          color: #006bb4;
          transition: all 0.4s; }
    .main .topics #topicsSide .sideparts .archives {
      margin-top: 20px;
      padding: 0 30px 0 15px;
      display: block;
      width: 100%;
      height: 44px;
      border: 1px solid #444;
      appearance: none;
      background: url("../img/common/ico_select.svg") no-repeat right 15px center;
      background-size: 14px 12px;
      -webkit-appearance: none;
      -moz-appearance: none;
      appearance: none; }
      .main .topics #topicsSide .sideparts .archives::-ms-expand {
        display: none; }
@media screen and (max-width: 600px) {
  .main .facilitieslist li {
    width: 100%; }
  .main .newslist {
    margin-top: 10px; }
    .main .newslist .txtbox {
      width: calc(100% - 125px); }
      .main .newslist .txtbox span {
        margin-top: 10px; }
      .main .newslist .txtbox .date {
        font-size: 1.2rem; }
      .main .newslist .txtbox .ttl {
        font-size: 1.5rem; }
  .main .updatesec {
    margin-top: 60px; }
    .main .updatesec h3 {
      padding-bottom: 20px; }
      .main .updatesec h3 .en {
        display: block;
        margin: 0;
        font-size: 1.2rem; }
    .main .updatesec .newsbox {
      width: 100%; }
      .main .updatesec .newsbox h3:before {
        font-size: 2.6rem; }
      .main .updatesec .newsbox .newslist li {
        width: 100%; }
  .main .topics {
    margin-top: 60px; }
    .main .topics #topicsMain {
      width: 100%; }
    .main .topics #topicsSide {
      margin-top: 45px;
      width: 100%; }
      .main .topics #topicsSide .sideparts + .sideparts {
        margin-top: 20px; }
      .main .topics #topicsSide .sideparts h4 {
        font-size: 2rem; }
      .main .topics #topicsSide .sideparts .catlist {
        margin-top: 5px; }
      .main .topics #topicsSide .sideparts .archives {
        margin-top: 10px; } }
@media screen and (max-width: 374px) {
  .main .updatesec h3 {
    font-size: 2rem; } }
