@charset "UTF-8";
/*! Theme Name: wp */
/* *******************************************************************************

※remはCSS3で追加された機能になるので未対応ブラウザへの対応としてpxでの指定も重ねて記述しておきます。（remの前にpxで記述します）

※フォントファミリーは基本的にNoto Sans(google font)で設定。
※明朝体の場合はNotoserifを使用すること。
　●Notoserifフォントはfontフォルダの中に入っています。

******************************************************************************　*/
@import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:300,400,500,700,900&display=swap&subset=japanese");
@import url("https://fonts.googleapis.com/css2?family=Oswald:wght@400;500;600;700&display=swap");
@import url("https://fonts.googleapis.com/css?family=Open+Sans:400,600,700,800&display=swap");
@import url("https://fonts.googleapis.com/css?family=Noto+Serif+JP:200,300,400,500,600,700,900&display=swap&subset=japanese");

/* *******************************************************************************
-------------------------------------------------------------
■ PC
-------------------------------------------------------------
1. 共通部分
2. サイトヘッダ部分
3. Pankuzu WP-PageNavi pagelink
4. フッタ部分
5. pagetop
6. サイドバー
7. サイト共通タイトルボタンなど
*/
/*************　共通部分　 *******************************/
/*------------------------------------------------------------
Reset
------------------------------------------------------------*/
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,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
dialog,
figure,
footer,
header,
nav,
section,
time,
mark,
audio,
video {
 font-size: 1em;
 margin: 0;
 padding: 0;
 border: 0;
 outline: 0;
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
}

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

html {
 font-size: 62.5%;
}

body {
 -webkit-text-size-adjust: 100%;
}

h1,
h2,
h3,
h4,
h5,
h6 {
 font-weight: bold;
}

table,
input,
textarea,
select,
option {
 line-height: 1.1;
}

ol,
ul {
 list-style: none;
}

blockquote,
q {
 quotes: none;
}

:focus {
 outline: 0;
}

ins {
 text-decoration: none;
}

del {
 text-decoration: line-through;
}

img {
 margin: 0;
 padding: 0;
 border: 0;
 max-width: 100%;
 height: auto;
 width: auto;
 vertical-align: top;
}

a {
 -webkit-transition: 0.3s ease-in-out;
 transition: 0.3s ease-in-out;
}

a:hover {
 opacity: 0.8;
 filter: alpha(opacity=80);
 -ms-filter: "alpha(opacity=80)";
}

form label {
 cursor: pointer;
}

.grey {
 background-color: #f5f5f5;
 padding: 50px 0;
}

/*------------------------------------------------------------
for develop
------------------------------------------------------------*/
#__bs_notify__ {
 opacity: 0.3 !important;
 font-size: 5px !important;
 line-height: 100% !important;
 padding: 0 5px 0 5px !important;
 border-radius: 0 !important;
}

.c-dev-title1 {
 background: #000;
 color: #fff;
 line-height: 1;
 padding: 6px 0 6px 15px;
 font-size: 1.6rem;
 margin: 60px 0 20px 0;
}

.c-dev-title2 {
 background: #888;
 color: #fff;
 line-height: 1;
 padding: 6px 0 6px 30px;
 font-size: 1.3rem;
 margin: 50px 0 10px 0;
}

.c-dev-message1 {
 top: 0;
 left: 0;
 background: #f00;
 color: #fff;
 z-index: 9999;
 position: fixed;
 line-height: 1;
 padding: 3px 6px;
 opacity: 0.6;
 font-size: 8px;
}

html {
 /* ルートのフォントサイズを10pxと同サイズに設定 */
 font-size: 62.5%;
}

body {
 font-family: 'Noto Sans JP', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN,',
  'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic',
  sans-serif;
 font-size: 16px;
 /* ベースのフォントサイズを14px相当に設定 */
 font-size: 1.6rem;
 color: #000;
 font-weight: 400;
 line-height: 1.93;
 background: #fff;
 margin: 0;
 min-width: 320px;
}

body.fixed {
 position: fixed;
 width: 100%;
 height: 100%;
}

main {}

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

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

embed {
 vertical-align: top;
}

a,
a:hover,
a:visited,
a:active {
 color: #333;
 text-decoration: underline;
 font-weight: bold;
}

a:hover {
 opacity: 0.7;
}

@media screen and (max-width: 960px) {
 a:hover {
  opacity: 1;
  text-decoration: underline;
  font-weight: bold;
 }
}

a[href^='tel:'] {
 cursor: default;
 pointer-events: none;
 opacity: 1;
 text-decoration: none;
}

@media screen and (max-width: 960px) {
 a[href^='tel:'] {
  cursor: pointer;
  pointer-events: auto;
  letter-spacing: 0.09em;
 }
}

/*----------------------------------------------
------------------------------------------------
※レイアウト
------------------------------------------------
------------------------------------------------*/
#wrap {
 width: 100%;
 margin: 0 auto !important;
 padding: 0;
}

.inner {
 margin: 0 auto;
 padding: 0 5%;
 max-width: 1040px;
 -webkit-box-sizing: content-box;
 box-sizing: content-box;
}

/************* 共通ボタン *******************************/
/*画面サイズが767px以上に適用*/
@media screen and (min-width: 767px) {
 .sp_view {
  display: none;
 }
}

@media (min-width: 961px) {
 .sp-only {
  display: none;
 }
}

@media (min-width: 1201px) {
 .sp-only-b {
  display: none !important;
 }
}

@media (max-width: 430px) {
 .sp-only_q {
  display: none;
 }
}

@media (min-width: 969px) {
 .sp-only_men {
  display: none;
 }
}


@media screen and (max-width: 640px) {
 .pc-only_q {
  display: none;
 }
}

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

 img {
  max-width: 100%;
  height: auto;
 }
}

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

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

@media (min-width: 641px) { 
 .sp-only_a { 
  display: none;  
 }  
}


/*------------------------------------------------------------
clearfix
------------------------------------------------------------*/
.clearfix {
 *zoom: 1;
}

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

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

.en {
 font-family: 'Oswald', sans-serif;
 color: #9c0;
 font-size: 1.4rem;
 text-transform: uppercase;
 letter-spacing: 1px;
}

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

 .en {
  font-size: 1.2rem;
 }
}

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

 .en {
  font-size: 0.9rem;
 }
}


/*------------------------------------------------------------
text-align
------------------------------------------------------------*/
.ta-left {
 text-align: left !important;
}

.ta-right {
 text-align: right !important;
}

.ta-center {
 text-align: center !important;
}

/*------------------------------------------------------------
float
------------------------------------------------------------*/
.fl-left {
 float: left;
}

