@charset "UTF-8";
/**
 * html5doctor.com Reset Stylesheet v1.6.1 (http://html5doctor.com/html-5-reset-stylesheet/)
 * Richard Clark (http://richclarkdesign.com)
 * http://cssreset.com
 */
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

body {
  line-height: 1; }

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

nav ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none; }

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold; }

del {
  text-decoration: line-through; }

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0; }

input, select {
  vertical-align: middle; }

/* 共通 */
html {
  font-size: 62.5%; }

*, *::before, *::after {
  box-sizing: border-box; }

ul {
  list-style: none !important; }

a {
  text-decoration: none; }

input::-ms-clear {
  visibility: hidden; }

[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

hr {
  border: none;
  height: 1px;
  margin: 0;
  padding: 0; }

/* 画像系 */
img {
  vertical-align: top; }

.img {
  width: 100%; }

/*マウスオーバー系*/
.hover {
  display: inline-block;
  transition: 0.3s;
  cursor: pointer; }

.hover:hover {
  /* transform: translateY(-3px); */
  opacity: 0.7; }

.photo-link {
  width: 100%;
  overflow: hidden;
  transition: 0.3s; }

.photo-link img {
  transition: 0.3s; }

.photo-link-wrapper:hover .photo-link img {
  transform: scale(1.1); }

/* other */
.clearfix:after {
  content: "";
  display: block;
  clear: both; }

.flex {
  display: flex; }

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

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

.j-bet {
  justify-content: space-between; }

.j-ar {
  justify-content: space-around; }

.j-c {
  justify-content: center; }

.j-e {
  justify-content: flex-end; }

.al-s {
  align-items: flex-start; }

.al-c {
  align-items: center; }

.al-e {
  align-items: flex-end; }

.in-f {
  display: inline-block;
  justify-content: center;
  align-items: center; }

.f-sh0 {
  flex-shrink: 0; }

.re {
  position: relative; }

.ab {
  position: absolute; }

.ab-c {
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%); }

.list li:last-child {
  margin-bottom: 0; }

.res-on {
  display: none; }

.ta-c {
  text-align: center; }

.ta-l {
  text-align: left; }

.ta-r {
  text-align: right; }

/**/
.d-b {
  display: block; }

.d-i {
  display: inline-block; }

/* width系 */
.w100 {
  width: 100%; }

/* font系 */
.fs-32 {
  font-size: 3.2rem; }

.fs-31 {
  font-size: 3.1rem; }

.fs-30 {
  font-size: 3rem; }

.fs-29 {
  font-size: 2.9rem; }

.fs-28 {
  font-size: 2.8rem; }

.fs-27 {
  font-size: 2.7rem; }

.fs-26 {
  font-size: 2.6rem; }

.fs-25 {
  font-size: 2.5rem; }

.fs-24 {
  font-size: 2.4rem; }

.fs-23 {
  font-size: 2.3rem; }

.fs-22 {
  font-size: 2.2rem; }

.fs-21 {
  font-size: 2.1rem; }

.fs-20 {
  font-size: 2rem; }

.fs-19 {
  font-size: 1.9rem; }

.fs-18 {
  font-size: 1.8rem; }

.fs-17 {
  font-size: 1.7rem; }

.fs-16 {
  font-size: 1.6rem; }

.fs-15 {
  font-size: 1.5rem; }

.fs-14 {
  font-size: 1.4rem; }

.fs-13 {
  font-size: 1.3rem; }

.fs-12 {
  font-size: 1.2rem; }

.fs-11 {
  font-size: 1.1rem; }

.fs-10 {
  font-size: 1rem; }

.fw-n {
  font-weight: normal; }

.fw-b {
  font-weight: bold; }

.lh0 {
  line-height: 0; }

.lh05 {
  line-height: 0.5; }

.lh075 {
  line-height: 0.75; }

.lh1 {
  line-height: 1; }

.lh12 {
  line-height: 1.2; }

.lh15 {
  line-height: 1.5; }

.lh17 {
  line-height: 1.7; }

.lh2 {
  line-height: 2; }

.lh225 {
  line-height: 2.25; }

.lh3 {
  line-height: 3; }

.ls0 {
  letter-spacing: 0em; }

.ls1 {
  letter-spacing: 0.1em; }

.ls2 {
  letter-spacing: 0.2em; }

.ls4 {
  letter-spacing: 0.4em; }

/* margin 系 */
.m-c {
  margin: 0 auto; }

.mt-5 {
  margin-top: 5px; }

.mt-10 {
  margin-top: 10px; }

.mt-15 {
  margin-top: 15px; }

.mt-20 {
  margin-top: 20px; }

.mt-25 {
  margin-top: 20px; }

.mt-30 {
  margin-top: 30px; }

.mt-35 {
  margin-top: 30px; }

.mt-40 {
  margin-top: 40px; }

.mt-45 {
  margin-top: 40px; }

.mt-50 {
  margin-top: 50px; }

.mt-55 {
  margin-top: 50px; }

.mt-60 {
  margin-top: 60px; }

.mt-70 {
  margin-top: 70px; }

.mt-80 {
  margin-top: 80px; }

.mt-90 {
  margin-top: 90px; }

.mt-100 {
  margin-top: 100px; }

.mt-110 {
  margin-top: 110px; }

.mt-120 {
  margin-top: 120px; }

.mt-130 {
  margin-top: 130px; }

.mt-140 {
  margin-top: 140px; }

.mt-150 {
  margin-top: 150px; }

.mt-160 {
  margin-top: 160px; }

.mt-170 {
  margin-top: 170px; }

.mt-180 {
  margin-top: 180px; }

.mt-190 {
  margin-top: 190px; }

.mt-200 {
  margin-top: 200px; }

.mb-5 {
  margin-bottom: 5px; }

.mb-10 {
  margin-bottom: 10px; }

.mb-15 {
  margin-bottom: 15px; }

.mb-20 {
  margin-bottom: 20px; }

.mb-30 {
  margin-bottom: 30px; }

.mb-40 {
  margin-bottom: 40px; }

.mb-50 {
  margin-bottom: 50px; }

.mb-60 {
  margin-bottom: 60px; }

.mb-70 {
  margin-bottom: 70px; }

.mb-80 {
  margin-bottom: 80px; }

.mb-90 {
  margin-bottom: 90px; }

.mb-100 {
  margin-bottom: 100px; }

.mb-110 {
  margin-bottom: 110px; }

.mb-120 {
  margin-bottom: 120px; }

.mb-130 {
  margin-bottom: 130px; }

.mb-140 {
  margin-bottom: 140px; }

.mb-150 {
  margin-bottom: 150px; }

.mb-160 {
  margin-bottom: 160px; }

.mb-170 {
  margin-bottom: 170px; }

.mb-180 {
  margin-bottom: 180px; }

.mb-190 {
  margin-bottom: 190px; }

.mb-200 {
  margin-bottom: 200px; }

.ml-5 {
  margin-left: 5px; }

.ml-10 {
  margin-left: 10px; }

.ml-15 {
  margin-left: 15px; }

.ml-20 {
  margin-left: 20px; }

.ml-25 {
  margin-left: 25px; }

.ml-30 {
  margin-left: 30px; }

.ml-40 {
  margin-left: 40px; }

.ml-50 {
  margin-left: 50px; }

.ml-60 {
  margin-left: 60px; }

.ml-70 {
  margin-left: 70px; }

.ml-80 {
  margin-left: 80px; }

.ml-90 {
  margin-left: 90px; }

.ml-100 {
  margin-left: 100px; }

.ml-110 {
  margin-left: 110px; }

.ml-120 {
  margin-left: 120px; }

.ml-130 {
  margin-left: 130px; }

.ml-140 {
  margin-left: 140px; }

.ml-150 {
  margin-left: 150px; }

.ml-160 {
  margin-left: 160px; }

.ml-170 {
  margin-left: 170px; }

.ml-180 {
  margin-left: 180px; }

.ml-190 {
  margin-left: 190px; }

.ml-200 {
  margin-left: 200px; }

