@charset "UTF-8";
/* font */
/* color */
/* media quary */
/* lines-on-sides  */
/* hover */
@import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:100,300,400,500,700,900&subset=japanese");
@import url("https://fonts.googleapis.com/css?family=Open+Sans:400,600,700,800");
@import url("https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900");
@import url("https://fonts.googleapis.com/css?family=Noto+Serif+JP:200,300,400,500,600,700,900&subset=japanese");
@import url("https://fonts.googleapis.com/css?family=Great+Vibes&subset=latin-ext");
@import url("https://fonts.googleapis.com/css?family=Gentium+Book+Basic:400,700&subset=latin-ext");
/*--------------------------------------------------------

	リセット : html5reset-1.6.1.css
	
----------------------------------------------------------*/
/*


html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com 
Twitter: @rich_clark
*/
/*要素のフォントサイズやマージン・パディングをリセットしています*/
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,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
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;
  vertical-align: baseline;
  background: transparent;
  box-sizing: border-box;
}

/*新規追加要素のデフォルトはすべてインライン要素になっているので、section要素などをブロック要素へ変更しています*/
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

/*nav要素内ulのマーカー（行頭記号）を表示しないようにしています*/
nav ul {
  list-style: none;
}

/*引用符の表示が出ないようにしています*/
blockquote,
q {
  quotes: none;
}

/*blockquote要素、q要素の前後にコンテンツを追加しないように指定しています*/
blockquote:before,
blockquote:after,
q:before,
q:after {
  content: '';
  content: none;
}

/*a要素のフォントサイズなどをリセットしフォントの縦方向の揃え位置を親要素のベースラインに揃えるようにしています*/
a {
  margin: 0;
  padding: 0;
  vertical-align: baseline;
  background: transparent;
}

/* ins要素のデフォルトをセットし、色を変える場合はここで変更できるようにしています */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

/* mark要素のデフォルトをセットし、色やフォントスタイルを変える場合はここで変更できるようにしています。また、mark要素とは、文書内の検索結果で該当するフレーズをハイライトして、目立たせる際に使用するようです。*/
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

/*テキストに打ち消し線が付くようにしています*/
del {
  text-decoration: line-through;
}

/*IEではデフォルトで点線を下線表示する設定ではないので、下線がつくようにしています。また、マウスオーバー時にヘルプカーソルの表示が出るようにしています*/
abbr[title],
dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

/*水平罫線のデフォルトである立体的な罫線を見えなくしています*/
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

/*縦方向の揃え位置を中央揃えに指定しています*/
input,
select {
  vertical-align: middle;
}

/*画像を縦に並べたときに余白が出てしまわないように*/
img {
  vertical-align: top;
  font-size: 0;
  line-height: 0;
  /* width: 100%;*/
}

li {
  list-style: none;
}

/* タッチデバイスでのリンクやボタンの反応を向上 */
a,
area,
button,
[role="button"],
input:not([type="range"]),
label,
select,
summary,
textarea {
  touch-action: manipulation;
}

/*--------------------------------------------------------

	body設定
	
----------------------------------------------------------*/
html {
  background: #ffffff;
  /*overflow-x: hidden;*/
  font-size: 62.5%;
}

body {
  margin: 0;
  padding: 0;
  font-family: -apple-system, BlinkMacSystemFont, "游ゴシック体", YuGothic, "Yu Gothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN W3", HiraKakuProN-W3, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "Helvetica Neue", HelveticaNeue, Helvetica, Arial, "Segoe UI", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  /* Android・Linux絵文字フォント */
  font-size: 1.6rem;
  font-weight: 500;
  /*overflow-x: hidden;*/
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
}

@media screen and (max-width: 959px) {
  body {
    font-weight: normal;
  }
}

a:link {
  text-decoration: none;
}

a:visited {
  text-decoration: none;
}

/*--------------------------------------------------------

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

/*--------------------------------------------------------

	clearfix
	
----------------------------------------------------------*/
/* For modern browsers */
.clearfix::after {
  content: "";
  display: table;
  clear: both;
}

/* For IE 6/7 only */
.clearfix {
  *zoom: 1;
}

/*--------------------------------------------------------

	禁則処理の追加
	
----------------------------------------------------------*/
p,
li,
dt,
dd,
th,
td,
pre {
  -ms-line-break: strict;
  line-break: strict;
  -ms-word-break: break-strict;
  word-break: break-strict;
}

/*--------------------------------------------------------

	margin
	
----------------------------------------------------------*/
.mb00 {
  margin-bottom: 0px !important;
}

.mb05 {
  margin-bottom: 5px !important;
}

.mb08 {
  margin-bottom: 8px !important;
}

.mb10 {
  margin-bottom: 10px !important;
}

.mb12 {
  margin-bottom: 12px !important;
}

.mb15 {
  margin-bottom: 15px !important;
}

.mb20 {
  margin-bottom: 20px !important;
}

.mb25 {
  margin-bottom: 25px !important;
}

.mb30 {
  margin-bottom: 30px !important;
}

.mb35 {
  margin-bottom: 35px !important;
}

.mb40 {
  margin-bottom: 40px !important;
}

.mb45 {
  margin-bottom: 45px !important;
}

.mb50 {
  margin-bottom: 50px !important;
}

.mb55 {
  margin-bottom: 55px !important;
}

.mb60 {
  margin-bottom: 60px !important;
}

.mb65 {
  margin-bottom: 65px !important;
}

.mb70 {
  margin-bottom: 70px !important;
}

.mb75 {
  margin-bottom: 75px !important;
}

.mb80 {
  margin-bottom: 80px !important;
}

.mb85 {
  margin-bottom: 85px !important;
}

.mb90 {
  margin-bottom: 90px !important;
}

.mb95 {
  margin-bottom: 95px !important;
}

.mb100 {
  margin-bottom: 100px !important;
}

.mb110 {
  margin-bottom: 110px !important;
}

.ml00 {
  margin-left: 0px !important;
}

.ml05 {
  margin-left: 5px !important;
}

.ml10 {
  margin-left: 10px !important;
}

.ml15 {
  margin-left: 15px !important;
}

.ml20 {
  margin-left: 20px !important;
}

.ml25 {
  margin-left: 25px !important;
}

.ml30 {
  margin-left: 30px !important;
}

.ml35 {
  margin-left: 35px !important;
}

.ml40 {
  margin-left: 40px !important;
}

.ml45 {
  margin-left: 45px !important;
}

.ml50 {
  margin-left: 50px !important;
}

.ml55 {
  margin-left: 55px !important;
}

.mr00 {
  margin-right: 0px !important;
}

.mr05 {
  margin-right: 5px !important;
}

.mr10 {
  margin-right: 10px !important;
}

.mr20 {
  margin-right: 20px !important;
}

.mr30 {
  margin-right: 30px !important;
}

.mr40 {
  margin-right: 40px !important;
}

.mr50 {
  margin-right: 50px !important;
}

.mr60 {
  margin-right: 60px !important;
}

.mr70 {
  margin-right: 70px !important;
}

.mr80 {
  margin-right: 80px !important;
}

.mr90 {
  margin-right: 90px !important;
}

.mr100 {
  margin-right: 100px !important;
}

.mt00 {
  margin-top: 0px !important;
}

.mt05 {
  margin-top: 5px !important;
}

.mt10 {
  margin-top: 10px !important;
}

.mt15 {
  margin-top: 15px !important;
}

.mt20 {
  margin-top: 20px !important;
}

.mt25 {
  margin-top: 25px !important;
}

.mt30 {
  margin-top: 30px !important;
}

.mt35 {
  margin-top: 35px !important;
}

.mt40 {
  margin-top: 40px !important;
}

.mt45 {
  margin-top: 45px !important;
}

.mt50 {
  margin-top: 50px !important;
}

.mt55 {
  margin-top: 55px !important;
}

.pt00 {
  padding-top: 0px !important;
}

.pt05 {
  padding-top: 5px !important;
}

.pt06 {
  padding-top: 6px !important;
}

.pt07 {
  padding-top: 7px !important;
}

.pt08 {
  padding-top: 8px !important;
}

.pt10 {
  padding-top: 10px !important;
}

.pt15 {
  padding-top: 15px !important;
}

.pt20 {
  padding-top: 20px !important;
}

.pt25 {
  padding-top: 25px !important;
}

.pt30 {
  padding-top: 30px !important;
}

.pt35 {
  padding-top: 35px !important;
}

.pt40 {
  padding-top: 40px !important;
}

.pt45 {
  padding-top: 45px !important;
}

.pt50 {
  padding-top: 50px !important;
}

.pt55 {
  padding-top: 55px !important;
}

.pt60 {
  padding-top: 60px !important;
}

.pt65 {
  padding-top: 65px !important;
}

.pt70 {
  padding-top: 70px !important;
}

.pt75 {
  padding-top: 75px !important;
}

.pt80 {
  padding-top: 80px !important;
}

.pb00 {
  padding-bottom: 0px !important;
}

.pb05 {
  padding-bottom: 5px !important;
}

.pb10 {
  padding-bottom: 10px !important;
}

.pb15 {
  padding-bottom: 15px !important;
}

.pb20 {
  padding-bottom: 20px !important;
}

.pb25 {
  padding-bottom: 25px !important;
}