.fl-right {
 float: right;
}

@font-face {
 font-family: 'Cicle-Gordita';
 src: url('../font/Cicle-Gordita.ttf.woff') format('woff'),
  url('../font/Cicle-Gordita.ttf.svg#Cicle-Gordita') format('svg'),
  url('../font/Cicle-Gordita.ttf.eot'),
  url('../font/Cicle-Gordita.ttf.eot?#iefix') format('embedded-opentype');
 font-weight: normal;
 font-style: normal;
}

.cicle_go {
 font-family: 'Cicle-Gordita', sans-Serif;
}

/*------------------------------------------------------------
ie-object
------------------------------------------------------------*/
.custom-object-fit {
 position: relative;
 background-size: cover;
 background-position: center center;
}

.custom-object-fit img {
 opacity: 0;
}

.grecaptcha-badge {
 display: none;
}

/*------------------------------------------------------------
breadcrumb
------------------------------------------------------------*/
/* breadcrumb
------------------------------------------------------------*/
.breadcrumbs {
 color: #444;
 margin-bottom: 80px;
}

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

.breadcrumb_item {
 margin-right: 4px;
 display: inline-block;
 font-size: 1.4rem;
 vertical-align: top;
 position: relative;
 padding-right: 7px;
}

.breadcrumb_item a {
 margin-right: 5px;
 position: relative;
 opacity: 1;
 color: #444;
}

@media screen and (min-width: 961px) {
 .breadcrumb_item a:hover {
  text-decoration: underline;
 }
}

.breadcrumb_item::after {
 content: '>';
 position: absolute;
 right: 0;
 top: 0;
}

.breadcrumb_item:last-child {
 margin-right: 0;
 padding-right: 0;
}

.breadcrumb_item:last-child::after {
 display: none;
}



/*------------------------------------------------------------
layout
------------------------------------------------------------*/
/*
------------------------------------------------------------*/
/*------------------------------------------------------------
side
------------------------------------------------------------*/
/*
------------------------------------------------------------*/
/*------------------------------------------------------------
btn
------------------------------------------------------------*/
/* btn_list
------------------------------------------------------------*/
.btn_list {
 display: -webkit-box;
 display: -webkit-flex;
 display: -ms-flexbox;
 display: flex;
 -webkit-box-pack: center;
 -webkit-justify-content: center;
 -ms-flex-pack: center;
 justify-content: center;
}

.btn_list li {
 margin: 0 10px;
 width: 250px;
 height: 60px;
}

.btn_list li:first-child {
 margin-left: 0;
}

.btn_list li:last-child {
 margin-right: 0;
}

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

@media screen and (max-width: 640px) {
 .btn_list li {
  width: 200px;
  height: 50px;
 }
}

/*------------------------------------------------------------
top2
------------------------------------------------------------*/

.btn_list01 {
 display: -webkit-box;
 display: -webkit-flex;
 display: -ms-flexbox;
 display: flex;
}

.btn_list01 li {
 margin: 0 10px;
 width: 250px;
}

.btn_list01 li:first-child {
 margin-left: 0;
}

.btn_list01 li:last-child {
 margin-right: 0;
}

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

@media screen and (max-width: 640px) {
 .btn_list01 li {
  width: 200px;
  height: 50px;
 }
}

/*------------------------------------------------------------
top3
------------------------------------------------------------*/

.btn_list02 {
 display: -webkit-box;
 display: -webkit-flex;
 display: -ms-flexbox;
 display: flex;
 -webkit-box-pack: center;
 -webkit-justify-content: center;
 -ms-flex-pack: center;
 justify-content: center;
}

.btn_list02 li {

 margin: 20px 10px 0px;
}

.btn_list02 li:first-child {
 margin-left: 0;
}

.btn_list02 li:last-child {
 margin-right: 0;
}


/*------------------------------------------------------------
footer用
------------------------------------------------------------*/
.btn_list03 {
 display: -webkit-box;
 display: -webkit-flex;
 display: -ms-flexbox;
 display: flex;
 -webkit-box-pack: center;
 -webkit-justify-content: center;
 -ms-flex-pack: center;
 justify-content: center;
}

.btn_list03 li {
 margin: 0 10px;
 width: 260px;
 height: 40px
}

.btn_list03 li:first-child {
 margin-left: 0;
}

.btn_list03 li:last-child {
 margin-right: 0;
}

/* btn_style01
------------------------------------------------------------*/
.btn_style01 a {
 height: 100%;
 padding: 17px 22px 17px;
 display: block;
 position: relative;
 color: #fff;
 font-family: 'Oswald', sans-serif;
 font-weight: 500;
 font-size: 1.6rem;
 letter-spacing: 0.05em;
 line-height: 1.5;
 text-align: center;
 text-decoration: none;
 border: 1px solid #9c0;
 background: #fff url(../img/common/arrow01_hover.png) no-repeat right center;
 background-position: right 20px center;
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
 opacity: 1;
 -webkit-box-align: center;
 -webkit-align-items: center;
 -ms-flex-align: center;
 align-items: center;
 display: -webkit-box;
 display: -webkit-flex;
 display: -ms-flexbox;
 display: flex;
 -webkit-box-pack: center;
 -webkit-justify-content: center;
 -ms-flex-pack: center;
 justify-content: center;
}

.btn_style01 a:before {
 position: absolute;
 top: -1px;
 left: -1px;
 right: -1px;
 bottom: -1px;
 text-decoration: none;
 background: #9c0 url(../img/common/arrow01_hover.png) no-repeat right center;
 background-position: right 20px center;
 border: 1px solid #9c0;
 content: '';
 opacity: 1;
 -webkit-transition: 0.3s ease-in-out;
 transition: 0.3s ease-in-out;
}

@media screen and (min-width: 961px) {
 .btn_style01 a:hover {
  color: #9c0;
 }

 .btn_style01 a:hover:before {
  opacity: 0;
 }
}

.btn_style01 a>span {
 position: relative;
 z-index: 1;
}

@media screen and (max-width: 960px) {
 .btn_style01 a>span {}
}

@media screen and (max-width: 960px) {
 .btn_style01 a {
  padding: 10px 11px 11px 10px;
  letter-spacing: 0.05em;
 }
}

@media screen and (max-width: 640px) {
 .btn_style01 a>span {
  font-size: 1.2rem;
 }
}

/* btn_style02
------------------------------------------------------------*/

.btn_list .btn_style02 {
 width: 760px;
}