.mr-10 {
  margin-right: 10px; }

.mr-15 {
  margin-right: 15px; }

.mr-20 {
  margin-right: 20px; }

.mr-30 {
  margin-right: 30px; }

.mr-40 {
  margin-right: 40px; }

.mr-50 {
  margin-right: 50px; }

.mr-60 {
  margin-right: 60px; }

.mr-70 {
  margin-right: 70px; }

.mr-80 {
  margin-right: 80px; }

.mr-90 {
  margin-right: 90px; }

.mr-100 {
  margin-right: 100px; }

.mr-110 {
  margin-right: 110px; }

.mr-120 {
  margin-right: 120px; }

.mr-130 {
  margin-right: 130px; }

.mr-140 {
  margin-right: 140px; }

.mr-150 {
  margin-right: 150px; }

.mr-160 {
  margin-right: 160px; }

.mr-170 {
  margin-right: 170px; }

.mr-180 {
  margin-right: 180px; }

.mr-190 {
  margin-right: 190px; }

.mr-200 {
  margin-right: 200px; }

/* padding 系 */
.p-c {
  padding: 0 auto; }

.pt-10 {
  padding-top: 10px; }

.pt-20 {
  padding-top: 20px; }

.pt-30 {
  padding-top: 30px; }

.pt-40 {
  padding-top: 40px; }

.pt-50 {
  padding-top: 50px; }

.pt-60 {
  padding-top: 60px; }

.pt-70 {
  padding-top: 70px; }

.pt-80 {
  padding-top: 80px; }

.pt-90 {
  padding-top: 90px; }

.pt-100 {
  padding-top: 100px; }

.pt-110 {
  padding-top: 110px; }

.pt-120 {
  padding-top: 120px; }

.pt-130 {
  padding-top: 130px; }

.pt-140 {
  padding-top: 140px; }

.pt-150 {
  padding-top: 150px; }

.pt-160 {
  padding-top: 160px; }

.pt-170 {
  padding-top: 170px; }

.pt-180 {
  padding-top: 180px; }

.pt-190 {
  padding-top: 190px; }

.pt-200 {
  padding-top: 200px; }

.pb-10 {
  padding-bottom: 10px; }

.pb-20 {
  padding-bottom: 20px; }

.pb-30 {
  padding-bottom: 30px; }

.pb-40 {
  padding-bottom: 40px; }

.pb-50 {
  padding-bottom: 50px; }

.pb-60 {
  padding-bottom: 60px; }

.pb-70 {
  padding-bottom: 70px; }

.pb-80 {
  padding-bottom: 80px; }

.pb-90 {
  padding-bottom: 90px; }

.pb-100 {
  padding-bottom: 100px; }

.pb-110 {
  padding-bottom: 110px; }

.pb-120 {
  padding-bottom: 120px; }

.pb-130 {
  padding-bottom: 130px; }

.pb-140 {
  padding-bottom: 140px; }

.pb-150 {
  padding-bottom: 150px; }

.pb-160 {
  padding-bottom: 160px; }

.pb-170 {
  padding-bottom: 170px; }

.pb-180 {
  padding-bottom: 180px; }

.pb-190 {
  padding-bottom: 190px; }

.pb-200 {
  padding-bottom: 200px; }

.pl-10 {
  padding-left: 10px; }

.pl-20 {
  padding-left: 20px; }

.pl-25 {
  padding-left: 25px; }

.pl-30 {
  padding-left: 30px; }

.pl-40 {
  padding-left: 40px; }

.pl-50 {
  padding-left: 50px; }

.pl-60 {
  padding-left: 60px; }

.pl-70 {
  padding-left: 70px; }

.pl-80 {
  padding-left: 80px; }

.pl-90 {
  padding-left: 90px; }

.pl-100 {
  padding-left: 100px; }

.pl-110 {
  padding-left: 110px; }

.pl-120 {
  padding-left: 120px; }

.pl-130 {
  padding-left: 130px; }

.pl-140 {
  padding-left: 140px; }

.pl-150 {
  padding-left: 150px; }

.pl-160 {
  padding-left: 160px; }

.pl-170 {
  padding-left: 170px; }

.pl-180 {
  padding-left: 180px; }

.pl-190 {
  padding-left: 190px; }

.pl-200 {
  padding-left: 200px; }

.pr-10 {
  padding-right: 10px; }

.pr-20 {
  padding-right: 20px; }

.pr-30 {
  padding-right: 30px; }

.pr-40 {
  padding-right: 40px; }

.pr-50 {
  padding-right: 50px; }

.pr-60 {
  padding-right: 60px; }

.pr-70 {
  padding-right: 70px; }

.pr-80 {
  padding-right: 80px; }

.pr-90 {
  padding-right: 90px; }

.pr-100 {
  padding-right: 100px; }

.pr-110 {
  padding-right: 110px; }

.pr-120 {
  padding-right: 120px; }

.pr-130 {
  padding-right: 130px; }

.pr-140 {
  padding-right: 140px; }

.pr-150 {
  padding-right: 150px; }

.pr-160 {
  padding-right: 160px; }

.pr-170 {
  padding-right: 170px; }

.pr-180 {
  padding-right: 180px; }

.pr-190 {
  padding-right: 190px; }

.pr-200 {
  padding-right: 200px; }

/*タブレット大*/
/*タブレット小*/
@media screen and (max-width: 1023px) {
  .mt-m10 {
    margin-top: 10px; }

  .mt-m15 {
    margin-top: 15px; }

  .mt-m20 {
    margin-top: 20px; }

  .mt-m25 {
    margin-top: 20px; }

  .mt-m30 {
    margin-top: 30px; }

  .mt-m35 {
    margin-top: 30px; }

  .mt-m40 {
    margin-top: 40px; }

  .mt-m45 {
    margin-top: 40px; }

  .mt-m50 {
    margin-top: 50px; }

  .mt-m55 {
    margin-top: 50px; }

  .mt-m60 {
    margin-top: 60px; }

  .mt-m70 {
    margin-top: 70px; }

  .mt-m80 {
    margin-top: 80px; }

  .mt-m90 {
    margin-top: 90px; }

  .mt-m100 {
    margin-top: 100px; }

  .mt-m110 {
    margin-top: 110px; }

  .mt-m120 {
    margin-top: 120px; }

  .mt-m130 {
    margin-top: 130px; }

  .mt-m140 {
    margin-top: 140px; }

  .mt-m150 {
    margin-top: 150px; }

  .mt-m160 {
    margin-top: 160px; }

  .mt-m170 {
    margin-top: 170px; }

  .mt-m180 {
    margin-top: 180px; }

  .mt-m190 {
    margin-top: 190px; }

  .mt-m200 {
    margin-top: 200px; }

  .mb-m10 {
    margin-bottom: 10px; }

  .mb-m15 {
    margin-bottom: 15px; }

  .mb-m20 {
    margin-bottom: 20px; }

  .mb-m30 {
    margin-bottom: 30px; }

  .mb-m40 {
    margin-bottom: 40px; }

  .mb-m50 {
    margin-bottom: 50px; }

  .mb-m60 {
    margin-bottom: 60px; }

  .mb-m70 {
    margin-bottom: 70px; }

  .mb-m80 {
    margin-bottom: 80px; }

  .mb-m90 {
    margin-bottom: 90px; }

  .mb-m100 {
    margin-bottom: 100px; }

  .mb-m110 {
    margin-bottom: 110px; }

  .mb-m120 {
    margin-bottom: 120px; }

  .mb-m130 {
    margin-bottom: 130px; }

  .mb-m140 {
    margin-bottom: 140px; }

  .mb-m150 {
    margin-bottom: 150px; }

  .mb-m160 {
    margin-bottom: 160px; }

  .mb-m170 {
    margin-bottom: 170px; }

  .mb-m180 {
    margin-bottom: 180px; }

  .mb-m190 {
    margin-bottom: 190px; }

  .mb-m200 {
    margin-bottom: 200px; }

  .ml-m5 {
    margin-left: 5px; }

  .ml-m10 {
    margin-left: 10px; }

  .ml-m20 {
    margin-left: 20px; }

  .ml-m30 {
    margin-left: 30px; }

  .ml-m40 {
    margin-left: 40px; }

  .ml-m50 {
    margin-left: 50px; }

  .ml-m60 {
    margin-left: 60px; }

  .ml-m70 {
    margin-left: 70px; }

  .ml-m80 {
    margin-left: 80px; }

  .ml-m90 {
    margin-left: 90px; }

  .ml-m100 {
    margin-left: 100px; }

  .ml-m110 {
    margin-left: 110px; }

  .ml-m120 {
    margin-left: 120px; }

  .ml-m130 {
    margin-left: 130px; }

  .ml-m140 {
    margin-left: 140px; }

  .ml-m150 {
    margin-left: 150px; }

  .ml-m160 {
    margin-left: 160px; }

  .ml-m170 {
    margin-left: 170px; }

  .ml-m180 {
    margin-left: 180px; }

  .ml-m190 {
    margin-left: 190px; }

  .ml-m200 {
    margin-left: 200px; }

  .mr-m10 {
    margin-right: 10px; }

  .mr-m20 {
    margin-right: 20px; }

  .mr-m30 {
    margin-right: 30px; }

  .mr-m40 {
    margin-right: 40px; }

  .mr-m50 {
    margin-right: 50px; }

  .mr-m60 {
    margin-right: 60px; }

  .mr-m70 {
    margin-right: 70px; }

  .mr-m80 {
    margin-right: 80px; }

  .mr-m90 {
    margin-right: 90px; }

  .mr-m100 {
    margin-right: 100px; }

  .mr-m110 {
    margin-right: 110px; }

  .mr-m120 {
    margin-right: 120px; }

  .mr-m130 {
    margin-right: 130px; }

  .mr-m140 {
    margin-right: 140px; }

  .mr-m150 {
    margin-right: 150px; }

  .mr-m160 {
    margin-right: 160px; }

  .mr-m170 {
    margin-right: 170px; }

  .mr-m180 {
    margin-right: 180px; }

  .mr-m190 {
    margin-right: 190px; }

  .mr-m200 {
    margin-right: 200px; } }
