@charset "utf-8";


@font-face {
  font-family: "Yu Gothic M";
  src: local("Yu Gothic Medium");
}

html {
  font-size: 1rem;
}

body {
  background: #fff;
  width: 100%;
  -webkit-text-size-adjust: 100%;
  font-feature-settings: "palt";
  font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic M", "YuGothic", "Yu Gothic", "メイリオ", Meiryo, Verdana, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Arial, sans-serif;
  /* font-size: 16px; */
  color: #322b2b;
  letter-spacing: 0.05em;
  box-sizing: border-box;
}

img {
  max-width: 100%;
  width: auto;
  height: auto;
  vertical-align: bottom;
}


.inview {
  opacity: 0;
  transition: 1.2s;
  margin-top: 20px;
}

.inview.is-show {
  opacity: 1;
  margin-top: 0;
}

/* 汎用 */
a:hover img {
  opacity: 0.8;
  filter: alpha(opacity=80);
  -moz-opacity: 0.8;
}

.mb15 {
  margin-bottom: 15px;
}

.mb20 {
  margin-bottom: 20px;
}

.mb30 {
  margin-bottom: 30px;
}

.mb40 {
  margin-bottom: 40px;
}

.mb45 {
  margin-bottom: 45px;
}

.mb50 {
  margin-bottom: 50px;
}

.mb60 {
  margin-bottom: 60px;
}

.mb70 {
  margin-bottom: 70px;
}

.mb100 {
  margin-bottom: 100px;
}

.mr40 {
  margin-right: 40px;
}

.tal {
  text-align: left;
}

.tac {
  text-align: center;
}

.tar {
  text-align: right;
}

.st {
  font-weight: bold;
}

.fl {
  float: left;
}

.fr {
  float: right;
}

.fs16 {
  font-size: 16px;
}

.fs18 {
  font-size: 18px;
}

.flex {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between;
}

.flex_no_justify {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}

.f_min {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "Yu Mincho Medium", "ヒラギノ明朝 ProN W3", "HiraMinProN-W3", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
}

.f_times {
  font-family: TimesNewRoman, "Times New Roman", Times, Baskerville, Georgia, serif;
}

.f_arial {
  font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
}

.f_gothic {
  font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic M", "YuGothic", "Yu Gothic", "メイリオ", Meiryo, Verdana, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Arial, sans-serif;
}

.f_robotoslab {
  font-family: 'Roboto Slab', serif;
}

.f_marcellus {
  font-family: 'Marcellus', serif;
}

.f_libre {
  font-family: 'Libre Baskerville', serif;
}

.f_didot {
  font-family: 'GFS Didot', serif;
}

/* noto sans 100 300 400 500 */
.noto {
  font-family: 'Noto Sans JP', sans-serif;
}

/* Zen Kaku Gothic New */
.zen {
  font-family: 'Zen Kaku Gothic New', sans-serif;
}

/* Klee One */
.klee {
  font-family: 'Klee One', cursive;
}

/* Baskerville */
.baske {
  font-family: 'Libre Baskerville', serif;
}

.fit_img {
  display: flex;
  justify-content: center;
  align-items: center;
  /*IE用*/
  flex-direction: column;
}

.fit_img img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
}

.regacy_fit_img {
  display: relative;
  overflow: hidden;
}

.regacy_fit_img img {
  position: absolute;
  left: -50%;
  right: -50%;
  top: -50%;
  bottom: -50%;
  margin: auto;
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
}

.ofi {
  object-fit: cover;
  font-family: 'object-fit: cover;';
}

.bx-wrapper {
  -moz-box-shadow: 0 0 0 #ccc;
  -webkit-box-shadow: 0 0 0 #ccc;
  box-shadow: 0 0 0 #ccc;
  border: none;
}

.p404 {
  margin: 200px 0 330px 0;
  text-align: center;
}

.p404 .ttl {
  font-size: 24px;
  margin-bottom: 15px;
  font-weight: 700;
  letter-spacing: 0.12em;
}

.p404 h3 {
  color: #305f86;
  font-size: 60px;
  letter-spacing: 0.02em;
}

.p404 .txt {
  font-size: 18px;
  line-height: 1.8;
  letter-spacing: 0.12em;
}

.p404 .txt a {
  color: #417ac7;
  text-decoration: underline;
}

.p404 .txt a:hover {
  text-decoration: none;
}

/*header*/

/*side*/

/*mailcolumn*/

/*footer*/

/*PC用*/
@media screen and (min-width:641px) {}



/*SP用*/
@media screen and (max-width:640px) {}