.btn_style02 a {
 height: 100%;
 padding: 19px 22px 20px;
 display: block;
 position: relative;
 color: #0D3D20;
 font-family: 'Oswald', sans-serif;
 font-weight: bold;
 font-size: 2.4rem;
 letter-spacing: 0.05em;
 line-height: 1.5;
 text-align: center;
 border: 1px solid #DCEAB0;
 border-radius: 100px;
 background: #fff url(../img/common/arrow01_hover.png) no-repeat right center;
 background-position: right 20px center;
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
 opacity: 1;
 -webkit-box-align: center;
 -webkit-align-items: center;
 -ms-flex-align: center;
 align-items: center;
 display: -webkit-box;
 display: -webkit-flex;
 display: -ms-flexbox;
 display: flex;
 -webkit-box-pack: center;
 -webkit-justify-content: center;
 -ms-flex-pack: center;
 justify-content: center;
}

.btn_style02 a:before {
 position: absolute;
 top: -1px;
 left: -1px;
 right: -1px;
 bottom: -1px;
 background: #DCEAB0 url(../img/common/arrow01_hover.png) no-repeat right center;
 background-position: right 20px center;
 border: 1px solid #DCEAB0;
 border-radius: 100px;
 content: '';
 opacity: 1;
 -webkit-transition: 0.3s ease-in-out;
 transition: 0.3s ease-in-out;
}

@media screen and (min-width: 961px) {
 .btn_style02 a:hover {
  color: #0D3D20;
 }

 .btn_style02 a:hover:before {
  opacity: 0;
 }
}

.btn_style02 a>span {
 position: relative;
 z-index: 1;
}

@media screen and (max-width: 960px) {
 .btn_style02 a {
  padding: 10px 18px 11px 10px;
  font-size: 1.9rem;
  letter-spacing: 0.05em;
 }
}

@media screen and (max-width: 640px) {
 .btn_style02 a {
  font-size: 1.2rem;
 }
}

/*------------------------------------------------------------
title
------------------------------------------------------------*/
/* tit_style01
------------------------------------------------------------*/
.tit_style01 {
 margin-bottom: 30px;
 font-size: 3.2rem;
 font-weight: 400;
 letter-spacing: 0.06em;
 text-align: center;
 position: relative;
}

.tit_style01:after {
 position: absolute;
 left: 50%;
 content: '';
 width: 2px;
 height: 40px;
 top: 80;
 z-index: 501;
 background-color: #d0171f;
}

.tit_style01.left {
 text-align: left;
}

.tit_style01 .en {
 margin-bottom: 1px;
 display: block;
 color: #d0171f;
 font-family: 'Noto Sans JP', sans-serif;
 font-weight: 400;
 font-size: 1.0rem;
 letter-spacing: 0.07em;
}

@media screen and (max-width: 960px) {
 .tit_style01 {
  margin-bottom: 35px !important;
  font-size: 2.3rem;
  line-height: 1.5;
  letter-spacing: 0.07em;
 }

 .tit_style01 span {
  margin-bottom: 6px !important;
  font-size: 1.3rem;
  letter-spacing: 0.07em;
  line-height: 1;
 }
}

/* tit_style02
------------------------------------------------------------*/
.tit_style02 {
 font-size: 2.4rem;
 font-weight: 400;
 line-height: 1.5;
 letter-spacing: 2px;
 margin-bottom: 31px;
 padding-bottom: 24px;
 position: relative;
}

.tit_style02:after {
 position: absolute;
 left: 2px;
 content: '';
 width: 24px;
 height: 1px;
 bottom: 0;
 background-color: #d0171f;
}

.tit_style02.left {
 text-align: left;
}

.tit_style02 .size {
 display: block;
 max-width: 150px;
 padding-bottom: 16px;
 position: absolute;
 left: 0;
 /*top: 11px;*/
 color: #d0171f;
 font-family: 'Oswald', sans-serif;
 font-size: 2.4rem;
 font-weight: 500;
 letter-spacing: 1.3px;
}

.tit_style02 .size:before {
 width: 60px;
 height: 3px;
 position: absolute;
 left: 0;
 bottom: 0;
 background-color: #d0171f;
 content: '';
}

@media screen and (max-width: 960px) {
 .tit_style02 {
  margin-bottom: 11px;
  padding-left: 0;
  font-size: 2rem;
  line-height: 1.2;
 }

 .tit_style02 .size {
  max-width: inherit;
  margin: 0 0 10px;
  padding-bottom: 10px;
  position: relative;
  left: inherit;
  top: inherit;
 }

 .tit_style02 .size:before {
  width: 60px;
  height: 3px;
 }
}

/* tit_style03
------------------------------------------------------------*/
.tit_style03 {
 margin-bottom: 6px;
 font-size: 2.4rem;
 font-weight: 400;
 padding-bottom: 13px;
 position: relative;
 line-height: 1.4;
 letter-spacing: 0.07em;
}

.tit_style03:after {
 position: absolute;
 left: 2px;
 content: '';
 width: 60px;
 height: 3px;
 bottom: 0;
 background-color: #aee860;
}

@media screen and (max-width: 960px) {
 .tit_style03:after {
  width: 35px;
  height: 2px;
 }
}

@media screen and (max-width: 960px) {
 .tit_style03 {
  margin-bottom: 10px !important;
  padding-bottom: 10px !important;
  font-size: 2rem;
 }
}

/* tit_style04
------------------------------------------------------------*/
.tit_style04 {
 margin-bottom: 5px;
 font-size: 2.4rem;
 font-weight: 400;
 letter-spacing: 0.08em;
}

.tit_style04 span {
 margin-right: 18px;
 color: #d0171f;
 font-size: 2.8rem;
 font-family: 'Oswald', sans-serif;
 font-weight: 500;
 letter-spacing: 0.05em;
 vertical-align: -2px;
}

@media screen and (max-width: 960px) {
 .tit_style04 {
  margin-bottom: 5px;
  font-size: 2rem;
 }

 .tit_style04 span {
  margin-right: 8px;
  font-size: 2.2rem;
 }
}

/*------------------------------------------------------------
icon
------------------------------------------------------------*/
/*
------------------------------------------------------------*/
/*------------------------------------------------------------
form
------------------------------------------------------------*/
/*
------------------------------------------------------------*/
/*------------------------------------------------------------
text
------------------------------------------------------------*/
/*------------------------------------------------------------
navi
------------------------------------------------------------*/
/* wp-pagenavi
------------------------------------------------------------*/
.wp-pagenavi {
 margin-top: 59px;
 -webkit-flex-wrap: wrap;
 -ms-flex-wrap: wrap;
 flex-wrap: wrap;
 font-family: 'Oswald', sans-serif;
 font-weight: 400;
 display: -webkit-box;
 display: -webkit-flex;
 display: -ms-flexbox;
 display: flex;
 -webkit-box-pack: center;
 -webkit-justify-content: center;
 -ms-flex-pack: center;
 justify-content: center;
}