.pb30 {
  padding-bottom: 30px !important;
}

.pb35 {
  padding-bottom: 35px !important;
}

.pb40 {
  padding-bottom: 40px !important;
}

.pb45 {
  padding-bottom: 45px !important;
}

.pl00 {
  padding-left: 0px !important;
}

.pl05 {
  padding-left: 5px !important;
}

.pl10 {
  padding-left: 10px !important;
}

.pl15 {
  padding-left: 15px !important;
}

.pl20 {
  padding-left: 20px !important;
}

.pl25 {
  padding-left: 25px !important;
}

.pl30 {
  padding-left: 30px !important;
}

/*  共通mainレイアウト
--------------------------*/
/*--------------------------------------------------------
	画像幅指定
----------------------------------------------------------*/
img {
  max-width: 100%;
}

/*--------------------------------------------------------
	newIcon
----------------------------------------------------------*/
.fau {
  opacity: 0;
}

.fau.fadeInUp {
  animation: fadeInUp 1.5s cubic-bezier(0.4, 0, 0.2, 1) forwards;
  opacity: 1;
}

.fa {
  opacity: 0;
}

.fa.fadeIn {
  animation: fadeIn 2s  forwards;
  opacity: 1;
}

.fal {
  opacity: 0;
}

.fal.fadeInLeft {
  animation: fadeInLeft .5s  forwards;
  opacity: 1;
}

.rota {
  opacity: 0;
}

.rota.rotateIn {
  opacity: 1;
  animation: rotateIn 1.5s  forwards;
}

/* show only  SP/PC
-------------------------------*/
@media screen and (min-width: 960px) {
  .sp {
    display: none !important;
  }
}

@media screen and (max-width: 959px) {
  .sp-s {
    display: none !important;
  }
}

@media screen and (max-width: 599px) {
  .sp-s {
    display: block !important;
  }
}

@media screen and (max-width: 959px) {
  .pc {
    display: none !important;
  }
}

@media screen and (max-width: 959px) {
  .pc-s {
    display: block !important;
  }
}

@media screen and (max-width: 599px) {
  .pc-s {
    display: none !important;
  }
}

/* Anchor link
-------------------------------*/
.anchor {
  margin-top: -120px !important;
  padding-top: 120px !important;
  display: block;
}

@media screen and (max-width: 959px) {
  .anchor {
    margin-top: 0px !important;
    padding-top: 0px !important;
    display: block;
  }
}

.mainWrap {
  padding-top: 40px;
  padding-bottom: 100px;
}

@media screen and (max-width: 959px) {
  .mainWrap {
    padding-top: 30px;
    padding-bottom: 60px;
  }
}

/*--------------------------------------------------

header

--------------------------------------------------*/
.topHeader {
  max-width: 1030px;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  content: "";
  display: block;
  z-index: 10;
}

@media screen and (max-width: 959px) {
  .topHeader {
    width: 92%;
  }
}

.topHeader__logo {
  transition: all 0.3s;
  width: 113px;
}

@media screen and (max-width: 599px) {
  .topHeader__logo {
    width: 18%;
  }
}

.topHeader__logo img {
  width: 100%;
  vertical-align: bottom;
}

@media screen and (max-width: 959px) {
  .topHeader__logo img {
    vertical-align: top;
  }
}

@media screen and (max-width: 599px) {
  .topHeader__logo img {
    width: 100%;
  }
}

.topHeader__logo:hover {
  opacity: 0.5;
}

.topHeader__contact {
  position: absolute;
  right: 0;
  top: 0;
  display: block;
  background-color: #c49821;
  /*width: 150px;*/
  line-height: 1.0;
  text-align: center;
  padding: 1.35em 1.2em 1.3em 1.2em;
  font-size: 13px;
  font-weight: bold;
  margin: 0 0 22px 0;
  transition: 1.0s;
  color: #FFF;
  display: flex;
  align-items: center;
}

@media screen and (max-width: 959px) {
  .topHeader__contact {
    top: 25px;
    padding: 1em 1.3em 1em 1.3em;
    margin: 0;
  }
}

@media screen and (max-width: 599px) {
  .topHeader__contact {
    top: 15px;
    padding: 10px 1.3em 10px 1.3em;
    font-size: 11px;
  }
}

.topHeader__contact span {
  background-image: url(../img/mail_icon.svg);
  background-repeat: no-repeat;
  background-size: 16%;
  background-position: left center;
  padding: 0 0 0 1.8em;
  color: #FFF;
}

.topHeader__contact:hover {
  background-color: #660623;
}

@media screen and (max-width: 599px) {
  .topHeader__contact:hover {
    background-color: #c49821;
  }
}

.topHeader__inner {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-top: 45px;
}

@media screen and (max-width: 959px) {
  .topHeader__inner {
    margin-top: 25px;
  }
}

@media screen and (max-width: 599px) {
  .topHeader__inner {
    margin-top: 17px;
  }
}

.topHeader .topNav {
  display: flex;
  justify-content: space-between;
}

@media screen and (max-width: 959px) {
  .topHeader .topNav {
    display: none;
  }
}

.topHeader .topNav__item + .topNav__item {
  margin-left: 34px;
}

.topHeader .topNav__link {
  font-size: 14px;
  font-family: "Noto Sans JP", sans-serif;
  color: #231815;
  font-weight: 400;
  padding-bottom: 2px;
}

.topHeader .topNav__link:hover {
  color: #8e6e18;
  border-bottom: 1px solid #8e6e18;
}

.topHeader .topNav__link.current {
  color: #8e6e18;
  border-bottom: 1px solid #8e6e18;
}

_:-ms-lang(x)::-ms-backdrop, .topHeader__contact {
  padding: 1.2em 1.2em 1.2em 1.2em;
}

_:-ms-lang(x)::-ms-backdrop, .topHeader__contact span {
  padding: 4px 0 0 1.8em;
}

.topscrollHeader {
  width: 100%;
  background: #FFF;
  z-index: 10000;
  position: fixed;
  background: #fff;
  top: 0px;
  left: 0px;
  padding: 10px 0 10px 0;
  box-sizing: border-box;
  display: none;
}

.topscrollHeader__bd {
  padding: 15px 0 15px 0;
  border-bottom: 1px solid #c49821;
}

@media screen and (max-width: 959px) {
  .topscrollHeader {
    display: none !important;
  }
}