/*スマートフォン*/
@media screen and (max-width: 767px) {
  .mt-s0 {
    margin-top: 0px; }

  .mt-s10 {
    margin-top: 10px; }

  .mt-s15 {
    margin-top: 15px; }

  .mt-s20 {
    margin-top: 20px; }

  .mt-s25 {
    margin-top: 20px; }

  .mt-s30 {
    margin-top: 30px; }

  .mt-s35 {
    margin-top: 30px; }

  .mt-s40 {
    margin-top: 40px; }

  .mt-s45 {
    margin-top: 40px; }

  .mt-s50 {
    margin-top: 50px; }

  .mt-s55 {
    margin-top: 50px; }

  .mt-s60 {
    margin-top: 60px; }

  .mt-s70 {
    margin-top: 70px; }

  .mt-s80 {
    margin-top: 80px; }

  .mt-s90 {
    margin-top: 90px; }

  .mt-s100 {
    margin-top: 100px; }

  .mt-s110 {
    margin-top: 110px; }

  .mt-s120 {
    margin-top: 120px; }

  .mt-s130 {
    margin-top: 130px; }

  .mt-s140 {
    margin-top: 140px; }

  .mt-s150 {
    margin-top: 150px; }

  .mt-s160 {
    margin-top: 160px; }

  .mt-s170 {
    margin-top: 170px; }

  .mt-s180 {
    margin-top: 180px; }

  .mt-s190 {
    margin-top: 190px; }

  .mt-s200 {
    margin-top: 200px; }

  .mb-s0 {
    margin-bottom: 0px; }

  .mb-s10 {
    margin-bottom: 10px; }

  .mb-s15 {
    margin-bottom: 15px; }

  .mb-s20 {
    margin-bottom: 20px; }

  .mb-s30 {
    margin-bottom: 30px; }

  .mb-s40 {
    margin-bottom: 40px; }

  .mb-s50 {
    margin-bottom: 50px; }

  .mb-s60 {
    margin-bottom: 60px; }

  .mb-s70 {
    margin-bottom: 70px; }

  .mb-s80 {
    margin-bottom: 80px; }

  .mb-s90 {
    margin-bottom: 90px; }

  .mb-s100 {
    margin-bottom: 100px; }

  .mb-s110 {
    margin-bottom: 110px; }

  .mb-s120 {
    margin-bottom: 120px; }

  .mb-s130 {
    margin-bottom: 130px; }

  .mb-s140 {
    margin-bottom: 140px; }

  .mb-s150 {
    margin-bottom: 150px; }

  .mb-s160 {
    margin-bottom: 160px; }

  .mb-s170 {
    margin-bottom: 170px; }

  .mb-s180 {
    margin-bottom: 180px; }

  .mb-s190 {
    margin-bottom: 190px; }

  .mb-s200 {
    margin-bottom: 200px; }

  .ml-s0 {
    margin-left: 0px; }

  .ml-s5 {
    margin-left: 5px; }

  .ml-s10 {
    margin-left: 10px; }

  .ml-s20 {
    margin-left: 20px; }

  .ml-s30 {
    margin-left: 30px; }

  .ml-s40 {
    margin-left: 40px; }

  .ml-s50 {
    margin-left: 50px; }

  .ml-s60 {
    margin-left: 60px; }

  .ml-s70 {
    margin-left: 70px; }

  .ml-s80 {
    margin-left: 80px; }

  .ml-s90 {
    margin-left: 90px; }

  .ml-s100 {
    margin-left: 100px; }

  .ml-s110 {
    margin-left: 110px; }

  .ml-s120 {
    margin-left: 120px; }

  .ml-s130 {
    margin-left: 130px; }

  .ml-s140 {
    margin-left: 140px; }

  .ml-s150 {
    margin-left: 150px; }

  .ml-s160 {
    margin-left: 160px; }

  .ml-s170 {
    margin-left: 170px; }

  .ml-s180 {
    margin-left: 180px; }

  .ml-s190 {
    margin-left: 190px; }

  .ml-s200 {
    margin-left: 200px; }

  .mr-s0 {
    margin-right: 0px; }

  .mr-s10 {
    margin-right: 10px; }

  .mr-s20 {
    margin-right: 20px; }

  .mr-s30 {
    margin-right: 30px; }

  .mr-s40 {
    margin-right: 40px; }

  .mr-s50 {
    margin-right: 50px; }

  .mr-s60 {
    margin-right: 60px; }

  .mr-s70 {
    margin-right: 70px; }

  .mr-s80 {
    margin-right: 80px; }

  .mr-s90 {
    margin-right: 90px; }

  .mr-s100 {
    margin-right: 100px; }

  .mr-s110 {
    margin-right: 110px; }

  .mr-s120 {
    margin-right: 120px; }

  .mr-s130 {
    margin-right: 130px; }

  .mr-s140 {
    margin-right: 140px; }

  .mr-s150 {
    margin-right: 150px; }

  .mr-s160 {
    margin-right: 160px; }

  .mr-s170 {
    margin-right: 170px; }

  .mr-s180 {
    margin-right: 180px; }

  .mr-s190 {
    margin-right: 190px; }

  .mr-s200 {
    margin-right: 200px; }

  /* padding 系 */
  .pt-s0 {
    padding-top: 0; }

  .pt-s10 {
    padding-top: 10px; }

  .pt-s20 {
    padding-top: 20px; }

  .pt-s30 {
    padding-top: 30px; }

  .pt-s40 {
    padding-top: 40px; }

  .pt-s50 {
    padding-top: 50px; }

  .pt-s60 {
    padding-top: 60px; }

  .pt-s70 {
    padding-top: 70px; }

  .pt-s80 {
    padding-top: 80px; }

  .pt-s90 {
    padding-top: 90px; }

  .pt-s100 {
    padding-top: 100px; }

  .pt-s110 {
    padding-top: 110px; }

  .pt-s120 {
    padding-top: 120px; }

  .pt-s130 {
    padding-top: 130px; }

  .pt-s140 {
    padding-top: 140px; }

  .pt-s150 {
    padding-top: 150px; }

  .pt-s160 {
    padding-top: 160px; }

  .pt-s170 {
    padding-top: 170px; }

  .pt-s180 {
    padding-top: 180px; }

  .pt-s190 {
    padding-top: 190px; }

  .pt-s200 {
    padding-top: 200px; }

  .pb-s10 {
    padding-bottom: 10px; }

  .pb-s20 {
    padding-bottom: 20px; }

  .pb-s30 {
    padding-bottom: 30px; }

  .pb-s40 {
    padding-bottom: 40px; }

  .pb-s50 {
    padding-bottom: 50px; }

  .pb-s60 {
    padding-bottom: 60px; }

  .pb-s70 {
    padding-bottom: 70px; }

  .pb-s80 {
    padding-bottom: 80px; }

  .pb-s90 {
    padding-bottom: 90px; }

  .pb-s100 {
    padding-bottom: 100px; }

  .pb-s110 {
    padding-bottom: 110px; }

  .pb-s120 {
    padding-bottom: 120px; }

  .pb-s130 {
    padding-bottom: 130px; }

  .pb-s140 {
    padding-bottom: 140px; }

  .pb-s150 {
    padding-bottom: 150px; }

  .pb-s160 {
    padding-bottom: 160px; }

  .pb-s170 {
    padding-bottom: 170px; }

  .pb-s180 {
    padding-bottom: 180px; }

  .pb-s190 {
    padding-bottom: 190px; }

  .pb-s200 {
    padding-bottom: 200px; }

  .pl-s10 {
    padding-left: 10px; }

  .pl-s20 {
    padding-left: 20px; }

  .pl-s25 {
    padding-left: 25px; }

  .pl-s30 {
    padding-left: 30px; }

  .pl-s40 {
    padding-left: 40px; }

  .pl-s50 {
    padding-left: 50px; }

  .pl-s60 {
    padding-left: 60px; }

  .pl-s70 {
    padding-left: 70px; }

  .pl-s80 {
    padding-left: 80px; }

  .pl-s90 {
    padding-left: 90px; }

  .pl-s100 {
    padding-left: 100px; }

  .pl-s110 {
    padding-left: 110px; }

  .pl-s120 {
    padding-left: 120px; }

  .pl-s130 {
    padding-left: 130px; }

  .pl-s140 {
    padding-left: 140px; }

  .pl-s150 {
    padding-left: 150px; }

  .pl-s160 {
    padding-left: 160px; }

  .pl-s170 {
    padding-left: 170px; }

  .pl-s180 {
    padding-left: 180px; }

  .pl-s190 {
    padding-left: 190px; }

  .pl-s200 {
    padding-left: 200px; }

  .pr-s10 {
    padding-right: 10px; }

  .pr-s20 {
    padding-right: 20px; }

  .pr-s30 {
    padding-right: 30px; }

  .pr-s40 {
    padding-right: 40px; }

  .pr-s50 {
    padding-right: 50px; }

  .pr-s60 {
    padding-right: 60px; }

  .pr-s70 {
    padding-right: 70px; }

  .pr-s80 {
    padding-right: 80px; }

  .pr-s90 {
    padding-right: 90px; }

  .pr-s100 {
    padding-right: 100px; }

  .pr-s110 {
    padding-right: 110px; }

  .pr-s120 {
    padding-right: 120px; }

  .pr-s130 {
    padding-right: 130px; }

  .pr-s140 {
    padding-right: 140px; }

  .pr-s150 {
    padding-right: 150px; }

  .pr-s160 {
    padding-right: 160px; }

  .pr-s170 {
    padding-right: 170px; }

  .pr-s180 {
    padding-right: 180px; }

  .pr-s190 {
    padding-right: 190px; }

  .pr-s200 {
    padding-right: 200px; } }