.wp-pagenavi span,
.wp-pagenavi a {
 margin: 0 12.5px;
 width: 50px;
 height: 50px;
 -webkit-box-flex: 0;
 -webkit-flex: none;
 -ms-flex: none;
 flex: none;
 display: block;
 color: #fff;
 padding: 0;
 font-size: 1.6rem;
 line-height: 50px;
 text-align: center;
 opacity: 1;
 border: 1px solid #ccc;
 background: #ccc;
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
}

@media screen and (min-width: 961px) {

 .wp-pagenavi span:hover,
 .wp-pagenavi a:hover {
  color: #d0171f;
  background: #FFF;
  border-color: #ccc;
 }
}

.wp-pagenavi span.current,
.wp-pagenavi a.current {
 color: #fff;
 font-weight: 400;
 border-color: #d0171f;
 background: #d0171f;
}

.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {
 position: relative;
 text-indent: -999px;
 background: #fff;
 overflow: hidden;
}

.wp-pagenavi .previouspostslink:after,
.wp-pagenavi .nextpostslink:after {
 margin: -4px 0 0 -6px;
 width: 7px;
 height: 7px;
 position: absolute;
 left: 50%;
 top: 50%;
 border-right: 2px solid #ccc;
 border-bottom: 2px solid #ccc;
 -webkit-transform: rotate(-45deg);
 -ms-transform: rotate(-45deg);
 transform: rotate(-45deg);
 content: "";
}

@media screen and (min-width: 961px) {

 .wp-pagenavi .previouspostslink:hover,
 .wp-pagenavi .nextpostslink:hover {
  position: relative;
 }

 .wp-pagenavi .previouspostslink:hover:after,
 .wp-pagenavi .nextpostslink:hover:after {
  border-right-color: #d0171f;
  border-bottom-color: #d0171f;
 }
}

.wp-pagenavi .previouspostslink {
 margin-left: 0 !important;
}

.wp-pagenavi .previouspostslink:after {
 margin-left: -1px;
 -webkit-transform: rotate(-225deg);
 -ms-transform: rotate(-225deg);
 transform: rotate(-225deg);
}

.wp-pagenavi .nextpostslink {
 margin-right: 0 !important;
}

.wp-pagenavi .first,
.wp-pagenavi .pages,
.wp-pagenavi .last,
.wp-pagenavi .extend {
 display: none;
}

@media screen and (max-width: 960px) {
 .wp-pagenavi {
  margin-top: 30px;
 }

 .wp-pagenavi span,
 .wp-pagenavi a {
  margin: 10px 5px 0;
  font-size: 1.4rem;
  line-height: 45px;
 }

 .wp-pagenavi .previouspostslink,
 .wp-pagenavi .nextpostslink {
  margin: 10px 10px 0;
 }
}

/* page_detail
------------------------------------------------------------*/
.page_detail {
 padding-bottom: 1px;
 -webkit-flex-wrap: wrap;
 -ms-flex-wrap: wrap;
 flex-wrap: wrap;
 display: -webkit-box;
 display: -webkit-flex;
 display: -ms-flexbox;
 display: flex;
 -webkit-box-pack: center;
 -webkit-justify-content: center;
 -ms-flex-pack: center;
 justify-content: center;
}

.page_detail a {
 padding: 0 0 1px 1px;
 height: 50px;
 display: block;
 position: relative;
 color: #d0171f;
 letter-spacing: 0.09em;
 line-height: 46px;
 text-align: center;
 background: #fff;
 border: 1px solid #d0171f;
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
 opacity: 1;
}

@media screen and (min-width: 961px) {
 .page_detail a:hover {
  color: #fff;
  background: #d0171f;
 }
}

.page_detail_back {
 margin: 0 5px;
 width: 160px;
 -webkit-box-flex: 0;
 -webkit-flex: none;
 -ms-flex: none;
 flex: none;
}

.page_detail_back a {
 color: #fff;
 font-weight: 500;
 background: #d0171f;
}

.page_detail_pre a,
.page_detail_next a {
 color: #aaa;
 border: 1px solid #aaa;
 width: 80px;
}

@media screen and (min-width: 961px) {
 .page_detail_back a:hover {
  color: #d0171f;
  background: #fff;
 }
}

.page_detail_pre,
.page_detail_next {
 margin: 0 10px;
 width: 80px;
 -webkit-box-flex: 0;
 -webkit-flex: none;
 -ms-flex: none;
 flex: none;
}

/*
.page_detail_pre a:after, .page_detail_next a:after {
margin: -4px 0 0 -6px;
width: 7px;
height: 7px;
position: absolute;
left: 50%;
top: 50%;
border-right: 1px solid #FFF;
border-bottom: 1px solid #FFF;
-webkit-transform: rotate(-45deg);
-ms-transform: rotate(-45deg);
transform: rotate(-45deg);
content: ""; }
@media screen and (min-width: 961px) {
.page_detail_pre a:hover:after, .page_detail_next a:hover:after {
border-color: #6bbe48; } }

*/

.page_detail_pre {
 margin-left: 0 !important;
}

/*    .page_detail_pre a:after {
margin-left: -1px;
-webkit-transform: rotate(-225deg);
-ms-transform: rotate(-225deg);
transform: rotate(-225deg); }*/
.page_detail_next {
 margin-right: 0 !important;
}

/*------------------------------------------------------------
img
------------------------------------------------------------*/
/* img_list
------------------------------------------------------------*/
.img_list {
 margin-top: -20px;
 display: -webkit-box;
 display: -webkit-flex;
 display: -ms-flexbox;
 display: flex;
 -webkit-flex-wrap: wrap;
 -ms-flex-wrap: wrap;
 flex-wrap: wrap;
}

.img_list li {
 margin: 20px 3.845% 0 0;
 position: relative;
 line-height: 2.285;
 width: 30.77%;
 background: #d0171f;
}

@media screen and (min-width: 961px) {
 .img_list li:nth-child(3n) {
  margin-right: 0;
 }
}

.img_list li .img_list_ttl {
 position: absolute;
 top: -13px;
 left: 0;
 margin: 0;
 font-size: 2.6rem;
 line-height: 1.5;
 color: #000;
 z-index: 2;
 padding: 0;
}

.img_list li .img_list_ttl .img_list_sub {
 margin-bottom: 10px;
 display: block;
 color: #333;
 font-size: 1.2rem;
 font-family: 'Oswald', sans-serif;
 font-weight: 500;
}

.img_list li .img_list_ttl .img_list_sub .img_list_bg {
 padding: 4px 11px 3px;
}