.topscrollHeader__inner {
  max-width: 1200px;
  width: 100%;
  margin: auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

.topscrollHeader__inner__logo {
  width: 8%;
  margin-right: 2%;
  transition: all 0.3s;
}

.topscrollHeader__inner__logo img {
  width: 100%;
  vertical-align: 1px;
}

.topscrollHeader__inner__logo:hover {
  opacity: 0.5;
}

.topscrollHeader__inner nav {
  width: 76.5%;
  margin-right: 1%;
  margin-top: 5px;
}

.topscrollHeader .topscrollNav {
  display: flex;
  align-items: center;
  justify-content: space-around;
}

.topscrollHeader .topscrollNav__item {
  /*+ .topscrollNav__item{
                margin-left: 2%;
            }*/
}

.topscrollHeader .topscrollNav__link {
  font-size: 16px;
  line-height: 1;
  color: #231815;
  display: block;
  box-sizing: border-box;
  padding-bottom: 2px;
  border-bottom: 1px solid #fff;
}

.topscrollHeader .topscrollNav__link:hover {
  color: #900A30;
  border-bottom: 1px dotted #900A30;
}

.topscrollHeader .topscrollNav__link.current {
  color: #900A30;
  border-bottom: 1px dotted #900A30;
}

.topscrollHeader__contact {
  width: 12.5%;
  display: block;
  background-color: #c49821;
  /*width: 150px;*/
  line-height: 1.0;
  text-align: center;
  padding: 10px 15px 9px 15px;
  font-size: 13px;
  font-weight: bold;
  margin: 0 0 0px 0;
  transition: 1.0s;
  color: #FFF;
  display: flex;
  align-items: center;
}

.topscrollHeader__contact span {
  background-image: url(../img/mail_icon.svg);
  background-repeat: no-repeat;
  background-size: 16%;
  background-position: left center;
  padding: 0 0 0 1.8em;
  color: #FFF;
  /*<!--vertical-align: middle;-->*/
}

.topscrollHeader__contact:hover {
  background-color: #660623;
}

_:-ms-lang(x)::-ms-backdrop, .topscrollHeader__contact {
  padding: 12px 15px 8px 15px;
}

_:-ms-lang(x)::-ms-backdrop, .topscrollHeader__contact span {
  padding: 4px 0 0 1.8em;
}

/*スマホのみメニュー------------------------*/
.spNav {
  background: rgba(142, 110, 24, 0.7);
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  /*&__b{
       background: rgba(#c49821,0.7);
        
        .spNav__item{
            background: #c49821;
        }
    }*/
}

.spNav__item {
  background: #8e6e18;
  width: calc((100% - 1px) / 2);
  margin-top: 1px;
}

.spNav__item:nth-child(1), .spNav__item:nth-child(2) {
  margin-top: 0;
}

.spNav__link {
  color: #FFF;
  font-size: 15px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  display: block;
  text-align: center;
  padding: 1em 10px 1em 10px;
  box-sizing: border-box;
}

@media screen and (max-width: 599px) {
  .spNav__link {
    padding: 10px 10px 10px 10px;
    font-size: 14px;
  }
}

/*中ページのメニュー
----------------------------------------------*/
.navHeader {
  content: "";
  display: block;
  background: #fff;
  padding: 20px 0 5px 0;
  z-index: 10;
}

@media screen and (max-width: 959px) {
  .navHeader {
    padding: 15px 0 14px 0;
  }
}

@media screen and (max-width: 599px) {
  .navHeader {
    height: 52px;
    padding: 10px 0 0px 0;
  }
}

.navHeader__inner {
  max-width: 1030px;
  width: 100%;
  margin: auto;
  display: flex;
  align-items: center;
  position: relative;
}

@media screen and (max-width: 959px) {
  .navHeader__inner {
    width: 92%;
  }
}

.navHeader__inner__logo {
  transition: all 0.3s;
  width: 113px;
  margin-right: 55px;
}

@media screen and (max-width: 959px) {
  .navHeader__inner__logo {
    width: 15%;
  }
}

@media screen and (max-width: 599px) {
  .navHeader__inner__logo {
    width: 20%;
    margin-right: 20px;
  }
}

.navHeader__inner__logo img {
  vertical-align: top;
  width: 100%;
}

@media screen and (max-width: 959px) {
  .navHeader__inner__logo img {
    width: 100%;
    vertical-align: top;
  }
}

@media screen and (max-width: 599px) {
  .navHeader__inner__logo img {
    padding-top: 5px;
  }
}

.navHeader__inner__logo:hover {
  opacity: 0.5;
}

.navHeader__contact {
  position: absolute;
  right: 0;
  top: 0px;
  display: block;
  background-color: #c49821;
  /*width: 150px;*/
  line-height: 1.0;
  text-align: center;
  padding: 10px 1.2em 10px 1.2em;
  font-size: 13px;
  font-weight: bold;
  margin: 0 0 0px 0;
  transition: 1.0s;
  color: #FFF;
  display: flex;
  align-items: center;
}

@media screen and (max-width: 959px) {
  .navHeader__contact {
    top: 0px;
    padding: 1em 1.3em 1em 1.3em;
    margin: 0;
  }
}

@media screen and (max-width: 599px) {
  .navHeader__contact {
    top: 0px;
    padding: 10px 1.3em 10px 1.3em;
    font-size: 11px;
  }
}

.navHeader__contact span {
  background-image: url(../img/mail_icon.svg);
  background-repeat: no-repeat;
  background-size: 16%;
  background-position: left center;
  padding: 0 0 0 1.8em;
  color: #FFF;
}

.navHeader__contact:hover {
  background-color: #660623;
}

@media screen and (max-width: 599px) {
  .navHeader__contact:hover {
    background-color: #c49821;
  }
}

.navHeader nav {
  width: 65%;
}

.navHeader .pageNav {
  display: flex;
  justify-content: space-between;
}

@media screen and (max-width: 959px) {
  .navHeader .pageNav {
    display: none;
  }
}

.navHeader .pageNav__item + .topNav__item {
  margin-left: 34px;
}

.navHeader .pageNav__link {
  font-size: 15px;
  font-family: "Noto Sans JP", sans-serif;
  color: #231815;
  font-weight: 400;
  padding-bottom: 5px;
}

.navHeader .pageNav__link:hover {
  color: #8e6e18;
  border-bottom: 1px solid #8e6e18;
}

.navHeader .pageNav__link.current {
  color: #8e6e18;
  border-bottom: 1px solid #8e6e18;
}

/*--------------------------------------------------

footer

--------------------------------------------------*/
#pageTop {
  width: 42px;
  height: 42px;
  text-align: center;
  background-color: #131304;
  position: fixed;
  right: 30px;
  bottom: 30px;
  z-index: 999;
  content: "";
  box-sizing: border-box;
  transition: all 0.3s;
  display: none;
}

@media screen and (max-width: 599px) {
  #pageTop {
    right: 10px;
    bottom: 10px;
  }
}

#pageTop:hover {
  opacity: 0.5;
}

#pageTop::before {
  width: 10px;
  height: 10px;
  position: absolute;
  top: 5px;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  border-top: 1px solid #F1F1FD;
  border-right: 1px solid #F1F1FD;
  transform: rotate(315deg);
  content: "";
  vertical-align: middle;
  text-align: center;
}

.fMenu {
  background-color: #eee;
  width: 100%;
  padding: 20px 0 20px 0;
}

.fMenu ul {
  width: 90%;
  margin: 0 auto;
  padding: 0;
  position: relative;
  display: flex;
  align-items: center;
}

.fMenu ul::after {
  content: "";
  display: block;
  clear: both;
}

.fMenu ul li {
  width: 47.5%;
  padding: 0;
}

.fMenu ul li + li {
  margin-left: 5%;
}

.fMenu ul li a {
  display: block;
  border: none;
}

.fMenu ul li .accessBtn {
  display: block;
  background-color: #004da3;
  line-height: 1.0;
  text-align: center;
  padding: 16px 20px 15px 20px;
  font-size: 13px;
  font-weight: bold;
  color: #FFF;
}

.fMenu .contactBtn {
  display: block;
  background-color: #004da3;
  line-height: 1.0;
  text-align: center;
  padding: 16px 12px 15px 15px;
  font-size: 13px;
  font-weight: bold;
  margin: 0 0 0px 0;
  color: #FFF;
}

.fMenu .contactBtn span {
  background-image: url(../img/mail_icon.svg);
  background-repeat: no-repeat;
  background-size: 16%;
  background-position: left 60%;
  padding: 0 0 0 25px;
  color: #FFF;
}

.footerWrap {
  border-top: 3px solid #8e6e18;
  padding-top: 30px;
  box-sizing: border-box;
}

@media screen and (max-width: 959px) {
  .footerWrap {
    padding-top: 20px;
    border-top: none;
  }
}

@media screen and (max-width: 599px) {
  .footerWrap {
    padding-top: 10px;
  }
}

.footerWrap__inner {
  max-width: 1000px;
  width: 100%;
  margin: auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

@media screen and (max-width: 959px) {
  .footerWrap__inner {
    width: 92%;
  }
}

@media screen and (max-width: 599px) {
  .footerWrap__inner {
    display: block;
  }
}

.footerWrap__address {
  width: 40%;
}

@media screen and (max-width: 959px) {
  .footerWrap__address {
    width: 52%;
  }
}

@media screen and (max-width: 599px) {
  .footerWrap__address {
    width: 100%;
  }
}

.footerWrap__address__logo {
  width: 85px;
  margin-bottom: 20px;
}

@media screen and (max-width: 599px) {
  .footerWrap__address__logo {
    width: 60px;
    margin-bottom: 15px;
  }
}

.footerWrap__address__logo img {
  vertical-align: bottom;
}

.footerWrap__address__text {
  font-size: 14px;
  color: #FFF;
  line-height: 1.6;
}

.footerWrap__address__tel {
  font-size: 14px;
  color: #FFF;
  line-height: 1.6;
}

.footerWrap__nav {
  width: 45%;
  margin-top: 65px;
}

@media screen and (max-width: 959px) {
  .footerWrap__nav {
    width: 40%;
    margin-left: auto;
  }
}

@media screen and (max-width: 599px) {
  .footerWrap__nav {
    width: 100%;
    margin-top: 20px;
  }
}

.footerWrap .footerNav {
  display: flex;
  flex-wrap: wrap;
}

.footerWrap .footerNav__item {
  width: 50%;
}

@media screen and (max-width: 959px) {
  .footerWrap .footerNav__item {
    width: 44%;
  }
  .footerWrap .footerNav__item:nth-child(2n) {
    margin-left: 4%;
  }
}

@media screen and (max-width: 599px) {
  .footerWrap .footerNav__item + .footerNav__item {
    margin-top: 10px;
  }
  .footerWrap .footerNav__item:nth-child(2) {
    margin-top: 0px;
  }
}

.footerWrap .footerNav__item__link {
  color: #F1F1FD;
  line-height: 1.0;
  position: relative;
  display: inline-block;
  padding: 0 0 0 10px;
  vertical-align: middle;
  font-size: 15px;
  transition: all 0.3s;
}

@media screen and (max-width: 959px) {
  .footerWrap .footerNav__item__link {
    font-size: 14px;
  }
}

.footerWrap .footerNav__item__link::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  content: "";
  vertical-align: middle;
  width: 3px;
  height: 3px;
  /* width,heightの半分 */
  border-radius: 25px;
  background-color: #F1F1FD;
}

.footerWrap .footerNav__item__link:hover {
  opacity: 0.5;
}

.footerWrap .copyRight {
  width: 100%;
  text-align: center;
  font-size: 10px;
  margin-top: 70px;
  padding: 5px 0 10px 0;
  color: #FFF;
}

@media screen and (max-width: 959px) {
  .footerWrap .copyRight {
    margin-top: 40px;
  }
}

@media screen and (max-width: 599px) {
  .footerWrap .copyRight {
    margin-top: 30px;
  }
}