/* フェードイン アニメーション */
.fadein {
  opacity: 0;
  visibility: hidden;
  transition: 1.5s;
  transform: translateY(30px); }

.fadein-r {
  opacity: 0;
  visibility: hidden;
  transition: 1.5s;
  transform: translateX(60px); }

.fadein-l {
  opacity: 0;
  visibility: hidden;
  transition: 1.5s;
  transform: translateX(-60px); }

.active {
  opacity: 1;
  visibility: visible;
  transform: translateY(0) translateX(0); }

.opa0 {
  opacity: 0;
  transition: 1s; }

.opa1 {
  opacity: 1; }

/* textyle */
.textyle {
  opacity: 0; }

.textyle span {
  position: relative;
  /* topとleftの値を変えることで入ってくる位置を調整 */
  top: 0px;
  left: 0px;
  opacity: 0; }

/*スクロールbar*/
.scroll-bar {
  bottom: 0;
  left: 10vw; }

.scroll-bar a {
  display: inline-block;
  padding: 0 0 105px; }

.scroll-bar a::after {
  content: '';
  position: absolute;
  bottom: 30px;
  left: 50%;
  width: 1px;
  height: 100px;
  background-color: #004077; }

.scroll-bar a::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 1px;
  height: 110px;
  background-color: #fff; }

.scroll-bar a::after {
  height: 40px;
  animation: sdl 1.5s ease infinite; }

@keyframes sdl {
  0% {
    transform: translateY(-70px); }
  50%, 100% {
    transform: translateY(30px); } }
.scroll-text {
  font-size: 1rem;
  line-height: 1;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  writing-mode: vertical-lr;
  top: 0;
  left: 15px; }

.scroll-about {
  left: 50%; }

@media screen and (max-width: 1050px) {
  .scroll-bar a {
    padding: 0 0 75px; }

  .scroll-bar a::before {
    height: 80px; }

  .scroll-bar a::after {
    height: 30px; }

  .scroll-bar {
    left: 50%; }

  .scroll-about {
    left: 50%; }

  @keyframes sdl {
    0% {
      transform: translateY(-30px); }
    50%, 100% {
      transform: translateY(30px); } } }
/* 2等分カラムレイアウト $m2に余白を指定する 初期値は0 */
/* 3等分カラムレイアウト $m3に余白を指定する 初期値は0 */
/* 4等分カラムレイアウト $m4に余白を指定する 初期値は0 */
/* common */
html {
  font-size: 62.5%; }

.big {
  font-size: 75%; }

.small {
  font-size: 56.25%; }

body {
  background-color: #fff;
  color: #221A14;
  text-align: center;
  font-size: 1.8rem;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  line-height: 2; }

a {
  color: #221A14; }

.button-long {
  width: 280px; }

.button-small {
  width: 240px; }

.button-ham {
  position: relative;
  width: 16px;
  height: 18px; }
  .button-ham span {
    display: inline-block;
    position: absolute;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #A0A6D3;
    transition: 0.3s; }
  .button-ham span:first-child {
    top: 0; }
  .button-ham span:nth-child(2) {
    top: 50%; }
  .button-ham span:nth-child(3) {
    bottom: 0; }

.ac-btn {
  position: relative;
  width: 16px;
  height: 1px; }
  .ac-btn span {
    display: inline-block;
    position: absolute;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #A0A6D3;
    transition: 0.3s; }
  .ac-btn span:nth-child(2) {
    transform: rotate(90deg); }

.ac-btn.active span:nth-child(2) {
  transform: rotate(0); }

/* conはcontentsの略 */
.con {
  width: 1128px;
  margin: 0 auto; }

.s-con {
  width: 768px;
  margin: 0 auto; }

.p-con {
  width: 85%;
  margin: 0 auto; }

.side-con {
  width: 270px;
  margin: 0 auto; }

.column-sec {
  margin-top: 100px; }

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

.h1 {
  font-size: 3.6rem; }

.h2 {
  font-size: 3.2rem; }

.h3 {
  font-size: 2rem; }

.h4 {
  font-size: 2rem; }

.fs-24 {
  font-size: 2.4rem; }

.fs-16 {
  font-size: 1.6rem; }

.fs-14 {
  font-size: 1.4rem; }

.fs-12 {
  font-size: 1.2rem; }

.fs-10 {
  font-size: 1rem; }

.day-text {
  font-size: 1.4rem;
  color: rgba(34, 26, 20, 0.5);
  line-height: 1; }

.fw-b {
  font-weight: bold; }

.lh-16 {
  line-height: 1.6; }

.blue-b {
  background-color: #414EA7; }

.blue-b2 {
  background-color: #A0A6D3; }

.blue-b3 {
  background-color: #5E7FC2; }

.green-b {
  background-color: #8FCB72; }

.red-b {
  background-color: #F8829E; }

.white-b {
  background-color: #fff; }

.white-b2 {
  background-color: rgba(255, 255, 255, 0.5); }

.gray-b {
  background-color: #CCCCCC; }

.gray-b2 {
  background-color: #EDEDEC; }

.gray-b3 {
  background-color: #F7FBFC; }

.black-b {
  background-color: #221A14; }

.black-h-b {
  background-color: rgba(34, 26, 20, 0.5); }

.blue-t {
  color: #414EA7; }

.blue-t2 {
  color: #A0A6D3; }

.gray-t {
  color: rgba(34, 26, 20, 0.5); }

.white-t {
  color: #fff; }

.white-t2 {
  color: rgba(255, 255, 255, 0.5); }

.title-line-wr {
  display: flex;
  align-items: center;
  line-height: 1.6; }

.title-line {
  display: inline-block;
  background-color: #414EA7;
  width: 4px;
  height: 64px;
  margin-right: 15px; }

.sec-title-line {
  width: 2px;
  height: 60px;
  background-color: #221A14;
  margin: 0 auto; }

.new-circle {
  border-radius: 50%;
  width: 48px;
  height: 48px;
  top: -10px;
  left: -7px; }

.cat-square {
  padding: 7px 30px;
  background-color: #6E9BB9;
  left: 0;
  bottom: 0; }

.arrow12 {
  width: 12px; }

.list-arrow {
  transform: rotate(-90deg) translateY(-6px) translateX(3px);
  width: 12px; }

.arrow-l {
  transform: rotate(90deg) translateX(12px); }

.arrow-r {
  transform: rotate(270deg) translateX(-12px); }

.middle-h-line {
  margin-top: 10px; }

.res-on {
  display: none; }

.phone-on {
  display: none; }

.hover-b {
  transition: 0.3s; }
  .hover-b:hover {
    opacity: 1 !important;
    background-color: #414EA7 !important; }

.hover-b-t {
  transition: 0.3s; }
  .hover-b-t:hover {
    color: #414EA7; }

.aspect {
  position: relative;
  overflow: hidden;
  width: 100%; }

.aspect16-9::before {
  content: '';
  display: block;
  padding-top: 56.25%;
  /* 16:9 */ }

.aspect2-1::before {
  content: '';
  display: block;
  padding-top: 50%;
  /* 2:1 */ }

.aspect1-1::before {
  content: '';
  display: block;
  padding-top: 100%;
  /* 1:1 */ }

.aspect img {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 100%;
  height: 100%;
  object-fit: cover; }

.bread-wr {
  font-weight: bold;
  font-size: 1.2rem;
  line-height: 1; }
  .bread-wr span {
    display: inline-block;
    margin-bottom: 10px; }
  .bread-wr a {
    transition: 0.3s;
    color: #414EA7;
    border-bottom: 1px solid #414EA7; }
    .bread-wr a:hover {
      opacity: 0.7; }

.bread-arrow-wr {
  display: inline-block;
  margin: 0 15px; }

.bread-arrow {
  transform: rotate(-90deg) translateX(1px);
  width: 12px; }

.s-bar {
  margin-top: 30px; }

.s-bar:first-child {
  margin-top: 0; }

.s-bar-title-wr {
  padding: 30px 20px;
  border-radius: 8px 8px 0 0; }

.s-bar-list-wr {
  display: none; }

.s-bar-list {
  padding: 30px 20px;
  border: 1px solid #EDEDEC;
  border-top: none;
  line-height: 1.6; }
  .s-bar-list li {
    margin-bottom: 20px; }
  .s-bar-list li:last-child {
    margin-bottom: 0; }
  .s-bar-list .current {
    position: relative; }
  .s-bar-list .current a {
    pointer-events: none;
    color: #414EA7; }

.current-line {
  position: absolute;
  background-color: #414EA7;
  height: 42px;
  width: 4px;
  left: -21px;
  top: 50%;
  transform: translateY(-50%); }

.s-bar-lab {
  display: block;
  margin-top: 0; }
  .s-bar-lab .s-bar-title-wr {
    padding: 20px 20px;
    border-radius: 0; }
  .s-bar-lab .button-ham span {
    background-color: #fff; }
  .s-bar-lab .ac-btn span {
    background-color: #fff; }

.s-bar-bio .current a {
  color: #F8829E; }
.s-bar-bio .current-line {
  background-color: #F8829E; }

.s-bar-res .current a {
  color: #5E7FC2; }
.s-bar-res .current-line {
  background-color: #5E7FC2; }

.s-bar-mat .current a {
  color: #8FCB72; }
.s-bar-mat .current-line {
  background-color: #8FCB72; }

.book-svg {
  width: 18px; }

.fill-w {
  fill: #fff; }

.fill-b {
  fill: #221A14; }

.stroke-w {
  stroke: #fff; }

.stroke-b {
  stroke: #221A14; }

/* header */
.h-upper {
  font-size: 14px; }

.h-logo-wr {
  margin-left: 2%; }

.logo {
  max-width: 450px; }

.logo-icon {
  max-width: 223px; }

.logo-text {
  width: 174px; }

.logo-en {
  width: 225px; }

.logo-text-en {
  font-weight: bold;
  font-size: clamp(10px, 1.5vw, 18px); }

.h-right {
  white-space: nowrap; }

.text-change-p {
  padding-top: 15px;
  margin-right: 10px;
  font-size: 14px; }

.text-change-current {
  display: inline-block;
  line-height: 1;
  padding: 11px;
  border-radius: 5px;
  font-size: 18px;
  position: relative;
  z-index: 2; }

.text-change-list-wr {
  top: -5px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
  display: none; }

.text-change-list {
  background-color: #EDEDEC;
  line-height: 1;
  border: 1px solid #A0A6D3;
  border-radius: 8px;
  padding: 45px 0 0; }
  .text-change-list li {
    border-bottom: 1px solid #A0A6D3;
    padding: 0 3px; }
    .text-change-list li a {
      display: inline-block;
      line-height: 1;
      padding: 11px;
      font-size: 18px;
      font-weight: bold;
      color: rgba(34, 26, 20, 0.5); }
  .text-change-list li:last-child {
    border-bottom: none; }

.h-serch {
  line-height: 1;
  background-color: #EDEDEC;
  border: none;
  width: 240px;
  height: 50px;
  border-radius: 50px;
  padding-left: 15px;
  margin: 0 15px; }

.search-glass {
  background-color: transparent;
  border: none;
  display: inline-block;
  width: 34px;
  left: auto;
  right: 10px; }

.h-search-wr-res {
  display: none; }

.h-link-list {
  margin-right: 20px; }
  .h-link-list li {
    margin-right: 10px;
    font-size: 14px; }
    .h-link-list li span {
      font-size: 18px; }

.pamph {
  width: 300px;
  align-items: center;
  justify-content: center;
  padding: 15px 0;
  font-size: 18px; }

.pamph-book {
  padding-top: 10px; }

.g-navi {
  padding: 0 1%;
  padding-top: 10px;
  font-size: 16px; }
  .g-navi li a {
    padding-bottom: 10px; }

.navi-border {
  display: inline-block;
  height: 25px;
  width: 1px;
  background-color: #fff;
  opacity: 0.5;
  transform: rotate(20deg); }

/* footer */
.footer-box-title {
  font-size: 18px; }

.footer-list-wr {
  font-size: 12px;
  border-left: 1px solid #A0A6D3; }

.footer-list li {
  line-height: 1;
  margin-bottom: 20px; }

.footer-under {
  font-size: 12px; }

.footer-pamph {
  width: 350px;
  border-radius: 5px; }

.footer-site-list li {
  line-height: 1;
  margin-left: 30px;
  border-bottom: 1px solid #fff; }
.footer-site-list li:first-child {
  margin-left: 0; }

.copyright {
  font-size: 12px; }

.tel-link {
  pointer-events: none !important; }

.tel-link:hover {
  pointer-events: none; }

/* ページ毎のstyle */
.slider-list {
  display: flex;
  flex-wrap: wrap;
  margin: 0 auto;
  width: 100%;
  flex-wrap: nowrap !important;
  justify-content: space-between !important; }
  .slider-list li {
    width: calc(33.3% - 2.5% * 2 / 3); }
  .slider-list li:nth-child(2) {
    margin: 0 2.5%; }
  .slider-list li:nth-child(3n+2) {
    margin: 0 2.5%; }
  @media screen and (max-width: 768px) {
    .slider-list li {
      width: 100%;
      margin-bottom: 40px; }
      .slider-list li a {
        width: 100%; }
    .slider-list li:nth-child(2) {
      margin: 0;
      margin-bottom: 40px; }
    .slider-list li:nth-child(3n+2) {
      margin: 0;
      margin-bottom: 40px; }
    .slider-list li:last-child {
      margin-bottom: 0; } }
  .slider-list li {
    margin: 0 !important; }
    .slider-list li a {
      border: 2px solid #EDEDEC;
      border-radius: 10px;
      max-width: 356px;
      max-height: 178px; }
      .slider-list li a img {
        border-radius: 6px;
        width: 100%;
        height: 100%;
        object-fit: cover; }

.slider-btn-wr {
  top: 40%;
  transform: translateY(-50%);
  z-index: 1; }

.slider-pre-btn-wr {
  left: -100px; }

.slider-nex-btn-wr {
  left: auto;
  right: -100px; }

.slider-btn {
  display: inline-block;
  width: 64px;
  height: 64px;
  border-radius: 5px; }

.slider-arrow {
  width: 24px;
  stroke-width: 1.5; }

.slider-aquare-list li {
  display: inline-block;
  width: 24px;
  height: 6px;
  background-color: #EDEDEC;
  margin: 0 5px; }
.slider-aquare-list li.current {
  background-color: #414EA7; }

.image-list a:hover .list-title, .cat-list a:hover .cat-list-title {
  color: #414EA7; }

.image-list a:hover .list-under-circle, .cat-list a:hover .list-under-circle {
  background-color: #414EA7;
  transform: translateX(5px); }

.toppage-list {
  display: flex;
  flex-wrap: wrap;
  margin: 0 auto;
  width: 100%; }
  .toppage-list li {
    width: calc(33.3% - 2.5% * 2 / 3); }
  .toppage-list li:nth-child(2) {
    margin: 0 2.5%; }
  .toppage-list li:nth-child(3n+2) {
    margin: 0 2.5%; }
  @media screen and (max-width: 768px) {
    .toppage-list li {
      width: 100%;
      margin-bottom: 40px; }
      .toppage-list li a {
        width: 100%; }
    .toppage-list li:nth-child(2) {
      margin: 0;
      margin-bottom: 40px; }
    .toppage-list li:nth-child(3n+2) {
      margin: 0;
      margin-bottom: 40px; }
    .toppage-list li:last-child {
      margin-bottom: 0; } }

.topics-list li a {
  display: block; }

.list-upper {
  min-height: 420px; }

.list-title {
  line-height: 1.5; }

.list-under-line {
  height: 2px;
  width: 40px; }

.list-under-circle {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  transition: 0.3s; }

.top-button {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 60px;
  background-color: #414EA7;
  border-radius: 5px;
  margin: 0 auto;
  transition: 0.3s; }
  .top-button:hover {
    background-color: #A0A6D3; }
  .top-button:hover .button-ham span {
    background-color: #414EA7;
    opacity: 0.5; }
  .top-button p {
    color: #fff;
    font-weight: bold;
    font-size: 1.4rem; }

.top-link-list {
  display: flex;
  flex-wrap: wrap;
  margin: 0 auto;
  width: 100%; }
  .top-link-list li {
    width: calc(33.3% - 2.5% * 2 / 3); }
  .top-link-list li:nth-child(2) {
    margin: 0 2.5%; }
  .top-link-list li:nth-child(3n+2) {
    margin: 0 2.5%; }
  @media screen and (max-width: 768px) {
    .top-link-list li {
      width: 100%;
      margin-bottom: 40px; }
      .top-link-list li a {
        width: 100%; }
    .top-link-list li:nth-child(2) {
      margin: 0;
      margin-bottom: 40px; }
    .top-link-list li:nth-child(3n+2) {
      margin: 0;
      margin-bottom: 40px; }
    .top-link-list li:last-child {
      margin-bottom: 0; } }
  .top-link-list li {
    margin-bottom: 30px; }
    .top-link-list li a img {
      border-radius: 5px; }

.labtop-list {
  display: flex;
  flex-wrap: wrap;
  margin: 0 auto;
  width: 100%; }
  .labtop-list li {
    width: calc(33.3% - 2.5% * 2 / 3); }
  .labtop-list li:nth-child(2) {
    margin: 0 2.5%; }
  .labtop-list li:nth-child(3n+2) {
    margin: 0 2.5%; }
  @media screen and (max-width: 768px) {
    .labtop-list li {
      width: 100%;
      margin-bottom: 40px; }
      .labtop-list li a {
        width: 100%; }
    .labtop-list li:nth-child(2) {
      margin: 0;
      margin-bottom: 40px; }
    .labtop-list li:nth-child(3n+2) {
      margin: 0;
      margin-bottom: 40px; }
    .labtop-list li:last-child {
      margin-bottom: 0; } }
  .labtop-list li a:hover .lab-arrow-wr {
    transform: translateY(5px); }

.lab-arrow-wr {
  transition: 0.3s;
  left: auto;
  right: 5%;
  top: 35%; }

.cource-title-wr {
  padding: 25px 0;
  padding-left: 25px;
  border-bottom: 4px solid #EDEDEC; }

.lab-list {
  display: flex;
  flex-wrap: wrap;
  margin: 0 auto;
  width: 100%; }
  .lab-list li {
    width: calc(33.3% - 2.5% * 2 / 3); }
  .lab-list li:nth-child(2) {
    margin: 0 2.5%; }
  .lab-list li:nth-child(3n+2) {
    margin: 0 2.5%; }
  @media screen and (max-width: 768px) {
    .lab-list li {
      width: 100%;
      margin-bottom: 40px; }
      .lab-list li a {
        width: 100%; }
    .lab-list li:nth-child(2) {
      margin: 0;
      margin-bottom: 40px; }
    .lab-list li:nth-child(3n+2) {
      margin: 0;
      margin-bottom: 40px; }
    .lab-list li:last-child {
      margin-bottom: 0; } }
  .lab-list li {
    margin-bottom: 30px; }
    .lab-list li a {
      display: block; }

.labo-en {
  pointer-events: none !important; }

.fac-list {
  display: flex;
  flex-wrap: wrap;
  margin: 0 auto;
  width: 100%; }
  .fac-list li {
    width: calc(25% - 5% * 3 / 4); }
  .fac-list li {
    margin-right: 5%; }
  .fac-list li:nth-child(4n) {
    margin-right: 0; }
  @media screen and (max-width: 768px) {
    .fac-list li {
      width: calc(50% - 5% / 2); }
    .fac-list li {
      margin-right: 5%; }
    .fac-list li:nth-child(2n) {
      margin-right: 0; } }
  .fac-list li {
    margin-bottom: 60px; }

.icon-rg {
  height: 32px; }

.icon-research {
  height: 32px; }

.fac-btn {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 42px;
  background-color: #414EA7;
  border-radius: 5px;
  margin: 0 auto;
  transition: 0.3s; }
  .fac-btn:hover {
    background-color: #A0A6D3; }
  .fac-btn:hover .button-ham span {
    background-color: #414EA7;
    opacity: 0.5; }
  .fac-btn p {
    color: #fff;
    font-weight: bold;
    font-size: 1.4rem; }

.fac-cource-en {
  color: #CCCCCC;
  font-size: 1.2rem;
  font-weight: bold;
  line-height: 1; }

.column-sec-detail {
  margin-bottom: 150px; }

.staff-list {
  display: flex;
  flex-wrap: wrap;
  margin: 0 auto;
  width: 100%; }
  .staff-list li {
    width: calc(50% - 3% / 2); }
  .staff-list li:nth-child(2n) {
    margin-left: 3%; }
  @media screen and (max-width: 768px) {
    .staff-list {
      display: block; }
      .staff-list li {
        width: 100%;
        margin-bottom: 30px; }
        .staff-list li a {
  }
      .staff-list li:nth-child(2n) {
        margin-left: 0; }
      .staff-list li:last-child {
        margin-bottom: 0; } }
  .staff-list li {
    background-color: #F7FBFC;
    padding-bottom: 20px;
    border: 1px solid #EDEDEC; }

.staff-image {
  width: 160px; }

.staff-btn-list {
  display: flex;
  flex-wrap: wrap;
  margin: 0 auto;
  width: 100%; }
  .staff-btn-list li {
    width: calc(33.3% - 2.5% * 2 / 3); }
  .staff-btn-list li:nth-child(2) {
    margin: 0 2.5%; }
  .staff-btn-list li:nth-child(3n+2) {
    margin: 0 2.5%; }
  @media screen and (max-width: 768px) {
    .staff-btn-list li {
      width: 100%;
      margin-bottom: 15px; }
      .staff-btn-list li a {
        width: 100%; }
    .staff-btn-list li:nth-child(2) {
      margin: 0;
      margin-bottom: 15px; }
    .staff-btn-list li:nth-child(3n+2) {
      margin: 0;
      margin-bottom: 15px; }
    .staff-btn-list li:last-child {
      margin-bottom: 0; } }

.staff-btn {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 42px;
  background-color: #414EA7;
  border-radius: 5px;
  margin: 0 auto;
  transition: 0.3s; }
  .staff-btn:hover {
    background-color: #A0A6D3; }
  .staff-btn:hover .button-ham span {
    background-color: #414EA7;
    opacity: 0.5; }
  .staff-btn p {
    color: #fff;
    font-weight: bold;
    font-size: 1.4rem; }

.cat-list li {
  margin-top: 30px; }
  .cat-list li a {
    display: block; }
.cat-list li:first-child {
  margin-top: 0; }

.cat-list-image {
  max-width: 240px;
  min-width: 180px; }

.cat-upper {
  align-items: flex-start; }

.single-day-wr .day-text {
  color: #221A14; }

.single-day-cat-line {
  width: 1px;
  min-height: 32px;
  background-color: #221A14;
  margin: 0 30px; }

.single-cat-list li {
  margin-right: 20px; }
  .single-cat-list li a {
    color: #221A14; }

.single-sec h2 {
  font-size: 3.2rem;
  font-weight: bold;
  display: flex;
  align-items: center;
  line-height: 1.6;
  margin-top: 60px;
  margin-bottom: 20px; }
.single-sec h3 {
  line-height: 1.6;
  margin: 20px 0;
  font-size: 2rem;
  font-weight: bold;
  padding-bottom: 10px;
  border-bottom: 2px solid #414EA7; }
.single-sec h4 {
  font-size: 2rem;
  line-height: 1.6;
  margin-top: 40px;
  margin-bottom: 10px; }
.single-sec table {
  margin-top: 30px;
  margin-bottom: 40px;
  text-align: center; }
  .single-sec table tr:first-child td {
    background-color: #E6E8F3; }
  .single-sec table th {
    padding: 5px 15px;
    background-color: #E6E8F3;
    border: 1px solid #CCCCCC; }
  .single-sec table td {
    padding: 5px 15px;
    border: 1px solid #CCCCCC; }
.single-sec a {
  display: inline-block;
  color: #414EA7;
  transition: 0.3s; }
  .single-sec a:hover {
    opacity: 0.7; }
.single-sec img {
  max-width: 100%;
  height: auto; }
.single-sec ol {
  list-style-position: inside;
  padding-left: 1em;
  text-indent: -1em; }
.single-sec ul {
  padding-left: 1em;
  text-indent: -1em; }
.single-sec .s-iframe {
  max-width: 100%;
  position: relative; }
  .single-sec .s-iframe iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

.post-link-ham {
  position: relative;
  width: 24px;
  height: 18px;
  margin: 0 auto; }
  .post-link-ham span {
    background-color: #221A14; }

.post-link {
  width: 35%; }

.detail-sec h3 {
  margin-top: 60px; }

.search-con {
  border: 1px solid #EDEDEC;
  padding: 80px 0; }

.search-list-wr {
  width: 85%;
  margin: 0 auto; }

.search-list li {
  margin-top: 0;
  padding-top: 10px; }

.search-page-navi-sec {
  margin-top: -40px; }

.search-s-con {
  margin: 0 auto !important; }

.search-highlight {
  background-color: #FFFF4D; }

.page-navi-sec {
  margin-bottom: 100px; }

.page-navi-wr {
  text-align: center;
  border-top: 1px solid #000;
  margin-top: 40px;
  padding-top: 30px; }

.wp-pagenavi {
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 1; }
  .wp-pagenavi a {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 40px;
    height: 40px;
    transition: 0.3s;
    margin: 0 2px 20px;
    padding: 0;
    border: none !important; }
  .wp-pagenavi .current {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 40px;
    height: 40px;
    margin: 0 2px 20px;
    padding: 0;
    border: none;
    border-bottom: 3px solid #414EA7; }
  .wp-pagenavi .first {
    color: #fff;
    background-color: #A0A6D3;
    height: 40px;
    width: 64px;
    border-radius: 5px;
    margin: 0;
    padding: 0; }
  .wp-pagenavi .last {
    color: #fff;
    background-color: #A0A6D3;
    height: 40px;
    width: 64px;
    border-radius: 5px;
    margin: 0;
    padding: 0; }
  .wp-pagenavi .previouspostslink {
    background-color: #A0A6D3;
    border-radius: 5px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 40px;
    height: 40px;
    margin: 0 5px;
    margin-right: 10px;
    padding: 0;
    transform: translateY(-2px); }
  .wp-pagenavi .nextpostslink {
    background-color: #A0A6D3;
    border-radius: 5px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 40px;
    height: 40px;
    margin: 0 5px;
    margin-left: 10px;
    padding: 0;
    transform: translateY(-2px); }
    .wp-pagenavi .nextpostslink .pagenavi-arrow {
      transform: rotate(270deg); }
  .wp-pagenavi .pagenavi-arrow {
    width: 8px;
    transform: rotate(90deg);
    stroke: #fff; }
  .wp-pagenavi a:hover {
    background-color: #414EA7;
    color: #fff; }
  .wp-pagenavi .pages {
    display: none; }
  .wp-pagenavi .extend {
    border: none;
    letter-spacing: 0.2em; }

@media screen and (max-width: 1356px) {
  /* common */
  body {
    padding-top: 78px; }

  .con {
    width: 86%;
    margin: 0 auto; }

  .s-con {
    margin-right: 2%; }

  .p-con {
    width: 100%; }

  .search-s-con {
    width: 100%; }

  /* header */
  .header {
    width: 100%;
    height: fit-content;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    overflow-y: auto;
    z-index: 5000; }

  .header.active {
    height: auto; }

  .h-upper {
    display: block;
    background-color: #414EA7;
    padding: 25px 0 20px; }

  .h-con-res {
    display: flex; }

  .h-logo-wr {
    margin-left: 0%; }

  .logo {
    max-width: auto; }

  .logo-en {
    width: 174px; }

  .h-logo-icon {
    width: 100px; }

  .h-logo-text {
    padding-top: 5px;
    width: 130px; }

  .h-icon-wr-res {
    transform: translateX(4vw); }

  .h-grass-res-wr {
    margin-right: 6vw; }

  .h-grass-res svg {
    width: 24px; }

  .h-grass-res.active {
    display: none; }

  .h-grass-cross {
    display: none !important; }

  .h-grass-cross.active {
    display: inline-block !important;
    position: relative;
    width: 24px;
    height: 22px; }
    .h-grass-cross.active span {
      display: inline-block;
      position: absolute;
      top: 45%;
      left: 0;
      height: 2px;
      width: 100%;
      background-color: #fff; }
    .h-grass-cross.active span:first-child {
      transform: rotate(45deg); }
    .h-grass-cross.active span:nth-child(2) {
      transform: rotate(-45deg); }

  .h-ham {
    width: 24px;
    height: 22px; }
    .h-ham span {
      height: 2px;
      background-color: #fff; }
    .h-ham span:nth-child(2) {
      top: 45%; }
    .h-ham span:nth-child(3) {
      width: 60%; }

  .h-ham.active span:first-child {
    top: 45%;
    transform: rotate(45deg); }
  .h-ham.active span:nth-child(2) {
    transform: rotate(-45deg); }
  .h-ham.active span:nth-child(3) {
    opacity: 0; }

  .h-site-list-wr {
    font-size: 12px;
    margin-top: 40px; }

  .h-pamph-wr {
    margin-top: 20px; }

  .pamph {
    max-width: 356px;
    width: 100%;
    margin: 0 auto; }

  .h-close-btn {
    margin-top: 60px;
    font-size: 14px;
    display: inline-flex;
    justify-content: space-between;
    align-items: center;
    width: 120px;
    height: 50px;
    padding: 0 20px;
    border: 2px solid rgba(255, 255, 255, 0.5);
    border-radius: 40px; }

  .cross {
    position: relative;
    display: inline-block;
    width: 12px;
    height: 1px;
    transform: rotate(45deg); }
    .cross span {
      position: absolute;
      display: block;
      height: 1px;
      width: 100%;
      background-color: #fff;
      top: 0;
      left: 0; }
    .cross span:nth-child(2) {
      transform: rotate(90deg); }

  .h-search-wr-res {
    background-color: #414EA7;
    padding: 20px 0 50px; }

  .h-search-wr {
    width: 100%;
    max-width: 356px;
    display: inline-block; }

  .search-upper-text {
    display: block;
    font-size: 14px; }

  .h-serch {
    width: 100%;
    height: 60px;
    border-radius: 8px;
    padding-left: 25px;
    margin: 10px 0; }

  .search-glass {
    background-color: transparent;
    border: none;
    display: inline-block;
    width: 34px;
    left: auto;
    right: 0; }

  .g-navi-wr {
    display: none;
    padding-bottom: 50px;
    margin-top: 0; }

  .g-navi {
    display: block;
    padding: 0;
    padding-top: 0px;
    font-size: 16px;
    text-align: left; }
    .g-navi li {
      width: 100%; }
    .g-navi li a {
      padding: 15px 0; }

  .navi-border {
    display: block;
    height: 1px;
    width: 100%;
    background-color: rgba(255, 255, 255, 0.5);
    opacity: 1;
    transform: rotate(0deg); }

  /* footer */
  .footer-logo {
    display: block; }
    .footer-logo .logo-text {
      margin-top: 10px;
      margin-left: 0; }

  .footer-address-wr {
    margin-top: 15px; }

  .footer-pamph {
    margin-top: 20px;
    width: 100%; }

  .footer-site-list-wr {
    margin-top: 30px; }

  .footer-site-list {
    flex-wrap: wrap;
    justify-content: flex-start; }
    .footer-site-list li {
      margin-left: 0;
      margin-right: 30px;
      margin-bottom: 20px; }
    .footer-site-list li:last-child {
      margin-right: 0; }

  .copyright-wr {
    margin-top: 60px; }

  .tel-link {
    pointer-events: auto !important; }
    .tel-link span {
      margin-left: 0; }

  .tel-link:hover {
    pointer-events: auto; }

  /* 1356以下で表示する要素 */
  .res-on {
    display: block; }

  /* ページ毎のstyle */
  .slider-pre-btn-wr {
    left: -8%; }

  .slider-nex-btn-wr {
    right: -8%; }

  /* 1356以下で非表示 */
  .res-off {
    display: none; } }
@media screen and (max-width: 768px) {
  .hr-bold {
    height: 8px; }

  .s-con {
    width: 100%;
    margin-right: 0; }

  .side-con {
    width: 100%;
    margin-top: 80px; }

  .column-sec {
    margin-top: 100px; }

  .column-wr {
    display: block; }

  /* 768以下で表示する要素 */
  .phone-on {
    display: block; }

  /* ページ毎のstyle */
  .slider-sec {
    background-color: #F7FBFC; }

  .slider-list li a {
    border: none;
    border-radius: 0px;
    max-width: 100%;
    max-height: 100%; }
    .slider-list li a img {
      border-radius: 0px; }

  .slider-btn {
    display: inline-block;
    width: 48px;
    height: 48px;
    border-radius: 5px 0 0 5px; }

  .slider-pre-btn {
    border-radius: 0 5px 5px 0; }

  .slider-arrow {
    display: none; }

  .slider-aquare-list {
    transform: translateY(20px); }

  .sec-title-under {
    letter-spacing: 0.1em; }

  .list-upper {
    min-height: auto; }

  .list-under {
    margin-top: 20px; }

  .top-link-list li {
    margin-bottom: 30px; }
    .top-link-list li a {
      width: 100%; }
      .top-link-list li a img {
        border-radius: 0; }

  .lab-arrow-wr {
    right: 5.5%; }

  .labtop-list li {
    margin-bottom: 10px !important; }

  .lab-list-wr {
    margin-top: 60px; }

  .cource-title-wr {
    width: 100vw;
    transform: translateX(-7%);
    padding: 25px 0;
    padding-left: 25px;
    display: block;
    text-align: left;
    overflow: hidden; }

  .cource-title {
    transform: translateX(5%); }

  .cource-title-en {
    transform: translateX(5%);
    margin-left: 0;
    margin-top: 10px; }

  .column-sec-detail {
    margin-bottom: 100px; }

  .staff-image {
    width: 120px; }

  .staff-btn-list {
    width: 280px; }
    .staff-btn-list li {
      margin-bottom: 20px !important; }

  .cat-list li {
    margin-top: 30px; }

  .cat-upper {
    display: block; }

  .cat-list-image {
    max-width: 100%;
    min-width: auto;
    width: 100%; }

  .cat-list-text-wr {
    margin-left: 0;
    margin-top: 10px; }

  .list-under {
    justify-content: space-between; }

  .post-link-sec {
    display: block; }

  .post-link {
    width: 100%;
    padding-top: 20px;
    padding-bottom: 20px; }

  .post-line {
    width: 100vw;
    transform: translateX(-7%); }

  .post-all-wr a {
    justify-content: center; }
    .post-all-wr a .post-link-ham {
      margin: 0; }
    .post-all-wr a p {
      display: inline-block;
      margin-left: 20px; }

  .single-sec .s-iframe {
    width: 100% !important; }

  .search-con {
    border: none;
    padding: 0; }

  .search-list-wr {
    width: 100%; }

  .search-list li {
    padding-top: 0px; }

  .search-page-navi-sec {
    margin-top: 0px; }

  .page-navi-sec {
    margin-bottom: 100px; }

  .page-navi-wr {
    text-align: center;
    border-top: 1px solid #000;
    margin-top: 40px;
    padding-top: 30px; }

  /* 768以下で非表示 */
  .phone-off {
    display: none; } }

/* 教職員紹介ページの「研究者総覧」ボタン（とそのラッパー）を非表示にする */
ul.fac-list li .fac-btn-sec .fac-btn-wr:first-child {
    display: none;
}