.img_list li .img_list_ttl .img_list_bg {
 padding: 4px 10px 5px;
 display: inline-block;
 letter-spacing: 0.1em;
 background: #fff;
}

.img_list li .img_list_photo {
 height: 240px;
}

@media screen and (max-width: 960px) {
 .img_list li .img_list_photo {
  height: 180px;
 }
}

@media screen and (max-width: 960px) {
 .img_list li .img_list_photo {
  height: auto;
 }
}

.img_list li .img_list_photo img {
 width: 100%;
 height: 100%;
 -o-object-fit: cover;
 object-fit: cover;
}

@media screen and (max-width: 960px) {
 .img_list li .img_list_photo img {
  height: auto;
 }
}

.img_list li p {
 padding: 20px 30px 23px;
 color: #fff;
 letter-spacing: -0.06em;
}

@media screen and (max-width: 960px) {
 .img_list {
  margin: 0;
  display: block;
 }

 .img_list li {
  width: auto;
  line-height: 1.85;
 }

 .img_list li:not(:last-child) {
  margin: 0 0 30px;
 }

 .img_list li .img_list_ttl {
  font-size: 2.2rem;
  padding: 0;
 }

 .img_list li p {
  padding: 12px 20px;
  letter-spacing: 0;
 }
}

/* img_box
------------------------------------------------------------*/
.img_box {
 display: -webkit-box;
 display: -webkit-flex;
 display: -ms-flexbox;
 display: flex;
 -webkit-box-pack: justify;
 -webkit-justify-content: space-between;
 -ms-flex-pack: justify;
 justify-content: space-between;
}

.img_box_photo {
 margin-top: 48px;
 width: 46.15%;
 -webkit-box-ordinal-group: 2;
 -webkit-order: 1;
 -ms-flex-order: 1;
 order: 1;
}

.img_box_photo img {
 width: 100%;
}

.img_box_text {
 width: 49.5%;
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
}

.img_box_text p {
 line-height: 2.3;
 text-align: justify;
 text-justify: inter-ideograph;
}

.img_box_text p:not(:last-child) {
 margin-bottom: 9px;
}

.img_box_text p.name {
 font-size: 2rem;
 color: #333;
 font-weight: 600;
 text-align: right;
 letter-spacing: 0.1em;
}

.img_box.left .img_box_photo {
 -webkit-box-ordinal-group: 1;
 -webkit-order: 0;
 -ms-flex-order: 0;
 order: 0;
}

@media screen and (max-width: 960px) {
 .img_box {
  padding-top: 0;
  display: block;
 }

 .img_box_photo {
  margin: 0 0 20px;
  width: auto;
 }

 .img_box_text {
  width: auto !important;
 }

 .img_box_text p:not(:last-child) {
  margin-bottom: 15px;
 }

 .img_box_text p.name {
  font-size: 1.6rem;
  letter-spacing: 0.1em;
 }
}

.img_box_sub .tit_style01 {
 margin-bottom: 45px;
 line-height: 1.5;
 letter-spacing: 0;
}

.img_box_sub .tit_style01 span {
 margin-bottom: 14px;
}

/* img_inner
------------------------------------------------------------*/
.img_inner {
 border: 1px solid #dedede;
 padding: 50px;
 display: -webkit-box;
 display: -webkit-flex;
 display: -ms-flexbox;
 display: flex;
 -webkit-box-pack: justify;
 -webkit-justify-content: space-between;
 -ms-flex-pack: justify;
 justify-content: space-between;
}

.img_inner .photo_box {
 margin-top: 2px;
 width: 28.85%;
}

.img_inner .photo_box img {
 width: 100%;
}

.img_inner .photo_box .image {
 margin-bottom: 25px;
}

.img_inner .photo_box p {
 line-height: 2.3;
 letter-spacing: 0.1px;
}

.img_inner .photo_box .name {
 margin-bottom: 6px;
 text-align: center;
 line-height: 1.5;
 letter-spacing: 0;
}

.img_inner .photo_box .name span {
 margin-bottom: 7px;
 font-size: 2.4rem;
 font-weight: 700;
 display: block;
}

.img_inner .photo_box .name span.state {
 margin-bottom: 7px;
 font-size: 1.6rem;
 font-weight: 700;
 display: block;
}

.img_inner .text_box {
 margin-top: -7px;
 width: 66.3%;
}

.img_inner .text_box p {
 text-align: justify;
 text-justify: inter-ideograph;
 line-height: 2.3;
 letter-spacing: 0;
}

.img_inner .text_box p:not(:last-child) {
 margin-bottom: 17px;
}

@media screen and (max-width: 960px) {
 .img_inner .photo_box {
  width: 33.7%;
 }

 .img_inner .text_box {
  width: 62%;
 }
}

@media screen and (max-width: 640px) {
 .img_inner {
  display: block;
  padding: 0;
  padding: 20px 5%;
 }

 .img_inner .photo_box {
  margin-bottom: 20px;
  width: auto;
 }

 .img_inner .photo_box .image {
  text-align: center;
 }

 .img_inner .photo_box .image img {
  width: auto;
  max-width: 100%;
 }

 .img_inner .photo_box p {
  line-height: 1.97;
 }

 .img_inner .text_box {
  margin-top: 0;
  width: auto !important;
 }

 .img_inner .text_box p {
  line-height: 1.97;
 }

 .img_inner .text_box p:not(:last-child) {
  margin-bottom: 22px;
 }
}

/* oneday_box
------------------------------------------------------------*/
.oneday_box {
 padding: 41px 0 40px;
 background: url("../img/common/line.svg") repeat-x left top;
 display: -webkit-box;
 display: -webkit-flex;
 display: -ms-flexbox;
 display: flex;
 -webkit-box-pack: justify;
 -webkit-justify-content: space-between;
 -ms-flex-pack: justify;
 justify-content: space-between;
 width: 100%;
}

@media screen and (max-width: 960px) {
 .oneday_box {
  padding: 30px 0;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
 }
}

.oneday_box:last-of-type {
 background: url("../img/common/line.svg") repeat-x left top, url("../img/common/line.svg") repeat-x left bottom;
}

.oneday_box:nth-of-type(2n) .oneday_photo {
 margin: 0 0 0 4.85%;
 -webkit-box-ordinal-group: 3;
 -webkit-order: 2;
 -ms-flex-order: 2;
 order: 2;
}

.oneday_box .oneday_photo {
 margin-right: 4.85%;
 width: 28.85%;
 -webkit-flex-shrink: 0;
 -ms-flex-negative: 0;
 flex-shrink: 0;
}

.oneday_box .oneday_photo img {
 max-width: 100%;
}