/*---------------------------------------

button
共通のボタンはここ

----------------------------------------*/
.baseBtn {
  height: 55px;
  text-align: center;
  background: #c49821;
  color: #FFF;
  padding: 10px 10px 10px 10px;
  box-sizing: border-box;
  font-size: 18px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  transition: 0.6s;
}

@media screen and (max-width: 959px) {
  .baseBtn {
    font-size: 15px;
    height: 50px;
  }
}

@media screen and (max-width: 959px) {
  .baseBtn {
    font-size: 14px;
  }
}

.baseBtn::before {
  position: absolute;
  right: 20px;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 10px;
  height: 10px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: rotate(45deg);
  content: "";
  display: block;
}

.baseBtn:hover {
  background: #660623;
}

@media screen and (max-width: 959px) {
  .baseBtn:hover {
    background: #c49821;
  }
}

.btnBox {
  text-align: center;
  margin: 0 0 5px 0;
  position: relative;
}

.btnBox .submitBtn {
  background-color: #c49821;
  text-align: center;
  border: none;
  color: #FFF;
  line-height: 1.0;
  padding: 20px 100px 20px 100px;
  font-size: 20px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-weight: bold;
  vertical-align: middle;
  -webkit-appearance: none;
  border-radius: 0;
}

.btnBox .submitBtn:hover {
  background-color: #660623;
}

@media screen and (max-width: 959px) {
  .btnBox .submitBtn {
    font-size: 15px;
  }
}

@media screen and (max-width: 599px) {
  .btnBox .submitBtn {
    width: 82% !important;
    margin: 0 auto 15px;
    box-sizing: border-box;
    display: block;
    padding: 15px 15px 15px 15px;
  }
}

.btnBox .correctionBtn {
  box-sizing: border-box;
  background-color: #999999;
  text-align: center;
  border: none;
  color: #FFF;
  line-height: 1.0;
  padding: 20px 20px 20px 20px;
  font-size: 20px;
  font-weight: bold;
  vertical-align: middle;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  position: absolute;
  top: 0;
  left: 0;
}

@media screen and (max-width: 959px) {
  .btnBox .correctionBtn {
    display: block;
    font-size: 15px;
  }
}

@media screen and (max-width: 599px) {
  .btnBox .correctionBtn {
    width: 82%;
    margin: auto;
    position: relative;
    padding: 14px 15px 14px 15px;
  }
}

.btnBox .correctionBtn:hover {
  background-color: #666666;
}

/*  パンくず 
--------------------------*/
.breadcrumbsWrap {
  max-width: 1000px;
  width: 100%;
  margin: 0px auto 0px;
  padding: 20px 0 20px 0;
  position: relative;
}

.breadcrumbsWrap::after {
  clear: both;
  content: "";
  display: block;
}

@media screen and (max-width: 1300px) {
  .breadcrumbsWrap {
    width: 95%;
    margin: 0px auto 0px;
  }
}

@media screen and (max-width: 959px) {
  .breadcrumbsWrap {
    display: none;
  }
}

.breadcrumbsWrap__item {
  float: left;
  margin-right: 25px;
  font-size: 15px;
  line-height: 1.2;
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 300;
  position: relative;
}

@media screen and (max-width: 1300px) {
  .breadcrumbsWrap__item {
    font-size: 13px;
  }
}

.breadcrumbsWrap__item::before {
  content: ">";
  font-size: 17px;
  top: -1px;
  bottom: 0;
  left: -17px;
  color: #c49821;
  margin: auto;
  position: absolute;
}

@media screen and (max-width: 1300px) {
  .breadcrumbsWrap__item::before {
    font-size: 15px;
  }
}

.breadcrumbsWrap__item:first-child::before {
  display: none;
}

.breadcrumbsWrap__item__link {
  color: #fff;
  font-size: 14px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 300;
  line-height: 1.2;
  transition: all 0.3s;
}

.breadcrumbsWrap__item__link:hover {
  color: #c49821;
}

/*---------------------------------------
@keyframes
----------------------------------------*/

@keyframes spin {
  0% {
    opacity: 0;
    transform: rotate(0deg);
  }
  100% {
    opacity: 1;
    transform: rotate(180deg);
  }
}

@keyframes rotate-circle-right {
  0% {
    transform: rotate(0deg);
    background: #fff;
  }
  50% {
    transform: rotate(180deg);
    background: #fff;
  }
  50.01% {
    transform: rotate(360deg);
    background: #eabe3e;
  }
  100% {
    transform: rotate(360deg);
    background: #eabe3e;
  }
}

@keyframes rotate-circle-left {
  0% {
    transform: rotate(0deg);
  }
  50% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(176deg);
  }
}

@keyframes rotate-circle-right02 {
  0% {
    transform: rotate(0deg);
    background: #fff;
  }
  50% {
    transform: rotate(180deg);
    background: #fff;
  }
  50.01% {
    transform: rotate(360deg);
    background: #e374b0;
  }
  100% {
    transform: rotate(360deg);
    background: #e374b0;
  }
}

@keyframes rotate-circle-left02 {
  0% {
    transform: rotate(0deg);
  }
  50% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(180deg);
  }
}

@keyframes rotate-circle-right03 {
  0% {
    transform: rotate(0deg);
    background: #fff;
  }
  50% {
    transform: rotate(180deg);
    background: #fff;
  }
  50.01% {
    transform: rotate(360deg);
    background: #30bbea;
  }
  100% {
    transform: rotate(360deg);
    background: #30bbea;
  }
}

@keyframes rotate-circle-left03 {
  0% {
    transform: rotate(0deg);
  }
  50% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(180deg);
  }
}

@media screen and (max-width: 959px) {
}

@keyframes vertical {
  0% {
    transform: translateY(-10px);
  }
  100% {
    transform: translateY(0px);
  }
}

/*動作前のクラスにanimation: fadeIn 1.5s ;をいれる*/

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.fadeIn {
  animation-name: fadeIn;
}

@keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translate3d(0, -100%, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

.fadeInDown {
  animation-name: fadeInDown;
}

@keyframes fadeInDownBig {
  from {
    opacity: 0;
    transform: translate3d(0, -2000px, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

.fadeInDownBig {
  animation-name: fadeInDownBig;
}

@keyframes fadeInLeft {
  from {
    opacity: 0;
    transform: translate3d(-100%, 0, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

.fadeInLeft {
  animation-name: fadeInLeft;
}

@keyframes fadeInLeftBig {
  from {
    opacity: 0;
    transform: translate3d(-2000px, 0, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

.fadeInLeftBig {
  animation-name: fadeInLeftBig;
}

@keyframes fadeInRight {
  from {
    opacity: 0;
    transform: translate3d(100%, 0, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

.fadeInRight {
  animation-name: fadeInRight;
}

@keyframes fadeInRightBig {
  from {
    opacity: 0;
    transform: translate3d(2000px, 0, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

.fadeInRightBig {
  animation-name: fadeInRightBig;
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translate3d(0, 15px, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

.fadeInUp {
  animation-name: fadeInUp;
}

@keyframes fadeInUp02 {
  from {
    opacity: 0;
    transform: translate3d(0, 15%, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

.fadeInUp02 {
  animation-name: fadeInUp02;
}

@keyframes fadeInUpBig {
  from {
    opacity: 0;
    transform: translate3d(0, 2000px, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

.fadeInUpBig {
  animation-name: fadeInUpBig;
}

@keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}

.fadeOut {
  animation-name: fadeOut;
}

@keyframes fadeOutDown {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(0, 100%, 0);
  }
}

.fadeOutDown {
  animation-name: fadeOutDown;
}

@keyframes fadeOutDownBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(0, 2000px, 0);
  }
}

.fadeOutDownBig {
  animation-name: fadeOutDownBig;
}

@keyframes fadeOutLeft {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(-100%, 0, 0);
  }
}

.fadeOutLeft {
  animation-name: fadeOutLeft;
}

@keyframes fadeOutLeftBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(-2000px, 0, 0);
  }
}

.fadeOutLeftBig {
  animation-name: fadeOutLeftBig;
}

@keyframes fadeOutRight {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(100%, 0, 0);
  }
}

.fadeOutRight {
  animation-name: fadeOutRight;
}

@keyframes fadeOutRightBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(2000px, 0, 0);
  }
}

.fadeOutRightBig {
  animation-name: fadeOutRightBig;
}

@keyframes fadeOutUp {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(0, -100%, 0);
  }
}

.fadeOutUp {
  animation-name: fadeOutUp;
}

@keyframes fadeOutUpBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(0, -2000px, 0);
  }
}

.fadeOutUpBig {
  animation-name: fadeOutUpBig;
}

@keyframes flip {
  from {
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
    animation-timing-function: ease-out;
  }
  40% {
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 50px) rotate3d(0, 1, 0, -200deg);
    animation-timing-function: ease-out;
  }
  /*50% {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
      rotate3d(0, 1, 0, -170deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
      rotate3d(0, 1, 0, -170deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }*/
  80% {
    transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    animation-timing-function: ease-in;
  }
  to {
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    animation-timing-function: ease-in;
  }
}

.animated.flip {
  backface-visibility: visible;
  animation-name: flip;
}

@keyframes flipInX {
  from {
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    animation-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    animation-timing-function: ease-in;
  }
  60% {
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1;
  }
  80% {
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
  }
  to {
    transform: perspective(400px);
  }
}

.flipInX {
  backface-visibility: visible !important;
  animation-name: flipInX;
}

@keyframes swing {
  20% {
    transform: rotate3d(0, 0, 1, 15deg);
  }
  40% {
    transform: rotate3d(0, 0, 1, -10deg);
  }
  60% {
    transform: rotate3d(0, 0, 1, 5deg);
  }
  80% {
    transform: rotate3d(0, 0, 1, -5deg);
  }
  to {
    transform: rotate3d(0, 0, 1, 0deg);
  }
}

.swing {
  transform-origin: top center;
  animation-name: swing;
}

@keyframes rotateIn {
  from {
    transform-origin: center;
    transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0;
  }
  to {
    transform-origin: center;
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}

.rotateIn {
  animation-name: rotateIn;
}

/*---------------------------------------
title ページタイトル

----------------------------------------*/
.pageTitle {
  border-bottom: 10px solid #c49821;
  background-color: #f8f8fa;
  background-image: url(../img/topics/main_image01.jpg);
  background-repeat: no-repeat;
  background-position: center 50%;
  margin: 0 0 0px 0;
  min-height: 200px;
  position: relative;
}

@media screen and (max-width: 959px) {
  .pageTitle {
    min-height: 100px;
  }
}

@media screen and (max-width: 599px) {
  .pageTitle {
    background-position: center center;
  }
}

.pageTitle::before {
  position: absolute;
  width: 100%;
  height: 100%;
  background: rgba(248, 248, 250, 0.4);
  top: 0;
  left: 0;
  content: "";
  z-index: 2;
}

.pageTitle h2 {
  text-align: center;
  color: #231815;
  padding: 95px 0 90px 0;
  line-height: 1.0;
  letter-spacing: 0.2em;
  font-size: 30px;
  font-family: "Roboto", sans-serif, "Noto Sans JP", sans-serif;
  font-weight: 500;
  position: relative;
  z-index: 3;
}

@media screen and (max-width: 959px) {
  .pageTitle h2 {
    padding: 45px 0 45px 0;
  }
}

/*---------------------------------------

pager ページ移動

----------------------------------------*/
.pageSend {
  text-align: center;
}

.pageSend li {
  display: inline-block;
}

@media screen and (max-width: 959px) {
  .pageSend li + li {
    margin-left: 5px;
  }
}

.pageSend li a {
  display: block;
  background-color: #fff;
  color: #000;
  padding: 20px 20px 20px 20px;
  text-align: center;
  font-size: 1.6rem;
  line-height: 1.0;
}

@media screen and (max-width: 959px) {
  .pageSend li a {
    padding: 15px 20px 15px 20px;
  }
}

.pageSend li.active a {
  background-color: #000;
  color: #FFF;
  border-bottom: none;
}

.pageSend li:hover a {
  background-color: #000;
  color: #FFF;
  border-bottom: none;
}

@media screen and (max-width: 959px) {
  .pageSend li.pageSend__pc {
    display: none;
  }
}

.pagerWrap {
  margin: -10px auto 95px;
}

@media screen and (max-width: 959px) {
  .pagerWrap {
    margin: -15px auto 40px;
  }
}

.pagerWrap__list {
  display: flex;
  justify-content: center;
  align-items: center;
}

.pagerWrap__list__item {
  max-width: 200px;
  width: 100%;
}

@media screen and (max-width: 599px) {
  .pagerWrap__list__item {
    max-width: 100%;
    width: 45%;
  }
}

.pagerWrap__list__item:first-child {
  margin-right: 80px;
}

@media screen and (max-width: 599px) {
  .pagerWrap__list__item:first-child {
    margin-right: 10%;
  }
}

.pagerWrap__list__link {
  background: #fff;
  color: #898989;
  font-size: 16px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  text-align: center;
  padding: 13px 0 14px;
  line-height: 1;
  display: block;
  border-radius: 30px;
  position: relative;
  transition: all 0.3s;
}

@media screen and (max-width: 599px) {
  .pagerWrap__list__link {
    font-size: 13px;
  }
}

.pagerWrap__list__link__pre::before {
  width: 10px;
  height: 16px;
  position: absolute;
  background: url("../common/arrow_white02_left.svg") center center no-repeat;
  background-size: 100% auto;
  left: 22px;
  top: 0;
  bottom: 0;
  margin: auto;
  content: "";
  display: block;
  transition: all 0.3s;
}

@media screen and (max-width: 599px) {
  .pagerWrap__list__link__pre::before {
    background-size: 80% auto;
  }
}

.pagerWrap__list__link__pre:hover::before {
  left: 27px;
}

@media screen and (max-width: 959px) {
  .pagerWrap__list__link__pre:hover::before {
    left: 22px;
  }
}

.pagerWrap__list__link__next::before {
  width: 10px;
  height: 16px;
  position: absolute;
  background: url("../common/arrow_white02.svg") center center no-repeat;
  background-size: 100% auto;
  right: 22px;
  top: 0;
  bottom: 0;
  margin: auto;
  content: "";
  display: block;
  transition: all 0.3s;
}

@media screen and (max-width: 599px) {
  .pagerWrap__list__link__next::before {
    background-size: 80% auto;
  }
}

.pagerWrap__list__link__next:hover::before {
  right: 27px;
}

@media screen and (max-width: 959px) {
  .pagerWrap__list__link__next:hover::before {
    right: 22px;
  }
}

.pagerWrap__list__link:hover {
  background: #898989;
}

@media screen and (max-width: 959px) {
  .pagerWrap__list__link:hover {
    background: #555;
  }
}

/*---------------------------------------

top

----------------------------------------*/
.baseBg {
  width: 100%;
  background: url("../img/bg_img02.jpg") 0 0 repeat;
  background-size: 238px 166px;
}

.baseBg__w {
  position: relative;
}

.baseBg__w::before {
  width: 100%;
  height: 100%;
  background: url("../img/bg_img02.jpg") 0 0 repeat;
  background-size: 238px 166px;
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  display: block;
  opacity: 0.8;
}

.topTitle {
  text-align: center;
  margin-bottom: 80px;
}

@media screen and (max-width: 959px) {
  .topTitle {
    margin-bottom: 40px;
  }
}

@media screen and (max-width: 599px) {
  .topTitle {
    margin-bottom: 30px;
  }
}

.topTitle__jp {
  font-family: "Noto Serif JP", serif;
  font-size: 30px;
  font-weight: 300;
  color: #FFF;
  line-height: 1.3;
  margin-bottom: 10px;
}

@media screen and (max-width: 959px) {
  .topTitle__jp {
    font-size: 22px;
    margin-bottom: 8px;
  }
}

@media screen and (max-width: 599px) {
  .topTitle__jp {
    font-size: 20px;
    margin-bottom: 8px;
  }
}

.topTitle__jp__100 {
  letter-spacing: 0.1em;
  text-indent: 0.1em;
  font-size: 32px;
}

@media screen and (max-width: 959px) {
  .topTitle__jp__100 {
    font-size: 24px;
  }
}

@media screen and (max-width: 599px) {
  .topTitle__jp__100 {
    font-size: 22px;
  }
}

.topTitle__en {
  font-family: "Great Vibes", cursive;
  font-weight: 400;
  font-size: 24px;
  color: rgba(255, 198, 43, 0.5);
  letter-spacing: 0.05em;
  text-indent: 0.05em;
}

@media screen and (max-width: 959px) {
  .topTitle__en {
    font-size: 17px;
  }
}

@media screen and (max-width: 599px) {
  .topTitle__en {
    font-size: 15px;
  }
}

.topTitle02 {
  text-align: center;
  margin-bottom: 40px;
}

@media screen and (max-width: 959px) {
  .topTitle02 {
    margin-bottom: 20px;
  }
}

.topTitle02__jp {
  font-family: "Noto Serif JP", serif;
  letter-spacing: 0.6em;
  text-indent: 0.6em;
  font-size: 35px;
  font-weight: 300;
  color: #FFF;
  line-height: 1.3;
  margin-bottom: 10px;
}

@media screen and (max-width: 959px) {
  .topTitle02__jp {
    font-size: 24px;
    margin-bottom: 8px;
  }
}

@media screen and (max-width: 599px) {
  .topTitle02__jp {
    font-size: 22px;
    margin-bottom: 8px;
  }
}

.topTitle02__en {
  font-family: "Great Vibes", cursive;
  font-weight: 400;
  font-size: 16px;
  color: rgba(255, 255, 255, 0.5);
  letter-spacing: 0.05em;
  text-indent: 0.05em;
}

@media screen and (max-width: 959px) {
  .topTitle02__en {
    font-size: 14px;
  }
}

/*
メインビジュアル--------------------------------*/
.mainVisual {
  background-color: #f8f8fa;
  border-bottom: 5px solid #c49821;
}

@media screen and (max-width: 959px) {
  .mainVisual {
    border-bottom: none;
  }
}

.mainVisual__img {
  max-width: 1200px;
  width: 100%;
  background-image: url("../img/top/main_img.jpg");
  background-position: center 0;
  background-repeat: no-repeat;
  background-size: 100% auto;
  position: relative;
  height: 100%;
  margin: 0 auto 0px auto;
}

@media screen and (max-width: 959px) {
  .mainVisual__img {
    background-image: url("../img/top/sp_main_img.jpg");
  }
}

.mainVisual__img::before {
  position: relative;
  padding-top: 50%;
  content: "";
  display: block;
}

@media screen and (max-width: 959px) {
  .mainVisual__img::before {
    padding-top: 64%;
  }
}

/*
TOPのスライダー部分-----------------------*/
.topSlider {
  padding: 80px 0 0px;
  box-sizing: border-box;
}

@media screen and (max-width: 959px) {
  .topSlider {
    padding: 50px 0 0;
  }
}

@media screen and (max-width: 599px) {
  .topSlider {
    padding: 35px 0 0;
  }
}

/*
店舗情報--------------------------------*/
.topShop {
  padding: 80px 0 110px;
}

@media screen and (max-width: 959px) {
  .topShop {
    padding: 50px 0 60px;
  }
}

@media screen and (max-width: 599px) {
  .topShop {
    padding: 30px 0 0px;
  }
}

.topShop .topTitle {
  margin-bottom: 55px;
}

@media screen and (max-width: 959px) {
  .topShop .topTitle {
    margin-bottom: 25px;
  }
}

.topShop__inner {
  max-width: 1000px;
  width: 100%;
  margin: auto;
  display: flex;
  flex-wrap: wrap;
}

@media screen and (max-width: 959px) {
  .topShop__inner {
    width: 92%;
  }
}

@media screen and (max-width: 599px) {
  .topShop__inner {
    display: block;
  }
}

.topShop__image {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
}

.topShop__image li {
  width: calc(95% / 2);
}

@media screen and (max-width: 599px) {
  .topShop__image li {
    width: 100%;
  }
}

.topShop__image li img {
  width: 100%;
}

.topShop__image li + li {
  margin-left: 5%;
}

@media screen and (max-width: 599px) {
  .topShop__image li + li {
    margin-left: 0;
    margin-top: 7%;
  }
}

.topShop__textarea {
  width: 86%;
  margin: 0 auto 65px;
  border-collapse: collapse;
  box-sizing: border-box;
}

@media screen and (max-width: 959px) {
  .topShop__textarea {
    width: 80%;
    margin: 0 auto 45px;
  }
}

@media screen and (max-width: 599px) {
  .topShop__textarea {
    width: 100%;
    margin: 0 auto 25px;
  }
}

.topShop__textarea tr {
  width: 100%;
  border-style: solid;
  border-width: 0 0 1px 0;
  border-color: rgba(227, 222, 206, 0.2);
  box-sizing: border-box;
}

.topShop__textarea tr:first-child {
  border-style: solid;
  border-width: 1px 0 1px 0;
  border-color: rgba(227, 222, 206, 0.2);
}

.topShop__textarea th {
  width: 30%;
  text-align: left;
  color: #FFF;
  font-weight: 500;
  padding: 1.2em 0px 1.2em 0px;
  vertical-align: top;
}

@media screen and (max-width: 959px) {
  .topShop__textarea th {
    width: 32%;
    font-size: 14px;
  }
}

@media screen and (max-width: 599px) {
  .topShop__textarea th {
    width: 100%;
    display: block;
    padding: 12px 0px 5px 0px;
  }
}

.topShop__textarea td {
  color: #FFF;
  padding: 1.2em 0px 1.2em 0px;
}

@media screen and (max-width: 959px) {
  .topShop__textarea td {
    font-size: 14px;
  }
}

@media screen and (max-width: 599px) {
  .topShop__textarea td {
    width: 100%;
    display: block;
    padding: 0px 0px 10px 0px;
  }
}

.topShop__tel {
  pointer-events: none;
  color: #fff;
}

@media screen and (max-width: 959px) {
  .topShop__tel {
    pointer-events: auto;
    background: #FFF;
    padding: 0.8em 1.5em 0.8em 1em;
    box-sizing: border-box;
    display: block;
    color: #1d5696;
    text-align: center;
    font-size: 18px;
    line-height: 1;
    font-weight: bold;
    font-family: "Roboto", sans-serif;
  }
}

@media screen and (max-width: 599px) {
  .topShop__tel {
    width: 90%;
    margin: 5px auto 5px;
  }
}

@media screen and (max-width: 959px) {
  .topShop__tel__icon {
    display: inline-block;
    text-align: center;
    position: relative;
    padding: 0 0 0 1.8em;
    box-sizing: border-box;
  }
  .topShop__tel__icon::before {
    width: 14px;
    height: 18px;
    background: url("../img/tel_icon.svg") center center no-repeat;
    background-size: 100% auto;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    content: "";
    display: block;
  }
}

/*
固定画像のみブロック--------------------------------*/
.topImage01 {
  height: 0;
  background-image: url(../img/top/bg_image01.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-attachment: fixed;
  background-position: center top;
  padding-top: 31.55%;
}

@media screen and (max-width: 959px) {
  .topImage01 {
    /*<!--background-attachment:scroll;-->*/
  }
}

@media screen and (max-width: 599px) {
  .topImage01 {
    display: none;
  }
}

.topImage02 {
  height: 0;
  background-image: url(../img/top/bg_image02.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-attachment: fixed;
  background-position: center top;
  padding-top: 31.55%;
}

@media screen and (max-width: 959px) {
  .topImage02 {
    /*background-attachment:scroll;*/
    background-position: center center;
    padding-top: 32%;
  }
}

@media screen and (max-width: 599px) {
  .topImage02 {
    display: none;
  }
}

.topImage03 {
  height: 0;
  background-image: url(../img/top/bg_image03.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-attachment: fixed;
  background-position: center top;
  padding-top: 31.55%;
}

@media screen and (max-width: 959px) {
  .topImage03 {
    /*background-attachment:scroll;*/
  }
}

@media screen and (max-width: 599px) {
  .topImage03 {
    display: none;
  }
}

/*
とうじの歴史--------------------------------*/
.topHistory {
  padding: 100px 0 100px 0;
  box-sizing: border-box;
}

@media screen and (max-width: 959px) {
  .topHistory {
    padding: 60px 0 60px 0;
  }
}

@media screen and (max-width: 599px) {
  .topHistory {
    padding: 40px 0 20px 0;
  }
}

.topHistory .topTitle {
  margin-bottom: 55px;
}

@media screen and (max-width: 959px) {
  .topHistory .topTitle {
    margin-bottom: 30px;
  }
}

@media screen and (max-width: 599px) {
  .topHistory .topTitle {
    margin-bottom: 25px;
  }
}

.topHistory__inner {
  max-width: 1000px;
  width: 100%;
  margin: auto;
  display: flex;
  /*-webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
        flex-direction: row-reverse;*/
  justify-content: space-between;
}

@media screen and (max-width: 959px) {
  .topHistory__inner {
    width: 92%;
  }
}

@media screen and (max-width: 599px) {
  .topHistory__inner {
    display: block;
  }
}

.topHistory__image {
  width: 45%;
}

@media screen and (max-width: 959px) {
  .topHistory__image {
    width: 35%;
  }
}

@media screen and (max-width: 599px) {
  .topHistory__image {
    width: 100%;
  }
}

.topHistory__image img {
  width: 100%;
  margin-bottom: 10px;
}

.topHistory__image__text {
  font-size: 14px;
  line-height: 24px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  color: #FFF;
  letter-spacing: 0.03em;
}

@media screen and (max-width: 959px) {
  .topHistory__image__text {
    font-size: 13px;
    line-height: 22px;
  }
}

.topHistory__textarea {
  width: 50%;
  color: #FFF;
  margin-top: -12px;
  font-size: 14px;
  line-height: 33px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  letter-spacing: 0.03em;
  text-align: justify;
}

@media screen and (max-width: 959px) {
  .topHistory__textarea {
    font-size: 13px;
    line-height: 28px;
    width: 60%;
  }
}

@media screen and (max-width: 599px) {
  .topHistory__textarea {
    width: 100%;
    line-height: 26px;
    margin-bottom: 20px;
  }
}

/*
会社概要--------------------------------*/
.topOffice {
  padding: 95px 0 120px 0;
}

@media screen and (max-width: 959px) {
  .topOffice {
    padding: 60px 0 60px 0;
  }
}

@media screen and (max-width: 599px) {
  .topOffice {
    padding: 40px 0 40px 0;
  }
}

.topOffice .topTitle {
  margin-bottom: 50px;
}

@media screen and (max-width: 959px) {
  .topOffice .topTitle {
    margin-bottom: 30px;
  }
}

@media screen and (max-width: 599px) {
  .topOffice .topTitle {
    margin-bottom: 25px;
  }
}

.topOffice__tbl {
  max-width: 1000px;
  width: 100%;
  margin: auto;
  border-collapse: collapse;
  box-sizing: border-box;
}

@media screen and (max-width: 959px) {
  .topOffice__tbl {
    width: 92%;
  }
}

.topOffice__tbl tr {
  width: 100%;
  border-style: solid;
  border-width: 0 0 1px 0;
  border-color: rgba(227, 222, 206, 0.2);
  box-sizing: border-box;
}

.topOffice__tbl tr:first-child {
  border-style: solid;
  border-width: 1px 0 1px 0;
  border-color: rgba(227, 222, 206, 0.2);
}

.topOffice__tbl th {
  width: 19%;
  text-align: left;
  color: #FFF;
  font-weight: 500;
  padding: 1.2em 0px 1.2em 12px;
  vertical-align: top;
}

@media screen and (max-width: 959px) {
  .topOffice__tbl th {
    font-size: 14px;
  }
}

@media screen and (max-width: 599px) {
  .topOffice__tbl th {
    width: 100%;
    display: block;
    padding: 12px 0px 5px 0px;
  }
}

.topOffice__tbl td {
  color: #FFF;
  padding: 1.2em 0px 1.2em 0px;
}

@media screen and (max-width: 959px) {
  .topOffice__tbl td {
    font-size: 14px;
  }
}

@media screen and (max-width: 599px) {
  .topOffice__tbl td {
    display: block;
    padding: 0px 0px 10px 0px;
  }
}

/*
アクセス--------------------------------*/
.topAccess {
  padding: 100px 0 120px 0;
  box-sizing: border-box;
}

@media screen and (max-width: 959px) {
  .topAccess {
    padding: 60px 0 60px 0;
  }
}

@media screen and (max-width: 599px) {
  .topAccess {
    padding: 40px 0 0px 0;
  }
}

.topAccess .topTitle {
  margin-bottom: 45px;
}

@media screen and (max-width: 959px) {
  .topAccess .topTitle {
    margin-bottom: 25px;
  }
}

@media screen and (max-width: 599px) {
  .topAccess .topTitle {
    margin-bottom: 15px;
  }
}

.topAccess__lead {
  max-width: 1000px;
  width: 100%;
  margin: 0 auto 60px;
  text-align: center;
  color: #FFF;
}

@media screen and (max-width: 959px) {
  .topAccess__lead {
    width: 92%;
    margin: 0 auto 35px;
    font-size: 14px;
    line-height: 1.7;
  }
}

@media screen and (max-width: 599px) {
  .topAccess__lead {
    margin: 0 auto 25px;
  }
}

.topAccess__list {
  max-width: 1000px;
  width: 100%;
  margin: auto;
  display: flex;
  justify-content: space-between;
}

@media screen and (max-width: 959px) {
  .topAccess__list {
    width: 92%;
  }
}

@media screen and (max-width: 599px) {
  .topAccess__list {
    display: block;
  }
}

.topAccess__list li {
  width: 46%;
}

@media screen and (max-width: 959px) {
  .topAccess__list li {
    width: 48%;
  }
}

@media screen and (max-width: 599px) {
  .topAccess__list li {
    width: 100%;
  }
}

.topAccess__list li:nth-child(2) {
  /*background: #155a96;*/
  /*padding: 24px 20px 24px 20px;*/
  box-sizing: border-box;
}

@media screen and (max-width: 959px) {
  .topAccess__list li:nth-child(2) {
    /*padding: 14px 10px 14px 10px;*/
  }
}

@media screen and (max-width: 599px) {
  .topAccess__list li:nth-child(2) {
    margin-top: 30px;
    /*padding: 5px 5px 5px 5px;*/
  }
}

.topAccess__list__map {
  height: 0;
  position: relative;
  padding-top: 82.7%;
}

.topAccess__list__map iframe, .topAccess__list__map object, .topAccess__list__map embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.topAccess__list__text {
  color: #FFF;
  /*background: #b59e61;*/
  padding: 14px 20px 14px 20px;
  border-style: solid;
  border-width: 1px;
  border-color: rgba(255, 255, 255, 0.2);
  box-sizing: border-box;
  text-align: center;
  font-size: 22px;
  font-family: "Noto Serif JP", serif;
  letter-spacing: 0.1em;
  font-weight: 400;
  margin-bottom: 30px;
}

@media screen and (max-width: 959px) {
  .topAccess__list__text {
    font-size: 18px;
    line-height: 1;
    margin-bottom: 20px;
  }
}

.topAccess__list__image img {
  width: 100%;
}

/*
系列店--------------------------------*/
.topTohji {
  background: url("../img/top/keiretsu_bg.jpg") center center no-repeat;
  background-size: cover;
  padding: 100px 0 100px 0;
  box-sizing: border-box;
}

@media screen and (max-width: 959px) {
  .topTohji {
    padding: 60px 0 60px 0;
  }
}

@media screen and (max-width: 599px) {
  .topTohji {
    padding: 40px 0 40px 0;
  }
}

.topTohji__list {
  max-width: 1200px;
  width: 100%;
  margin: auto;
  display: flex;
  justify-content: center;
  align-items: center;
}

@media screen and (max-width: 959px) {
  .topTohji__list {
    max-width: auto;
    width: 92%;
  }
}

@media screen and (max-width: 599px) {
  .topTohji__list {
    display: block;
  }
}

.topTohji__list li + li {
  margin-left: 40px;
}

@media screen and (max-width: 959px) {
  .topTohji__list li + li {
    margin-left: 20px;
  }
}

@media screen and (max-width: 599px) {
  .topTohji__list li + li {
    margin-left: 0px;
    margin-top: 20px;
  }
}

.topTohji__list a {
  min-width: 320px;
  height: 70px;
  text-align: center;
  border: 1px solid #fff1cd;
  background: #c49821;
  color: #FFF;
  padding: 10px 10px 10px 10px;
  box-sizing: border-box;
  font-size: 18px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  display: flex;
  justify-content: center;
  align-items: center;
  box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.6);
  position: relative;
  transition: all 0.3s;
}

@media screen and (max-width: 959px) {
  .topTohji__list a {
    min-width: auto;
    width: 210px;
    height: 60px;
    font-size: 15px;
    line-height: 1.2;
  }
}

@media screen and (max-width: 599px) {
  .topTohji__list a {
    width: 80%;
    margin: auto;
  }
}

.topTohji__list a::before {
  position: absolute;
  right: 20px;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 10px;
  height: 10px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: rotate(45deg);
  content: "";
  display: block;
}

@media screen and (max-width: 959px) {
  .topTohji__list a::before {
    right: 10px;
  }
}

.topTohji__list a:hover {
  background: #e7ba3f;
  box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.6), 3px 3px 15px rgba(0, 0, 0, 0.4);
}

@media screen and (max-width: 959px) {
  .topTohji__list a:hover {
    background: #c49821;
    box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.6);
  }
}

/*
トピックスインスタ--------------------------------*/
.topInformation {
  padding: 80px 0 100px 0;
  box-sizing: border-box;
}

@media screen and (max-width: 959px) {
  .topInformation {
    padding: 60px 0 50px 0;
  }
}

@media screen and (max-width: 599px) {
  .topInformation {
    padding: 40px 0 35px 0;
  }
}

.topInformation__inner {
  max-width: 1000px;
  width: 100%;
  margin: auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

@media screen and (max-width: 959px) {
  .topInformation__inner {
    width: 92%;
  }
}

.topInformation .topicsBlock {
  width: 49%;
}

@media screen and (max-width: 599px) {
  .topInformation .topicsBlock {
    width: 100%;
    margin-bottom: 40px;
  }
}

.topInformation .topicsBlock__title {
  font-family: "Gentium Book Basic", serif;
  font-weight: 400;
  font-size: 25px;
  color: #FFF;
  line-height: 1;
  letter-spacing: 0.15em;
  margin-bottom: 18px;
}

@media screen and (max-width: 959px) {
  .topInformation .topicsBlock__title {
    font-size: 22px;
    margin-bottom: 13px;
  }
}

.topInformation .instaBlock {
  width: 42.4%;
}

@media screen and (max-width: 959px) {
  .topInformation .instaBlock {
    width: 45%;
  }
}

@media screen and (max-width: 599px) {
  .topInformation .instaBlock {
    width: 100%;
  }
}

.topInformation .instaBlock__title {
  vertical-align: middle;
  font-size: 20px;
  font-family: "Noto Serif JP", serif;
  font-weight: 300;
  letter-spacing: 0.1em;
  color: #FFF;
  margin-bottom: 15px;
}

@media screen and (max-width: 959px) {
  .topInformation .instaBlock__title {
    font-size: 18px;
  }
}

.topInformation .instaBlock__title span {
  width: 37px;
  height: 37px;
  display: inline-block;
  vertical-align: middle;
  margin-right: 20px;
}

@media screen and (max-width: 959px) {
  .topInformation .instaBlock__title span {
    width: 30px;
    height: 30px;
    margin-right: 12px;
  }
}

.topInformation .instaBlock__title span img {
  width: 100%;
}

.topInformation .instaBlock .instaList {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 22px;
}

.topInformation .instaBlock .instaList__item {
  width: calc((100% - 3px) / 2);
}

.topInformation .instaBlock .instaList__item + .instaList__item {
  margin-top: 3px;
}

.topInformation .instaBlock .instaList__item:nth-child(2) {
  margin-top: 0;
}

.topInformation .instaBlock .instaList__item__link {
  display: block;
  overflow: hidden;
}

.topInformation .instaBlock .instaList__item__link img {
  width: 100%;
  transition: transform 0.3s linear;
}

.topInformation .instaBlock .instaList__item__link:hover img {
  transform: scale(1.2);
}

@media screen and (max-width: 959px) {
  .topInformation .instaBlock .instaList__item__link:hover img {
    transform: none;
  }
}

.topInformation .baseBtn {
  width: 220px;
  margin: 0 auto;
}

/*---------------------------------------

slider

----------------------------------------*/
/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  user-select: none;
  -webkit-touch-callout: none;
  -khtml-user-select: none;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  display: block;
  overflow: hidden;
  margin: 0;
  padding: 0;
}

.slick-list:focus {
  outline: none;
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  top: 0;
  left: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.slick-track:before,
.slick-track:after {
  display: table;
  content: '';
}

.slick-track:after {
  clear: both;
}

.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  display: none;
  float: left;
  height: 100%;
  min-height: 1px;
}

[dir='rtl'] .slick-slide {
  float: right;
}

.slick-slide img {
  display: block;
}

.slick-slide.slick-loading img {
  display: none;
}

.slick-slide.dragging img {
  pointer-events: none;
}

.slick-initialized .slick-slide {
  display: block;
}

.slick-loading .slick-slide {
  visibility: hidden;
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

/*---------------------------------------
information

----------------------------------------*/
.topicsList {
  max-width: 1000px;
  width: 100%;
  margin: 0 auto 40px;
}

@media screen and (max-width: 959px) {
  .topicsList {
    width: 92%;
    margin: 0 auto 30px;
  }
}

.topicsList__item {
  border-style: solid;
  border-width: 0px 0px 1px 0px;
  border-color: rgba(229, 229, 229, 0.2);
  box-sizing: border-box;
}

.topicsList__item:first-child {
  border-style: solid;
  border-width: 1px 0px 1px 0px;
  border-color: rgba(229, 229, 229, 0.2);
}

.topicsList__item__link {
  display: flex;
  flex-wrap: wrap;
  padding: 1.5em -0px 1.5em -0px;
  box-sizing: border-box;
  transition: all 0.3s;
}

.topicsList__item__link:hover {
  background: rgba(255, 255, 255, 0.15);
}

@media screen and (max-width: 959px) {
  .topicsList__item__link:hover {
    background: none;
  }
}

.topicsList__date {
  color: #FFF;
  font-family: "Roboto", sans-serif;
  font-weight: 400;
  font-size: 15px;
  line-height: 1.6;
  width: 16%;
  padding-left: 2%;
}

@media screen and (max-width: 599px) {
  .topicsList__date {
    width: 100%;
    padding-left: 0;
    margin-bottom: 5px;
  }
}

.topicsList__text {
  color: #231815;
  font-size: 15px;
  line-height: 1.6;
  width: 80%;
  color: #FFF;
}

@media screen and (max-width: 599px) {
  .topicsList__text {
    width: 100%;
  }
}

.topicsList__text .new {
  display: inline-block;
  color: #FFF;
  background: #8f0000;
  padding: 2px 3px 1px 3px;
  box-sizing: border-box;
  font-size: 12px;
  line-height: 1;
}

.topicsList__top {
  margin-bottom: 22px;
}

@media screen and (max-width: 959px) {
  .topicsList__top {
    width: auto;
  }
}

.topicsList__top .topicsList__item {
  border-color: rgba(229, 229, 229, 0.2);
}

.topicsList__top .topicsList__item:first-child {
  border-style: solid;
  border-width: 1px 0px 1px 0px;
  border-color: rgba(229, 229, 229, 0.2);
}

.topicsList__top .topicsList__link {
  display: block;
  padding: 1.35em -0px 1.1em -0px;
}

.topicsList__top .topicsList__link:hover {
  background: rgba(255, 255, 255, 0.15);
}

@media screen and (max-width: 959px) {
  .topicsList__top .topicsList__link:hover {
    background: none;
  }
}

.topicsList__top .topicsList__date {
  display: block;
  margin-bottom: 10px;
  line-height: 1;
  width: 100%;
  font-size: 14px;
}

.topicsList__top .topicsList__text {
  width: 100%;
  font-size: 14px;
  line-height: 1.4;
  padding-left: 2%;
}

.dataSec {
  max-width: 1000px;
  width: 100%;
  margin: auto;
}

@media screen and (max-width: 959px) {
  .dataSec {
    width: 92%;
  }
}

.dataSec .newIcon {
  color: #FFF;
  background-color: #920630;
  line-height: 1.0;
  padding: 3px 5px 2px 5px;
  margin: 0 0 2px 10px;
  font-size: 10px;
  vertical-align: baseline;
  position: relative;
}

.dataSec .titleBox {
  border-top: 1px solid  #E5E5E5;
  border-bottom: 1px solid  #E5E5E5;
  padding: 25px 20px 25px 20px;
  margin: 0 0 40px 0;
}

@media screen and (max-width: 959px) {
  .dataSec .titleBox {
    padding: 25px 0px 25px 0px;
    margin: 0px 0 20px 0;
  }
}

@media screen and (max-width: 599px) {
  .dataSec .titleBox {
    margin: 0px 0 15px 0;
    padding: 15px 0px 15px 0px;
  }
}

.dataSec .titleBox .day {
  color: #fff;
  margin: 0 0 5px 0;
  font-family: "Roboto", sans-serif;
  font-weight: 400;
  font-size: 15px;
}

.dataSec .titleBox h2 {
  font-size: 18px;
  color: #FFF;
}

@media screen and (max-width: 959px) {
  .dataSec .titleBox h2 {
    font-size: 16px;
  }
}

.dataSec .dataBox {
  border-bottom: 1px solid  #E5E5E5;
  padding: 0px 20px 40px 20px;
  margin: 0 0 40px 0;
  font-size: 14px;
  line-height: 1.8;
  color: #FFF;
}

@media screen and (max-width: 959px) {
  .dataSec .dataBox {
    margin: 0 0 40px 0;
    padding: 0px 0px 30px 0px;
  }
}

@media screen and (max-width: 599px) {
  .dataSec .dataBox {
    margin: 0 0 20px 0;
    padding: 0px 0px 15px 0px;
  }
}

.dataSec .dataBox img {
  max-width: 100%;
  height: auto !important;
}

/*---------------------------------------
contact

----------------------------------------*/
.formSec {
  max-width: 1000px;
  width: 100%;
  margin: 0 auto;
}

@media screen and (max-width: 959px) {
  .formSec {
    width: 92%;
  }
}

.readText01 {
  margin: 0 0 40px 0;
  font-size: 14px;
  color: #FFF;
}

@media screen and (max-width: 959px) {
  .readText01 {
    margin: 0 0 20px 0;
  }
}

.formList {
  border-top: 1px solid #E5E5E5;
  margin: 0 0 40px 0;
}

@media screen and (max-width: 959px) {
  .formList {
    margin: 0 0 20px 0;
  }
}

.formList dt {
  width: 220px;
  float: left;
  color: #fff;
  font-size: 14px;
  padding: 30px 20px 30px 20px;
}

@media screen and (max-width: 959px) {
  .formList dt {
    width: 100%;
    float: none;
    padding: 15px 0px 5px 0px;
    margin: 0 0 10px 0;
  }
}

.formList dt .must01 {
  font-size: 13px;
  float: right;
  background: #920630;
  padding: 4px 5px 4px 5px;
  line-height: 1.0;
}

.formList dt .nini01 {
  font-size: 13px;
  float: right;
  color: #999;
  background: #FFF;
  padding: 4px 5px 4px 5px;
  line-height: 1.0;
}

.formList dd {
  padding: 30px 20px 30px 300px;
  border-bottom: 1px solid #E5E5E5;
  font-size: 14px;
  color: #FFF;
}

@media screen and (max-width: 959px) {
  .formList dd {
    padding: 0px 0px 20px 0px;
    border-bottom: 1px solid #E5E5E5;
  }
}

.formList dd textarea {
  width: 90%;
  font-family: inherit;
  border: none;
  font-size: 14px;
  padding: 12px 12px;
}

@media screen and (max-width: 959px) {
  .formList dd textarea {
    width: 100% !important;
    box-sizing: border-box;
  }
}

.formList dd input[type=text], .formList dd input[type=email] {
  font-family: inherit;
  width: 90%;
  border: none;
  padding: 15px;
  font-size: 14px;
}

@media screen and (max-width: 959px) {
  .formList dd input[type=text], .formList dd input[type=email] {
    width: 100% !important;
    box-sizing: border-box;
  }
}

.error01 {
  background-color: #fff;
  border: 4px solid #F1E7EC;
  color: #920630;
  padding: 12px 10px 12px 10px;
  margin: 0 0 30px 0;
  box-sizing: border-box;
  text-align: center;
  font-weight: bold;
  font-size: 14px;
}

@media screen and (max-width: 959px) {
  .error01 {
    margin: 0 0 20px 0;
  }
}

.error02 {
  color: #fff;
  padding: 2px 10px 2px 30px;
  margin: 0 0 5px 0;
  font-weight: bold;
  background: url("../img/error_icon.svg") left 2px no-repeat;
  background-size: 22px 22px;
}

.thanksBox {
  margin: 0 0 100px;
}

@media screen and (max-width: 959px) {
  .thanksBox {
    margin: 0 0 50px;
  }
}

.thanksBox .title {
  color: #fff;
  font-size: 20px;
  margin: 0 0 10px 0;
}

.thanksBox .text {
  color: #FFF;
  font-size: 14px;
}
/*# sourceMappingURL=style.css.map */