@media screen and (max-width: 960px) {
 .oneday_box .oneday_photo {
  -webkit-box-ordinal-group: 1 !important;
  -webkit-order: 0 !important;
  -ms-flex-order: 0 !important;
  order: 0 !important;
  margin: 0 auto 30px !important;
  width: 100%;
  text-align: center;
 }
}

.oneday_box .oneday_text {
 margin-top: -6px;
 width: 66.3%;
}

.oneday_box .oneday_text p {
 line-height: 2.3;
}

@media screen and (max-width: 640px) {
 .oneday_box .oneday_text {
  width: 100%;
 }
}

/* img_area
------------------------------------------------------------*/
.img_area {
 *zoom: 1;
}

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

.img_area:not(:last-child) {
 margin-bottom: 60px;
}

.img_area_photo {
 width: 46.15%;
 float: left;
}

.img_area_photo img {
 width: 100%;
}

.img_area_text {
 margin-top: -18px;
 width: 49.04%;
 float: right;
}

.img_area_text p {
 text-align: justify;
 text-justify: inter-ideograph;
 line-height: 2.3;
}

.img_area.right .img_area_photo {
 float: right;
}

.img_area.right .img_area_text {
 float: left;
}

@media screen and (max-width: 960px) {
 .img_area {
  padding-top: 0;
  display: block;
 }

 .img_area:not(:last-child) {
  margin-bottom: 20px;
 }

 .img_area_photo {
  margin-bottom: 10px;
  width: auto;
  float: none !important;
  text-align: center;
 }

 .img_area_text {
  margin-top: 0;
  width: auto;
  float: none !important;
 }

 .img_area_text p:not(:last-child) {
  margin-bottom: 15px;
 }
}

/* img_link
------------------------------------------------------------*/
.img_link {
 display: -webkit-box;
 display: -webkit-flex;
 display: -ms-flexbox;
 display: flex;
 -webkit-flex-wrap: wrap;
 -ms-flex-wrap: wrap;
 flex-wrap: wrap;
}

.img_link>li {
 padding-bottom: 47px;
 width: 50%;
 position: relative;
}

.img_link>li .img_link_title {
 position: absolute;
 top: -10px;
 left: 23px;
 margin: 0;
 font-size: 2.6rem;
 line-height: 1.5;
 color: #000;
}

.img_link>li .img_link_title .img_link_sub {
 margin-bottom: 10px;
 display: block;
 color: #333;
 font-size: 1.2rem;
 font-family: 'Oswald', sans-serif;
 font-weight: 500;
}

.img_link>li .img_link_title .img_link_sub .img_link_bg {
 padding: 3px 12px 4px;
}

.img_link>li .img_link_title .img_link_bg {
 padding: 4px 12px 5px;
 display: inline-block;
 font-weight: 500;
 letter-spacing: 0.1em;
 background: #fff;
}

.img_link>li .img_link_photo {
 margin-bottom: -30px;
}

.img_link>li .img_link_photo img {
 width: 100%;
}

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

 .img_link>li {
  padding-bottom: 0;
  width: 100%;
 }

 .img_link>li:not(:last-child) {
  margin-bottom: 30px;
 }

 .img_link>li .img_link_title {
  font-size: 2.2rem;
 }

 .img_link>li .img_link_photo {
  margin-bottom: -20px;
 }
}

/*------------------------------------------------------------
list
------------------------------------------------------------*/
/* works_list
------------------------------------------------------------*/
.works_list {
 display: flex;
 justify-content: space-between;
 margin-bottom: 60px;
}

@media screen and (max-width: 960px) {
 .works_list {
  padding: 10px 0 0;
 }
}

.works_list li a {
 display: block;
 padding: 21px 43px 16px;
 display: -webkit-box;
 display: -webkit-flex;
 display: -ms-flexbox;
 display: flex;
 color: #333;
 position: relative;
 -webkit-box-align: start;
 -webkit-align-items: flex-start;
 -ms-flex-align: start;
 align-items: flex-start;
 -webkit-box-pack: end;
 -webkit-justify-content: flex-end;
 -ms-flex-pack: end;
 justify-content: flex-end;
 border-bottom: 1px solid #fff;
 background: #f5f5f5;
}

@media screen and (max-width: 960px) {
 .works_list li a {
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  padding: 10px 15px;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: start;
  justify-content: flex-start;
 }
}

.works_list li a .works_tit {
 padding: 0 5px 0 6px;
 width: 63%;
 font-size: 1.4rem;
 font-weight: 300;
 letter-spacing: 0.05em;
}

@media screen and (max-width: 960px) {
 .works_list li a .works_tit {
  margin: 10px 0;
  padding: 0 !important;
  width: 100% !important;
 }
}

@media screen and (max-width: 640px) {
 .works_list li a .btn_style {
  display: none;
 }
}

.works_list li a .btn_style span {
 padding: 5px;
 display: block;
 color: #333;
 font-size: 1.2rem;
 font-family: 'Oswald', sans-serif;
 font-weight: 300;
 letter-spacing: 1px;
 font-weight: normal;
 text-align: center;
 -webkit-transition: all 0.2s ease-in-out;
 transition: all 0.2s ease-in-out;
}

@media screen and (min-width: 961px) {
 .works_list li a:before {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: -webkit-linear-gradient(0deg, #b0e95f 0%, #43a0e2 100%);
  background-image: -ms-linear-gradient(0deg, #b0e95f 0%, #43a0e2 100%);
  content: '';
  opacity: 0;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
 }

 .works_list li a:hover {
  color: #fff;
  opacity: 1;
 }

 .works_list li a:hover .btn_style span {
  color: #fff;
 }

 .works_list li a:hover:before {
  opacity: 1;
 }
}

.works_list li a>p,
.works_list li a>h3,
.works_list li a>div {
 position: relative;
 z-index: 1;
}

.works_list li:last-child a {
 border-bottom: none;
}

.label_tag {
 margin: 4px 22px 0 0;
 padding: 2px 2px;
 display: inline-block;
 width: 60px;
 color: #d0171f;
 font-size: 1.2rem;
 font-weight: 500;
 line-height: 1.2;
 letter-spacing: 0.05em;
 text-align: center;
 background-color: #fff;
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
 border: 1px solid #e60013;
}

@media screen and (max-width: 960px) {
 .label_tag {
  width: 60px;
  letter-spacing: 0;
 }
}

.works_date {
 width: 105px;
 font-size: 1.6rem;
 font-weight: 700;
 letter-spacing: 0.05em;
 font-family: 'Open Sans', sans-serif;
}

@media screen and (max-width: 960px) {
 .works_date {
  width: 100px;
  letter-spacing: 0;
 }
}

/* news_list
------------------------------------------------------------*/
.news_list {
 background-color: #fff;
}

@media screen and (max-width: 960px) {
 .news_list {
  padding: 10px 0 0;
 }
}

.news_list li a {
 display: block;
 display: -webkit-box;
 display: -webkit-flex;
 display: -ms-flexbox;
 display: flex;
 color: #333;
 position: relative;
 -webkit-box-align: start;
 -webkit-align-items: flex-start;
 -ms-flex-align: start;
 align-items: flex-start;
 -webkit-box-pack: end;
 -webkit-justify-content: space-between;
 -ms-flex-pack: end;
 justify-content: space-between;
}

.news_list li a p.newnews {
 margin-top: 2px;
 font-size: 1.2rem;
 font-weight: 600;
 background: #fff;
 color: #d0171f;
 vertical-align: middle;
 border: #d0171f solid 1px;
 border-radius: 2px;
 width: 60px;
 text-align: center;
 line-height: 2.0rem;
}

@media screen and (max-width: 960px) {
 .news_list li a {
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  padding: 10px 15px;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: start;
  justify-content: flex-start;
 }
}

.news_list li a .news_tit {
 padding: 0 5px 0 6px;
 width: 63%;
 font-size: 1.4rem;
 font-weight: normal;
}

@media screen and (max-width: 960px) {
 .news_list li a .news_tit {
  margin: 10px 0;
  padding: 0 !important;
  width: 76% !important;
 }

 .news_list li a {
  align-items: center;
 }

}

@media screen and (max-width: 640px) {
 .news_list li a .news_tit {
  margin: 10px 0;
  padding: 0 !important;
  width: 100% !important;
 }
}

@media screen and (max-width: 960px) {
 .news_list li a .btn_style {
  display: none;
 }
}

.news_list li a .btn_style span {
 padding: 5px;
 display: block;
 color: #333;
 font-size: 1.2rem;
 font-family: 'Oswald', sans-serif;
 font-weight: 300;
 letter-spacing: 1px;
 font-weight: normal;
 text-align: center;
 -webkit-transition: all 0.2s ease-in-out;
 transition: all 0.2s ease-in-out;
}

@media screen and (min-width: 961px) {

 /*      .news_list li a:hover {
color: #fff;
opacity: 1; }*/

 .news_list li a:hover:before {
  opacity: 1;
 }
}

.news_list li a>p,
.news_list li a>h3,
.news_list li a>div {
 position: relative;
 z-index: 1;
}

.news_list li:last-child a {
 border-bottom: none;
}

.label_tag {
 margin: 4px 22px 0 0;
 padding: 2px 2px;
 display: inline-block;
 width: 60px;
 color: #d0171f;
 font-size: 1.2rem;
 font-weight: 500;
 line-height: 1.2;
 letter-spacing: 0.05em;
 text-align: center;
 background-color: #fff;
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
 border: 1px solid #e60013;
}

@media screen and (max-width: 960px) {
 .label_tag {
  width: 60px;
  letter-spacing: 0;
 }
}

.news_date {
 font-size: 1.4rem;
 margin: 0px 20px 0px 0;
}

@media screen and (max-width: 960px) {
 .news_date {
  width: 100px;
  letter-spacing: 0;
 }
}

/* faq_dl
------------------------------------------------------------*/
.faq {
 counter-increment: number;
}

.faq+.faq {
 margin: 30px 0 0;
}

@media screen and (max-width: 960px) {
 .faq+.faq {
  margin: 20px 0 0;
 }
}

.faq_list {
 counter-reset: number;
}

.faq_heading {
 background: #d0171f;
 font-size: 1.6rem;
 line-height: 1.5;
 color: #fff;
 font-weight: 500;
 letter-spacing: 1.1px;
 position: relative;
 padding: 17px 30px 22px 86px;
}

@media screen and (max-width: 960px) {
 .faq_heading {
  font-size: 1.4rem;
  padding: 16px 30px 14px 60px;
 }
}

.faq_heading::before {
 content: "Q"counter(number, decimal);
 font-size: 2.4rem;
 color: #fff;
 font-weight: 500;
 font-family: 'Oswald', sans-serif;
 position: absolute;
 top: 10px;
 left: 19px;
 letter-spacing: 2.4px;
}

@media screen and (max-width: 960px) {
 .faq_heading::before {
  font-size: 2rem;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  top: 50%;
 }
}

.faq_info {
 background: #f8f8f8;
 position: relative;
 padding: 13px 10px 20px 87px;
 display: none;
}

@media screen and (max-width: 960px) {
 .faq_info {
  padding: 9px 10px 12px 59px;
 }
}

.faq_info::before {
 content: "A"counter(number, decimal);
 font-size: 2.4rem;
 color: #d0171f;
 font-weight: 500;
 font-family: 'Oswald', sans-serif;
 position: absolute;
 top: 5px;
 left: 19px;
 letter-spacing: 2.4px;
}

@media screen and (max-width: 960px) {
 .faq_info::before {
  font-size: 2rem;
 }
}

.faq_txt {
 font-size: 1.4rem;
 line-height: 1.9;
 color: #000000;
}

/*------------------------------------------------------------
table
------------------------------------------------------------*/
/* table_style01
------------------------------------------------------------*/
.table_style01 {
 width: 100%;
 border-collapse: collapse;
}

.table_style01 th,
.table_style01 td {
 padding: 18px 20px 18px 30px;
 font-size: 1.4rem;
 font-weight: 400;
 letter-spacing: 0.14em;
 line-height: 2.286;
 color: #333;
 word-break: break-all;
 text-align: left;
 vertical-align: top;
 border-bottom: 1px solid #c9c9c9;
 background: #fff;
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
}

.table_style01 th {
 width: 26.9%;
 color: #000;
 font-weight: 500;
 border-color: #fff;
 background: #ededed;
}

.table_style01 td {
 letter-spacing: 0.08em;
 border-right: 1px solid #c9c9c9;
}

.table_style01 tr:first-child th {
 border-top: 1px solid #c9c9c9;
}

@media screen and (max-width: 960px) {
 .table_style01 tr:first-child th {
  border: none;
 }
}

.table_style01 tr:first-child td {
 border-top: 1px solid #c9c9c9;
}

@media screen and (max-width: 960px) {
 .table_style01 tr:first-child td {
  border: none;
 }
}

.table_style01 tr:last-child th {
 border-bottom-color: #c9c9c9;
}

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

 .table_style01 th,
 .table_style01 td {
  width: 100%;
  display: block;
  padding: 15px !important;
  font-size: 1.3rem;
  letter-spacing: 0.02em;
  line-height: 1.5 !important;
  border: none;
 }
}

/* table_style02
------------------------------------------------------------*/
.table_style02 {
 width: 100%;
 border-collapse: collapse;
}

.table_style02 th,
.table_style02 td {
 padding: 10px 20px 10px 30px;
 font-size: 1.4rem;
 font-weight: 400;
 letter-spacing: 0.14em;
 color: #333;
 word-break: break-all;
 text-align: left;
 vertical-align: top;
 background: #fff;
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
}

.table_style02 th {
 width: 20%;
 color: #000;
 font-weight: 500;
}

.table_style02 td {
 letter-spacing: 0.08em;
}

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

 .table_style02 th,
 .table_style02 td {
  width: 100%;
  display: block;
  padding: 10px;
  font-size: 1.3rem;
  letter-spacing: 0.02em;
  line-height: 1.5 !important;
  border: none;
 }

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

/*------------------------------------------------------------
line
------------------------------------------------------------*/
/*
------------------------------------------------------------*/
/*------------------------------------------------------------
video
------------------------------------------------------------*/
/*
------------------------------------------------------------*/
/*------------------------------------------------------------
slide
------------------------------------------------------------*/
/*------------------------------------------------------------
other
------------------------------------------------------------*/
#container {
 padding-top: 120px;
}



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

@media screen and (max-width: 960px) {
 #container {
  padding-top: 90px;
 }
}

@media screen and (max-width: 960px) {
 body {
  /* ベースのフォントサイズを13px相当に設定 */
  font-size: 1.3rem;
  line-height: 1.6;
 }
}

@media screen and (max-width: 640px) {
 #container {
  padding-top: 60px;
 }
}






/* mainvisual
------------------------------------------------------------*/
.mainvisual {
 margin-bottom: 5px;
 height: 300px;
 position: relative;
}

.mainvisual_img {
 width: 100%;
 height: 100%;
}

.mainvisual_img img {
 width: 100%;
 height: 100%;
 -o-object-fit: cover;
 object-fit: cover;
}

.mainvisual_ttl {
 margin-top: -2px;
 width: 100%;
 position: absolute;
 left: 50%;
 top: 50%;
 color: #fff;
 font-size: 3.6rem;
 font-weight: 500;
 letter-spacing: 0.08em;
 line-height: 1.63;
 text-align: center;
 -webkit-transform: translate(-50%, -50%);
 -ms-transform: translate(-50%, -50%);
 transform: translate(-50%, -50%);
 padding: 40px 0;
}

.mainvisual_ttl span {
 display: block;
 font-size: 6.0rem;
 font-weight: 600;
 letter-spacing: 0.3em;
 color: #fff;
 border-bottom: solid 3px #fff;
 text-transform: uppercase;
}


 @media screen and (max-width: 640px) {
.mainvisual {
 height: 253.5px;
}


  .mainvisual_ttl {
   font-size: 3.0rem;
  }
 }


 /* map-iframe
------------------------------------------------------------*/
 .map-iframe iframe {
  width: 100%;
  height: 520px;
  vertical-align: top;
 }

 @media screen and (max-width: 960px) {
  .map-iframe iframe {
   height: 250px;
  }
 }

 /* tel-us
------------------------------------------------------------*/
 .tel-us {
  margin: 0 auto;
  padding: 34px 8px 34px 0;
  max-width: 800px;
  background: #fff;
 }

 .tel-us_inn {
  margin: 0 auto;
  width: 678px;
  position: relative;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
 }

 .tel-us_inn:before {
  margin: -27px 0 0 3px;
  width: 1px;
  height: 54px;
  position: absolute;
  left: 50%;
  top: 50%;
  background: #ced5db;
  content: '';
 }

 .tel-us_ttl {
  -webkit-box-flex: 0;
  -webkit-flex: none;
  -ms-flex: none;
  flex: none;
  font-size: 1.8rem;
  font-weight: 400;
  letter-spacing: 0.08em;
 }

 @media all and (-ms-high-contrast: none) {
  .tel-us_ttl {
   padding-right: 50px;
  }
 }

 .tel-us_txt {
  padding-top: 3px;
  -webkit-box-flex: 0;
  -webkit-flex: none;
  -ms-flex: none;
  flex: none;
 }

 .tel-us_txt .tel_link {
  padding: 5px 0 10px 70px;
  display: block;
  font-size: 30px;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1;
  background: url(../img/common/icon-tel03.png) no-repeat left top 4px / 40px 40px;
 }

 .tel-us_txt .tel_sm {
  margin-top: 1px;
  display: block;
  color: #444;
  padding-left: 70px;
  font-weight: 400;
  letter-spacing: 0.12em;
 }

 @media screen and (max-width: 960px) {
  .tel-us_inn {
   width: 640px;
  }
 }

 @media screen and (max-width: 960px) {
  .tel-us {
   margin: 0 auto;
   padding: 20px 10px;
   max-width: inherit;
  }

  .tel-us_inn {
   width: auto;
   display: block;
   text-align: center;
  }

  .tel-us_inn:before {
   display: none;
  }

  .tel-us_ttl {
   font-size: 1.8rem;
   font-weight: 700;
   letter-spacing: 0.02em;
   text-align: center;
  }

  .tel-us_txt {
   padding-top: 0;
   text-align: center;
  }

  .tel-us_txt .tel_link {
   padding-left: 30px;
   display: inline-block;
   font-size: 2.8rem;
   letter-spacing: 0.05em;
   line-height: 1;
   background-position: left center;
   background-size: 22px auto;
  }

  .tel-us_txt .tel_sm {
   font-size: 1.2rem;
   padding-left: 70px;
  }
 }



 /* oneday_time
------------------------------------------------------------*/
 .oneday_time {
  margin-bottom: 12px;
  padding-left: 37px;
  font-size: 3.4rem;
  font-weight: 500;
  line-height: 1.1 !important;
  color: #d0171f;
  font-family: 'Oswald', sans-serif;
  letter-spacing: 0.07em;
  background: url("../img/common/icon_clock.svg") no-repeat left 1px center;
  background-size: 26px 26px;
 }

 @media screen and (max-width: 960px) {
  .oneday_time {
   padding-left: 25px;
   font-size: 2.4rem;
   background-size: 18px 18px;
   background-position: left 2px top 5px;
  }
 }

 /* bx-slider
------------------------------------------------------------*/
 .bx-pager {
  display: flex;
  justify-content: space-between;
 }

 .bx-pager a {
  width: 22%;
 }

 .bx-pager a img {
  opacity: 0.5;
  filter: alpha(opacity=50);
 }

 .bx-pager a.active img {
  opacity: 1;
  filter: alpha(opacity=100);
 }