@charset "UTF-8";
/* http://meyerweb.com/eric/tools/css/reset/ 
v2.0 | 20110126
License: none (public domain)
*/

@import url(//maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css);

img,
legend {
  border: 0
}

.mfp-title,
body {
  word-wrap: break-word
}

body,
dd,
li,
ol,
p,
ul {
  margin: 0
}

button,
dd,
legend,
li,
ol,
td,
th,
ul {
  padding: 0
}

.c-btn,
a:active,
a:hover,
button {
  outline: 0
}

a,
button {
  background-color: transparent
}

dd,
li,
li.L0,
li.L1,
li.L2,
li.L3,
li.L5,
li.L6,
li.L7,
li.L8,
ol,
ul {
  list-style-type: none
}

html {
  /*  font-family: sans-serif;*/
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  /*  font-family: 'Noto Serif Japanese', serif;*/
  font-family: 'メイリオ', Meiryo, '游ゴシック体', YuGothic, '游ゴシック', 'Yu Gothic', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'Noto Sans Japanese', sans-serif;
  font-weight: 400;
}

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

audio,
canvas,
progress,
video {
  display: inline-block;
  vertical-align: baseline
}

audio:not([controls]) {
  display: none;
  height: 0
}

[hidden],
template {
  display: none
}

a {
  opacity: 1;
  /*  color: #024cc6*/
  color: #666;
  text-decoration-line: none;
}

.footer_info a {
  color: #fff;
}

abbr[title] {
  border-bottom: 1px dotted
}

b,
optgroup,
strong {
  font-weight: 700;
}

dfn {
  font-style: italic
}

h1 {
  font-size: 2em;
  margin: .67em 0
}

mark {
  color: #000;
  background: #ff0
}

small {
  font-size: 80%
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline
}

sup {
  top: -.5em
}

sub {
  bottom: -.25em
}

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

.img50 img {
  max-width: 300px;
  vertical-align: top
}

/*img*/

.scale_half img {
  transform: scale(0.5);
  transform-origin: center center;
}

img.scale_half {
  transform: scale(0.5);
  transform-origin: center center;
}





svg:not(:root) {
  overflow: hidden
}

figure {
  margin: 1em 40px;
}

hr {
  box-sizing: content-box;
  height: 0
}

pre,
textarea {
  overflow: auto
}

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em
}

button,
input,
optgroup,
select,
textarea {
  font: inherit;
  margin: 0;
  color: inherit
}

button,
select {
  text-transform: none
}

/* ua css*/

p {
  margin: 0;
  padding: 0;
  -webkit-margin-before: 0em;
  -webkit-margin-after: 0em;
}

button,
html input[type=button],
input[type=reset],
input[type=submit] {
  cursor: pointer;
  -webkit-appearance: button
}

button[disabled],
html input[disabled] {
  cursor: default
}

button::-moz-focus-inner,
input::-moz-focus-inner {
  padding: 0;
  border: 0
}

input {
  line-height: normal
}

input[type=radio],
input[type=checkbox] {
  box-sizing: border-box;
  padding: 0
}

input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  height: auto
}

input[type=search] {
  box-sizing: content-box;
  -webkit-appearance: textfield
}

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

fieldset {
  margin: 0 2px;
  padding: .35em .625em .75em;
  border: 1px solid silver
}


/* form table start */

.form table textarea,
.form table input[type="text"] {
  width: 70%;
  border: 1px solid #ccc;
}

.form table input[type="checkbox"] {
  display: none;
}

.form table .checkbox_wrap label {
  position: relative;
  display: inline-block;
  padding: 3px 3px 3px 22px;
  cursor: pointer;
  -webkit-transition: all .2s;
  transition: all .2s;
}

.form table .checkbox_wrap label::before,
.form table .checkbox_wrap label::after {
  position: absolute;
  content: '';
  -webkit-transition: all .2s;
  transition: all .2s;
}

.form table .checkbox_wrap label::before {
  top: 50%;
  left: 0;
  width: 14px;
  height: 14px;
  margin-top: -8px;
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 2px;
}

.form table .checkbox_wrap label::after {
  opacity: 0;
  top: 50%;
  left: 3px;
  width: 8px;
  height: 4px;
  margin-top: -4px;
  border-left: 2px solid #666;
  border-bottom: 2px solid #666;
  -webkit-transform: rotate(-45deg) scale(.5);
  transform: rotate(-45deg) scale(.5);
}

.form table .checkbox_wrap label:hover::before {
  background: #fff;
}

.form table input[type="checkbox"]:checked + label::before {
  background: #fff;
  border: 1px solid #666;
}

.form table input[type="checkbox"]:checked + label::after {
  opacity: 1;
  -webkit-transform: rotate(-45deg) scale(1);
  transform: rotate(-45deg) scale(1);
}


.select-box02 {
  display: block !important;
  margin-bottom: 0px;
}

.select-box02 select {
  width: 60%;
  padding: 2px 16px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: 1px solid #ccc;
  background: #fff;
  background: url(/common/img/down_arrow.svg) 96% 50% no-repeat;
  background-size: 14px, 100%;
}



.form input[type=button].btn_next {
  appearance: none;
  /* ブラウザのスタイルをリセットする */
  outline: none;
  border: none;
  color: #fff;
  background-color: #37DCBE;
  border: 1px solid #37DCBE;
  display: block;
  line-height: 48px;
  height: 50px;
  width: 320px;
  min-width: 320px;
  margin: 20px auto;
  border-radius: 4px;
}

.form input[type=button].btn_prev {
  appearance: none;
  /* ブラウザのスタイルをリセットする */
  outline: none;
  border: none;
  color: #333;
  background-color: #fff;
  border: 1px solid #666;
  display: block;
  line-height: 48px;
  height: 50px;
  width: 320px;
  min-width: 320px;
  margin: 20px auto;
  border-radius: 4px;
}



/*btn2つ横並び*/

.form_button input[type=button].btn_prev,
.form_button input[type=button].btn_next {
  width: 320px;
  min-width: 320px;
  display: table-cell;
  margin: 10px;
}

.form_button input {
  width: 340px;
  min-width: 340px;
}

.form_button_wrap {
  width: 100%;
  margin: 30px auto 20px;
  text-align: center;
}

.form_button {
  display: flex;
  justify-content: center;
}

/* 翻訳ナビPC */
.navTl {
max-width: 90px;
}
.navTl ol li {
    float: left;
    width: auto;
    padding: 2px 0px 2px 5px;
}
/* 翻訳ページ */
.Translation .u_txt_90 {
    font-size: 18px;
    line-height: 2;
    color: #B73131;
}
.Translation h2.Title01 {
    font-family: gill sans mt condensed;
    font-size: 42px;
    font-size: 4.2rem;
    margin: 0 auto 4vh;
    text-align: left;
    padding: 12px 0px 9px 10px;
    width: 100%;
    box-sizing: border-box;
    font-weight: normal;
    color: #B73131;
    border-bottom: 2px solid #B73131;
}
.Translation h2 span {
	font-size: 16px;
    padding-left: 1em;
}
.Translation .inquiry_form2 {
    width: 100%;
    margin: 4vw auto;
    text-align: center;
    table-layout: fixed;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
.Translation .Tr01 {
    color: #B73131;
    text-align: left;
    font-size: 16px;
    margin: 3vh 1vh;
}
.Translation .Tr02 {
	color: #B73131;
    text-align: left;
    margin: 3vh 1vh;
}
.Translation .bgcolor_blue2 {
    background-color: #a8d2f8;
    padding: 1.5em;
	margin-bottom: 4vw;
}
.Translation .Tlbox_Flex01 {
    display: flex;
    align-items: center;
    margin-bottom: 1.5em;
}
.Translation .Tlbox_Flex01 img {
	width: 60%;
    padding: 0 1em 0 0;
}
.Translation .Tlbox_Flex02 {
    display: flex;
}
.Translation .Tlbox_Flex02 img:nth-child(1) {
	padding-right: 0.75em;
    width: 50%;
}
.Translation .Tlbox_Flex02 img:nth-child(2) {
	padding-left: 0.75em;
    width: 50%;
}

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

.Translation .Tlbox_Flex01 {
    display: block;
    margin-bottom: 1.5em;
}
.Translation .Tlbox_Flex01 img {
	width: 100%;
    padding: 0 0 1.5em;
}
.Translation .Tlbox_Flex02 {
    display: block;
}
.Translation .Tlbox_Flex02 img:nth-child(1),
.Translation .Tlbox_Flex02 img:nth-child(2) {
    width: 100%;
    padding: 0 0 1.5em;
}
	
  .form table textarea,
  .form table input[type="text"] {
    width: 100%;
  }

  .select-box02 select {
    width: 100%;
  }

  .form table .checkbox_wrap {
    margin-left: 52px;
  }


  .form input[type=button] {
    width: 80%;
    min-width: 90%;
  }

  .form_button_wrap {
    width: 100%;
  }

  .form_button {
    width: 100%;
    margin-top: 20px;
    flex-direction: column-reverse;
  }

  /*btn２つ*/
  .form_button input[type=button].btn_prev,
  .form_button input[type=button].btn_next {
    width: 100%;
    min-width: 100%;
    margin: 10px 0;
  }

  .form_button input {
    width: 80%;
    min-width: 90%;
  }
}

/*end form */

/*sns */

.fb_iframe_widget,
.fb_iframe_widget span,
.fb_iframe_widget iframe[style] {
  width: 100% !important;
}

.twitter-timeline {
  width: 100%;
  height: 450px;
}


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

html {
  font-size: 62.5%;
}

body {
  font-size: 1.4em;
  overflow-x: hidden;
  min-width: 100%;
  color: #333;
  -webkit-font-smoothing: subpixel-antialiased;
  -moz-osx-font-smoothing: unset
}

@media only screen and (-webkit-min-device-pixel-ratio:2),
(-webkit-min-device-pixel-ratio:2),
(min-resolution:2dppx) {
  body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
}

* {
  box-sizing: border-box;
}

em {
  font-style: normal;
}

p + p {
  margin-top: 1em;
}

.p_block_ac {
  text-align: center;
  margin: 35px 0;
}

@media screen and (max-width:640px) {
  .p_block_ac {
    text-align: left;
    margin: 25px 0;
  }
}

button {
  overflow: visible;
  cursor: pointer;
  -webkit-transition: .3s linear;
  transition: .3s linear;
  border: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none
}

/*btn image*/

.btn_img {
  width: 100%;
  margin: 10px auto;
  text-align: center;
}

.btn_img img {
  width: 430px;
}

@media screen and (max-width:640px) {
  .btn_img img {
    width: 96%;
  }
}

a:hover,
button:hover {
  opacity: .7
}



.link_left_arrow a {
  position: relative;
  display: inline-block;
  padding: 0 0 22px 14px;
  text-decoration: none;
  /*  font-size: 12px;*/
}

.link_right_arrow a {
  position: relative;
  display: inline-block;
  padding: 0 14px 22px 0;
  text-decoration: none;
  /*  font-size: 12px;*/
}

.link_left_arrow a:before {
  content: '';
  width: 7px;
  height: 7px;
  border: 0px;
  border-top: solid 1px #666;
  border-right: solid 1px #666;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -14px;
}

.link_right_arrow a:after {
  content: '';
  width: 7px;
  height: 7px;
  border: 0px;
  border-top: solid 1px #666;
  border-right: solid 1px #666;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 0;
  margin-top: -14px;
}

/*■を入れる*/

.link_square {
  position: relative;
  padding: 0 0 0 16px;
}

.link_square + p {
  margin: 10px 0;
}

.link_square:before {
  content: "";
  position: absolute;
  background: #666;
  top: 50%;
  left: 0px;
  margin-top: -8px;
  height: 12px;
  width: 12px;
  border-radius: 0%;
}

/* variable */

/*
:root {
  --base-width: 1024px;
}
*/

:root {
  --base-width: 900px;
}

/*base*/

.l-contents {
  padding: 0;

}


.l-contents .cont_bk_img {
  padding: 0;
  background-color: #000;
  background-image: url(/common/img/page_bk.jpg);
  background-repeat: no-repeat;
  background-size: cover;

}



.l-main {
  width: 100%;
  max-width: var(--base-width);
  margin: 0 auto;
  padding: 40px 0 60px;
}





.l-main_form {
  width: 100%;
  max-width: 1024px;
  margin: 0 auto;
  padding: 40px 0 60px;
}

/*base sp*/

@media screen and (max-width:640px) {
  body {
    border: none
  }

  .l-main_primary,
  .l-main_secondary {
    float: none;
    width: auto
  }

  .l-main {
    padding: 0px 0 30px;
  }

  .l-main_secondary {
    position: static;
    margin: 30px 0 0;
  }
}



.l-main_news_bk {
  background-image: url(/common/img/header_bottom02.png);
  width: 100%;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  background-attachment: fixed;
}


/*header*/

.l-header {
  padding: 0 10px;

}

/*-------------------------------
header start

0411 変更
---------------------------------*/

.inner {
  width: 100%;
  margin: 0 auto;
  position: relative;
}

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


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

.header_pc_logo {
  width: 130px;
  padding-left: 0px;
}


/*PC ロゴ等の設定　end*/

/*--------header-----------*/

#top-head {
  top: -100px;
  position: absolute;
  width: 100%;
  /*  max-width: 980px;*/
  margin: 100px auto 0;
  padding: 0;
  line-height: 1;
  z-index: 150;
  left: 0;
  right: 0;
}

/*スクロール時の設定*/

.scr_off {
  display: block;
}

.scr_on {
  display: none;
}

#sub-head {
  top: -100px;
  position: absolute;
  width: 100%;
  margin: 100px auto 0;
  /*pc ヘッダ内部余白*/
  /*  padding: 10px 10px 0;*/
  padding: 0;
  line-height: 1;
  z-index: 1999;
}


/*常に背景色をつける*/

#sub-head {
  background: #B73131;
  background: rgba(183, 49, 49, 1.8);
}

#top-head a,
#top-head {
  color: #fff;
  text-decoration: none;
}

/*sub色指定*/

#sub-head a,
#sub-head {
  color: #fff;
  text-decoration: none;
}

#sub-head .inner,
#top-head .inner {
  position: relative;
}


#global-nav ul li {
  width: 100%;
}

nav span {}


/*--------固定化されたときのCSS-----------*/

#top-head.fixed {
  margin-top: 0;
  top: 0;
  position: fixed;
  padding-top: 0;
  background: #B73131;
  background: rgba(183, 49, 49, 1.8);
  transition: top 0.65s ease-in;
  -webkit-transition: top 0.65s ease-in;
  -moz-transition: top 0.65s ease-in;
  color: #fff;
}

/*スクロール時 画像反転*/

#top-head.fixed .scr_off {
  display: none;
}

#top-head.fixed .scr_on {
  display: block;

}

/*リンクの色*/

#top-head.fixed a,
#top-head.fixed {
  color: #fff;
  text-decoration: none;
}

/*sub色指定*/

#sub-head.fixed a,
#sub-head.fixed {
  color: #fff;
  text-decoration: none;
}

/*subページのスクロール時の背景*/

#sub-head.fixed {
  margin-top: 0;
  top: 0;
  position: fixed;
  padding-top: 10px;
  background: #B73131;
  background: rgba(183, 49, 49, 1.8);
  transition: top 0.65s ease-in;
  -webkit-transition: top 0.65s ease-in;
  -moz-transition: top 0.65s ease-in;
}

#sub-head.fixed .logo,
#top-head.fixed .logo {
  position: relative;
}

/*-----------スマホのトグルボタンのCSS-------------*/

#nav-toggle {
  display: none;
  position: absolute;
  /*  right: 12px;*/
  left: 10px;
  top: 14px;
  width: 32px;
  height: 32px;
  cursor: pointer;
  z-index: 101;
}

#nav-toggle div {
  position: relative;
}

#nav-toggle span {
  display: block;
  position: absolute;
  height: 3px;
  width: 100%;
  background: #fff;
  left: 0;
  -webkit-transition: .35s ease-in-out;
  -moz-transition: .35s ease-in-out;
  transition: .35s ease-in-out;
}

#nav-toggle span:nth-child(1) {
  top: 0;
}

#nav-toggle span:nth-child(2) {
  top: 11px;
}

#nav-toggle span:nth-child(3) {
  top: 22px;
}

/*
#nav-toggle span:nth-child(4) {
  border: none;
  top: 28px;
  left: 0px;
  font-size: 11px;
  font-weight: bold;
  background: #fff;
  color: #000;
}*/

/*---------gnav sp--------------*/

/*-----------スマホ-------------*/

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

  .slick-next {
    right: 0;
  }

  #sub-head,
  #top-head,
  .inner {
    width: 100%;
    padding: 0;
  }

  /*
  .inner {
    border-bottom: 1px solid #ccc;
  }
*/
  #sub-head,
  #top-head {
    top: 0;
    position: fixed;
    margin-top: 0;

  }

  /* Fixed reset */
  #sub-head.fixed,
  #top-head.fixed {
    padding-top: 0;
    background: transparent;

  }

  #mobile-head {
    /*    background: blue;*/
    width: 100%;
    height: 56px;
    z-index: 999;
    position: relative;

  }

  #sub-head.fixed .logo,
  #sub-head .logo,
  #top-head.fixed .logo,
  #top-head .logo {
    position: absolute;
    left: 10px;
    height: 50px;
    top: 23px;
    color: #333;
    font-size: 26px;
  }

  #global-nav {
    position: absolute;
    /* 開いてないときは画面外に配置 */
    top: -500px;
    background: #B73131;

    width: 100%;
    text-align: center;
    padding: 10px 0;
    /*    padding: 10px 0;*/
    -webkit-transition: .5s ease-in-out;
    -moz-transition: .5s ease-in-out;
    transition: .5s ease-in-out;
  }


  #global-nav ul {
    position: absolute;
    top: 34px;
    left: 0;
    right: 0;
    text-align: left;
    font-size: 14px;
  }


  #global-nav ul li {
    color: #fff;
    background: #000;
    background: rgba(0, 0, 0, .9);
  }

  #sub-head #global-nav ul li,
  #sub-head.fixed #global-nav ul li,
  #top-head #global-nav ul li,
  #top-head.fixed #global-nav ul li {
    width: 100%;
    min-width: 100%;
    border-bottom: 1px solid #999;
  }

  /*スライドメニュー設定*/
  #sub-head #global-nav ul li a,
  #sub-head.fixed #global-nav ul li a,
  #top-head #global-nav ul li a,
  #top-head.fixed #global-nav ul li a {
    color: #fff;
    position: relative;
    display: block;
    padding: 10px 0 10px 26px;
  }

  #sub-head #global-nav ul li a:before,
  #sub-head.fixed #global-nav ul li a:before,
  #top-head #global-nav ul li a:before,
  #top-head.fixed #global-nav ul li a:before {
    position: absolute;
    top: 34%;
    left: 10px;
    display: block;
    width: 5px;
    height: 5px;

    content: '';
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);

    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
  }

  /*トグル*/
  #nav-toggle {
    display: block;
  }

  /* #nav-toggle 切り替えアニメーション */
  .open #nav-toggle span:nth-child(1) {
    top: 11px;
    -webkit-transform: rotate(315deg);
    -moz-transform: rotate(315deg);
    transform: rotate(315deg);
  }

  .open #nav-toggle span:nth-child(2) {
    width: 0;
    left: 50%;
  }

  .open #nav-toggle span:nth-child(3) {
    top: 11px;
    -webkit-transform: rotate(-315deg);
    -moz-transform: rotate(-315deg);
    transform: rotate(-315deg);
  }


  /* #global-nav スライドアニメーション */
  .open #global-nav {
    /* #global-nav top + #mobile-head height */
    -moz-transform: translateY(556px);
    -webkit-transform: translateY(556px);
    transform: translateY(556px);
  }

/* 翻訳ナビSP */
  #sub-head #global-nav ul li.Tl,
  #top-head #global-nav ul li.Tl {
padding: 10px;
text-align: center;
margin: 0 auto;
display: flex;
justify-content: center;
}
  #sub-head #global-nav ul li.Tl a,
  #top-head #global-nav ul li.Tl a {
padding: 10px; 
}
  #sub-head #global-nav ul li.Tl a:before,
  #top-head #global-nav ul li.Tl a:before {
    position: inherit;
    top: auto;
    left: auto;
    display: inherit;
    width: 0;
    height: 0;
    content: '';
    border-top: 0;
    border-right: 0;
  }	
}

/*------------タブレット用------------------*/

@media screen and (max-width: 1024px) {
  .head-inner {
    display: none;
  }

  .slick-next {
    right: 0;
  }

  #sub-head,
  #top-head,
  .inner {
    width: 100%;
    padding: 0;
  }

  .inner {
    width: 100%;
    padding: 0;
    margin: 0;
  }

  #sub-head,
  #top-head {
    top: 0;
    position: fixed;
    margin-top: 0;

    padding: 0px 0px 0;
  }



  /* Fixed reset */
  #sub-head.fixed,
  #top-head.fixed {
    padding-top: 0;
    /*
    background: #fff;
    background: rgba(255, 255, 255, .9);
*/
    background: #B73131;
    background: rgba(183, 49, 49, 1.8);
  }


  .header_pc_wrap {
    padding: 0px 10px 0;
  }





  #mobile-head {
    /*spの時の背景色*/
    background: #B73131;
    width: 100%;
    height: 70px;
    z-index: 999;
    position: relative;
  }

  #mobile-head .logo {
    /*spの時の背景色*/
    position: absolute;
    top: 23px;
    bottom: 0;
    left: 10px;
    right: 0;
    margin: auto;
    width: 100%;
    max-width: 160px;
  }

  #mobile-head .logo img {}

  @media screen and (min-width:388px) and (max-width:641px) {

    #mobile-head .logo {
      /*spの時の背景色*/
      position: absolute;
      top: 23px;
      bottom: 0;
      left: 10px;
      right: 0;
      margin: auto;
      width: 100%;
      max-width: 200px;
    }
  }







  #global-nav {
    position: absolute;
    /* 開いてないときは画面外に配置 */
    top: -518px;
    /*    background: #fff;*/
    background: rgba(0, 0, 0, .9);
    width: 100%;
    text-align: center;
    padding: -5px 0 -5px;
    -webkit-transition: .5s ease-in-out;
    -moz-transition: .5s ease-in-out;
    transition: .5s ease-in-out;
  }

  #nav-toggle {
    display: block;
    right: 25px;
    top: 20px;
  }

  #tel_header_sp {
    position: absolute;
    right: 10px;
    top: 20px;
  }

  #tel_header_sp img {
    width: 32px;
    height: 32px;
  }



  /* #nav-toggle 切り替えアニメーション */
  .open #nav-toggle span:nth-child(1) {
    top: 11px;
    -webkit-transform: rotate(315deg);
    -moz-transform: rotate(315deg);
    transform: rotate(315deg);
  }

  .open #nav-toggle span:nth-child(2) {
    width: 0;
    left: 50%;
  }

  .open #nav-toggle span:nth-child(3) {
    top: 11px;
    -webkit-transform: rotate(-315deg);
    -moz-transform: rotate(-315deg);
    transform: rotate(-315deg);
  }

  /* #global-nav スライドアニメーション */
  .open #global-nav {
    /* #global-nav top + #mobile-head height */
    -moz-transform: translateY(556px);
    -webkit-transform: translateY(556px);
    transform: translateY(556px);
  }
}

@media screen and (min-width:641px) and (max-width:1023px) {

  #sub-head,
  #top-head {
    top: 0;
    position: fixed;
    margin-top: 0;
    padding: 10px 10px 0;

  }
}

/*sp前　ヘッダロゴ等の並び調整
 ロゴ等の設定*/

/*
@media screen and (min-width:641px) and ( max-width:840px) {
  .header_pc_wrap {
    display: flex;
    align-items: center;
    padding-right: 4px;
  }

  .header_pc_logo {
    min-width: 180px;
    padding-left: 0px;
  }

  .header_pc-list {
    margin-left: auto;
    padding-right: 0;
    width: 80%;
    text-align: right;
  }
  .header_pc-list li {
    align-items: center;
    font-size: 12px;
    width: 160px;
    text-align: left;
    padding-right: 0px;
    margin-left: auto;
  }

  .header_pc-list li:first-child {
    width: 180px;
  }

  .header_pc-list li:last-child {
    width: 120px;
  }

  .header_pc-list {
    margin: 0 0px;
  }

  .header_pc-list li {
    display: inline-block;
    vertical-align: middle;
    margin: 0 0px;
    list-style: none;
  }

  .header_pc_wrap .header_pc_logo {
    margin-right: auto;
  }
}
*/

/*navi_wrap*/

#g-nav {
  width: 100%;
  text-align: center;
  margin: 0 auto 0;
  padding: 0 10px 0 0;
}

@media screen and (min-width:641px) and (max-width:738px) {
  #g-nav {
    width: 100%;
    text-align: left;
    margin: 30px 0 0 10px;
    padding: 0 10px 0 0px;
  }
}

#g-nav li {
  display: inline-block;
  vertical-align: middle;
  margin-bottom: 12px;
}

#g-nav .sns_icon {
  margin-left: 6px;
}

.fb_icon,
.line_icon,
.twitter_icon {
  width: 20px;
  height: 20px;
}

#g-nav li.gnav_menu {
  position: relative;
  display: inline-block;
  padding: 0 14px 0 14px;
  text-decoration: none;
}

#g-nav li.gnav_menu:before {
  content: '';
  width: 6px;
  height: 6px;
  border: 0px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  top: 1.3em;
  left: 0;
  margin-top: -18px;
}

/*subページはテキストの色変更*/

#sub-head .navi_wrap li.gnav_menu:before {
  border-top: solid 2px #666;
  border-right: solid 2px #666;
}

/*固定スクロールのときは色反転*/

#top-head.fixed #g-nav li.gnav_menu:before {
  border-top: solid 2px #666;
  border-right: solid 2px #666;
}




.navi_wrap {
  margin: 0 0 0 12px;
}

.main_nav {
  display: flex;
  flex-direction: row;
}

.main_nav li {
  background-image: url(/common/img/gnav_line.png);
  background-position: right;
  background-repeat: no-repeat;
  display: flex;
  align-items: center;
}

.main_nav li:first-child {
  background-image: url(/common/img/gnav_line.png), url(/common/img/gnav_line.png);
  background-position: left, right;
  background-repeat: no-repeat, no-repeat;

  display: flex;
  align-items: center;
}

.main_nav li a {
  display: block;
  padding: 10px 15px;
  text-align: center;
  text-decoration: none;
  color: #fff;
  border-bottom: 2px solid transparent;
}

.main_nav li a:hover,
.main_nav li.active a {
  border-bottom: 2px solid #ff6a20;
}

.main_nav li a strong {
  font-family: gill sans mt condensed;
  font-weight: 400;
  font-size: 22px;
}


#title_txt p {
  font-family: gill sans mt condensed;
  text-shadow: 1px 2px 3px #808080;
}



.main_nav li a span {
  display: block;
  margin: 3px 0 0 0;
  color: #fff;
  font-size: 80%;
  letter-spacing: 1px;
}


.main_nav li a span.svg {
  display: block;
  margin: 0px 0 3px 0;
  letter-spacing: 1px;
}

.main_nav li img {
  width: 12px;
  height: 12px;
}

@media screen and (min-width:641px) and (max-width:840px) {

  .header_pc_logo {
    width: 100%;
    max-width: 150px;
    text-align: left;
    margin-right: 6px;
  }

  #sub-head,
  .inner {
    width: 100%;
  }

  .main_nav li a {
    padding: 10px 4px;
  }


  .main_nav li a span {
    font-size: 60%;
    letter-spacing: 0.8px;
  }


  .navi_wrap {
    margin: 0 0 0 2px;
  }

  .main_nav li img {
    width: 8px;
    height: 8px;
  }

}




.globalNav {
  list-style: none;
  overflow: hidden;
}

.globalNav li {
  float: left;
  border-right: 1px solid #6f6f6f;
}

.globalNav li a {
  display: block;
  padding: 10px 15px;
  text-align: center;
  text-decoration: none;
  color: #fff;
}

.globalNav li a span {
  display: block;
  margin: 3px 0 0 0;
  color: #fff;
  text-transform: uppercase;
  font-size: 80%;
  letter-spacing: 1px;
}

.globalNav li a:hover {
  /*  background: #EEE;*/
  border-bottom: 2px solid #ff6a20;
}

.globalNav li.active a {
  /*
  background: #333;
  color: #EEE;
*/
  border-bottom: 2px solid #ff6a20;
}


.globalNav li a span.svg {
  display: block;
  margin: 0px 0 3px 0;
  text-transform: uppercase;
  font-size: 80%;
  letter-spacing: 1px;
}



.globalNav li img {
  width: 12px;
  height: 12px;
}



/*page_bk*/

.page_bk {
  background: url(/common/img/page_bk.jpg);

  /*  background: url(/common/img/news_bk02.jpg);*/
  background-size: cover;
  background-repeat: no-repeat;
  /*
  width: 100%;
  height: 100%;

  background: #ff0;
*/
}

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

subpage,トップSP表示の時は固定メニューの高さ分
余白を調整する

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

/*base*/

/*トップスライドblock*/

/*サブページ見出し①→画像なし、テキストのみ*/

/*サブページ見出し②→右背景画像あり*/

#header_line {
  padding-top: 140px;
}

.header_line_inner {
  margin-top: -140px;
  padding-top: 140px;
}

/*フォーム*/

#header_line_form {
  padding-top: 80px;
}

#header_line_form .header_line_inner {
  margin-top: -80px;
  padding-top: 80px;
}



@media screen and (max-width:825px) {
  #header_line {
    padding-top: 130px;
  }

  .header_line_inner {
    margin-top: -130px;
    padding-top: 130px;
  }
}

@media screen and (max-width:700px) {
  #header_line {
    padding-top: 160px;
  }

  .header_line_inner {
    margin-top: -160px;
    padding-top: 160px;
  }
}

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

  .header_line_inner {
    margin-top: -70px;
    padding-top: 70px;
  }

}


/*---------------
header end
-----------------*/

/*pc*/

.main_txt,
.main_txt_top {
  width: 100%;
  margin: 0 auto;
  position: relative;
}

/*
.main_txt_top .slider{
overflow: hidden;
min-width: 1000px;

 }
*/

.header_btm {
  width: 100%;
  margin: 0 auto;
  position: relative;
  background: #ccc;
}

.header_btm img {
  width: 100%;
}

.main_txt img,
.main_txt_top .slider img {
  width: 100%;
  margin: 0 auto;
  position: relative;

}

#top_txt {
  position: absolute;
  top: -180px;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 80%;
  max-width: 340px;
  height: 3.2rem;
  text-align: center;
  color: #fff;
  z-index: 140;
}

#top_txt img {
  width: 100%;
  /*  max-width: 260px;*/
  max-width: 360px;
  height: auto;
}

#return {
  position: fixed;
  bottom: 30px;
  right: 30px;
  z-index: 999;
}


@media screen and (max-width:1100px) {
  #top_txt {
    position: absolute;
    top: 16%;
    right: 0;
    bottom: 0;
    left: 0;
    width: 60%;
    max-width: 320px;
    height: 28.2rem;
    z-index: 140;
  }

  #top_txt img {
    max-width: 320px;
  }

  #return {
    bottom: 30px;
    right: -20px;
  }

  #return img {
    width: 80%;
  }

}


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

  #top_txt {
    position: absolute;
    top: 40px;
    right: 0;
    bottom: 0;
    left: 0;
    width: 60%;
    max-width: 260px;
    height: 10.2rem;
    z-index: 140;
  }

  #top_txt img {
    max-width: 260px;
  }


  #return {
    bottom: 30px;
    right: -30px;
  }

  #return img {
    width: 70%;
  }

}



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

  /*
  .main_txt img {
    width: 100%;
    margin: 40px auto 0;
    position: relative;
  }
*/
  #top_txt {
    position: absolute;
    top: -30px;
    right: 0;
    bottom: 0;
    left: 0;
    width: 60%;
    max-width: 160px;
    height: 2.2rem;
    z-index: 140;
  }

  #top_txt img {
    max-width: 160px;
  }


  #return {
    bottom: 30px;
    right: 10px;
  }

  #return img {
    width: 70%;
  }


}


/*pagetitle*/

/*pc*/

.page_title {
  width: 100%;
  margin: 0 auto;
  position: relative;
  background: #ccc;
}

.page_title img {
  width: 100%;
  margin: 0 auto;
  position: relative;
}

#title_txt {
  position: absolute;
  top: -100px;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 80%;
  height: 3.2rem;
  text-align: center;
  color: #fff;
  z-index: 140;
}

#title_txt p {
  /*
  font-size: 40px;
  font-size: 4.0rem;
  
*/
  font-size: 740%;
  padding: 10px 0;
  color: #fff;
}

#title_main_txt {
  font-size: 740%;
  padding: 10px 0;
  color: #fff;	
}

#title_txt span {
  font-size: 28px;
  padding: 10px 0;
  color: #fff;
}



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


  #title_txt {
    position: absolute;
    top: 20px;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    width: 100%;
    height: 14.2rem;
    text-align: center;
    color: #fff;
    z-index: 140;
  }

}


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

  #title_txt {
    position: absolute;
    top: 20px;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    width: 100%;
    height: 3.2rem;
  }

  /*pagetitle*/
  #title_txt p {
    font-size: 400%;
    padding: 0px 0;
  }

  #title_txt span {
    font-size: 22px;
    padding: 0 0;
  }
}




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



  .main_txt img {
    width: 100%;
    min-height: 200px;
    margin: 24px auto 0;
    position: relative;
  }


  .main_txt_top .slider img {
    width: 100%;
    margin: 24px auto 0;
    position: relative;
  }



  #title_txt {
    position: absolute;
    top: -30px;
    right: 0;
    bottom: 0px;
    left: 0;
    margin: auto;
    width: 100%;
    height: 5.2rem;
    text-align: center;
    color: #fff;
    z-index: 140;
  }

  #title_txt p {
    font-size: 36px;
    padding: 30px 0 0;
    color: #fff;
  }

  #title_txt span {
    font-size: 18px;
    padding: 6px 0;
    color: #fff;
  }
}

/*下層ページ ボタン*/

.cont_wrap {}

.cont_wrap ul,
.cont_wrap_half ul {
  width: 100%;
  margin: 0 auto;
  align-items: center;
  justify-content: center;
  /* 子要素をflexboxにより中央に配置する */
  padding: 0;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-box;
  display: -webkit-flexbox;
  display: -moz-flexbox;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  /*  margin-right: -15px;*/
}


.cont_wrap li {
  /*  width: calc((100% / 3) - 10px);*/
  /*  width: calc((100% / 3) - 7px);*/
  width: 32%;
  list-style: none;
  padding-bottom: 2.5rem;
  margin-bottom: 0px;
  position: relative;
  background: #B73131;
  /*右に10px 余白*/
  margin: 0 0 16px 0px;
}

.cont_wrap_half li {
  /*  width: calc((100% / 3) - 10px);*/
  /*  width: calc((100% / 3) - 7px);*/
  width: 48%;
  list-style: none;
  padding-bottom: 2.5rem;
  margin-bottom: 0px;
  position: relative;
  background: #B73131;
  /*右に10px 余白*/
  margin: 0 0 16px 0px;
}


/*2,5,8..の左右に余白*/

.cont_wrap li:nth-child(3n-1) {
  /*  margin: 0 0% 0;*/
  margin: 0 2% 16px;
}

.cont_wrap_half li:first-child {
  /*  margin: 0 0% 0;*/
  margin: 0 2% 16px 0;
}



.cont_box,
.cont_box50per {
  text-align: center;
  margin: 0 auto;
  padding: 0;
  color: #fff;
}



.cont_wrap_img,
.cont_wrap_half_img {
  margin: 10px auto;
}

.cont_wrap_img img {
  width: 90%;
  text-align: center;
  margin: 0 auto;
  padding: 0;
}

.cont_wrap_img img:last-child {
  margin-top: 5px;
}


.cont_wrap_half_img img {
  width: 60%;
  text-align: center;
  margin: 0 auto;
  padding: 0;
}

@media screen and (max-width: 640px) {
  .cont_wrap_half_img img {
    width: 80%;
  }
}


.cont_wrap_half_img img:last-child {
  margin-top: 5px;
}


/*read more のボタン設定*/

.cont_wrap p {
  padding: 0 9% 0;
  font-size: 100%;
}


.cont_wrap p.button {
  text-align: center;
  padding: 0;
  display: block;
  position: absolute;
  bottom: 20px;
  width: 100%;
}

.cont_wrap p.button a {
  color: #000;
  padding: 2% 22%;
  background: #8a8a8a;
  font-size: 100%;
  display: inline-block;
}


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

  /*pc3 → sp1*/
  .cont_wrap ul,
  .cont_wrap_half ul {
    width: 100%;
    margin: 0;
    /*  margin-left: -20px;*/
    padding: 0;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-box;
    display: -webkit-flexbox;
    display: -moz-flexbox;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: flex;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -5px;
  }

  .cont_wrap li,
  .cont_wrap_half li {
    width: 100%;
    margin: 0 auto 10px;
  }

  .cont_wrap li:nth-child(3n-1) {
    margin: 0 0% 10px;
  }

  .cont_wrap_half li:first-child {
    /*  margin: 0 0% 0;*/
    margin: 0 0% 16px 0;
  }

}



.footer_copyright {
  font-size: 14px;
  font-size: 1.4rem;
  padding: 17px 10px 0;
  text-align: center;
  color: #fff;
  background: #2D2522
}

.footer_pagetop {
  position: fixed;
  z-index: 2;
  right: 30px;
  bottom: 30px;
  width: 50px;
  height: 50px;
  border-radius: 3px;
  background: #0378da;
  background: rgba(164, 106, 86, .5)
}

.footer_pagetop a {
  position: relative;
  display: block;
  overflow: hidden;
  height: 100%;
  white-space: nowrap;
  text-indent: -100%
}

.footer_pagetop a:before {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: 10px;
  height: 10px;
  margin-top: 4px;
  content: '';
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
  -ms-transform: translate(-50%, -50%) rotate(-45deg);
  transform: translate(-50%, -50%) rotate(-45deg);
  border-top: 3px solid #fff;
  border-right: 3px solid #fff
}

@media screen and (max-width:640px) {
  .footer {
    overflow-x: hidden;
    /*下余白削除*/
    padding: 0 0 0
  }

  .footer_nav,
  .footer_nav_cat_title {
    padding: 0
  }

  .footer_sitemap {
    /*下余白削除*/
    margin: 0 0 0;
    padding: 10px 0 0
  }

  .footer_sitemap a {
    text-decoration: none;
    color: #fff
  }


  /*スマホ設定*/
  .footer_info {
    margin: 0 -10px;
    padding: 10px 0;
  }

  .footer_info_item {
    font-size: 10px;
    font-size: 1rem;
    padding: 0 10px
  }

  .footer_copyright {
    font-size: 14px;
    font-size: 1.4rem;
    padding: 17px 0 0
  }

  .footer_pagetop {
    right: 10px;
    bottom: 20px;
    width: 44px;
    height: 44px
  }

  .footer_pagetop a:before {
    left: 50%;
    width: 10px;
    height: 10px;
    margin-top: 4px;
    -webkit-transform: translate(-50%, -50%) rotate(-45deg);
    -ms-transform: translate(-50%, -50%) rotate(-45deg);
    transform: translate(-50%, -50%) rotate(-45deg);
    border-top: 3px solid #fff;
    border-right: 3px solid #fff
  }
}

/*ページ内ナビゲーション*/

#page_nav {
  width: 100%;
  text-align: center;
  margin-bottom: 14px;
}

#page_nav li a {
  text-decoration: none;
  color: #fff;
}


#page_nav li a {
  text-decoration: none;
  color: #666;
}

#page_nav li {
  position: relative;
  display: inline-block;
  padding: 0 0 0px 14px;
  text-decoration: none;
  font-size: 14px;
}

#page_nav li:before {
  content: '';
  width: 6px;
  height: 6px;
  border: 0px;
  border-top: solid 2px #666;
  border-right: solid 2px #666;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  top: 1.7em;
  left: 0;
  margin-top: -18px;
}

/*ページ内ナビゲーション　end*/

/* 引用 */

.cp_quote img {
  width: 500px;
  margin: 0 auto 20px;
}

.text_arrow:before,
.l-localnav_category_item:before {
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg)
}


.c-btn,
.p-heroSlide_banner_link {
  -webkit-transition: .2s linear;
  text-decoration: none
}

.l-section + .l-section {
  margin-top: 50px
}

.l-section > .l-section {
  margin-top: 45px
}


.l-section_small {
  margin-top: 20px;
}

.l-section_small + .l-section_small {
  margin-top: 25px
}

.l-section_small > .l-section_small {
  margin-top: 20px
}

@media screen and (max-width:640px) {
  .l-section + .l-section {
    margin-top: 25px
  }

  .l-section > .l-section {
    margin-top: 20px
  }


  .l-section_small + .l-section_small {
    margin-top: 15px
  }

  .l-section_small > .l-section_small {
    margin-top: 10px
  }
}

.cont_reserve {
  background: url(/common/img/news_bk02.jpg) no-repeat;
  background-size: 100%;
  color: #fff;
  background-position: top;
  background-attachment: fixed;
}

.top_reserv {
  background: rgba(47, 77, 85, 0.8);
  padding: 16px 0;
}

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

  .cont_reserve {
    background: none;
    background-size: 100%;
    color: #fff;
  }

  .top_reserv {
    background-color: rgba(47, 77, 85, 1);
    padding: 16px 0;
  }
}



.bgcolor_blue {
  background-color: #B73131;
  padding: 16px 0;
}

.bgcolor_blue2 {
  background-color: #a8d2f8;
  padding: 16px 0;
}

.bgcolor_shurei {
  background-color: rgba(47, 77, 85, 0.8);
  padding: 16px 0;
}

.pclass_font {
  padding: 0 26px;
  margin-bottom: 50px;
}

.pclass_font p {
  padding: 6px 0px 6px;
  color: #fff;
  line-height: 1.6em;
}


.pclass_font .h3_title_box {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.3;
  margin: 0 0 20px;
  padding: 2px 0 0 7px;
  border-left: 4px solid #112961;
  color: #112961;

}

.pclass_font a.link_txt {
  text-decoration: underline;
  color: #112961;
}


.pclass_font a.link_txt::before {
  content: "→ ";
}


.pclass_font .btn_blue_p {
  background-color: #a8d2f8;
  color: #112961;
  font-size: 16px;
  width: 50%;
  max-width: 320px;
  margin: 6px auto 6px;
  text-align: center;
}


.btn_blue_p a {
  color: #112961;
  display: block;
  padding: 6px 0;

}


.btn_blue_p a:hover {
  background-color: #112961;
  opacity: 1;
  color: #fff;
}

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

    width: 96%;
    max-width: 96%;
  }

}




.bgsize_20 {
  padding: 16px 28px 80px;
  color: #fff;
}

.bgsize_20 p {
  padding: 16px;
  color: #fff;
}





.member_wrap .mem_result_title {
  width: 100%;
  color: #B73131;
  text-align: left;
  border-bottom: 1px solid #B73131;
  margin: 0;
  padding: 0;
}

.bgcolor_blue .mem_result_date {
  width: 100%;
  color: #B73131;
  text-align: left;
  margin: 10px 0 16px;
  padding: 0;
}

/*競技結果一覧*/

.result_wrap .result_year {
  width: 100%;
  background: #a9d2f9;
  color: #112961;
  text-align: left;
  /*  border-bottom: 1px solid #B73131;*/
  margin: 0;
  padding: 4px;
}

.result_wrap .result_date {
  /*  width: 100%;*/
  color: #112961;
  text-align: left;
  margin: 10px 0 16px;
  padding: 0 30px 0 0;
  float: left;
}

.result_wrap .result_title {
  /*  width: 100%;*/
  color: #112961;
  text-align: left;
  margin: 10px 0 16px;
  padding: 0;
  float: left;
}

.result_wrap dl {
  clear: both;
  text-align: left;
  margin: 10px 0 40px;
  overflow: hidden;
}


.result_wrap dl dt {
  float: left;
  background: #999;
  padding: 4px 4px;
  margin-bottom: 10px;
}

.result_wrap dl dd {
  float: left;
  padding: 4px 4px;
  margin-bottom: 10px;
}

.result_wrap dl dd + dt {
  margin-left: 40px;
}

.result_inner {
  margin-bottom: 80px;
  border-top: 1px solid #112961;
  padding-top: 18px;
}

.result_inner_top {
  margin-top: 0px;
  border: 0;
}


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

  .result_wrap dl {
    clear: both;
    text-align: left;
    margin: 10px 0 10px;
    overflow: hidden;
  }

  .result_wrap dl dt {
    width: 35%;
    text-align: center;
  }

  .result_wrap dl dd {
    width: 65%;
  }


  .result_wrap dl dd + dt {
    margin-left: 0px;
  }

}

/*お知らせ一覧*/

.result_wrap #news_innner {
  text-align: left;
  border-top: 0;
}

.result_wrap #news_innner li {
  padding-bottom: 30px;
  border-bottom: 1px solid #112961;
}

/*記事*/

.result_wrap .article {
  width: 100%;
  font-weight: normal;
  color: #112961;
  text-align: left;
  /*  border-bottom: 1px solid #B73131;*/
  margin: 0;
  padding: 4px;
}


.article_inner {
  overflow: hidden;
  clear: both;
}

.article_text {
  float: left;
  text-align: left;
  width: 70%;
}

.article_img {
  float: right;
}


/*youtube*/

.c-btn {
  line-height: 1.4;
  position: relative;
  display: block;
  margin-top: 30px;
  transition: .2s linear;
  color: #fff;
  border-radius: 3px;
  background: #134089;
}

.c-btn_ico--next:before,
.c-btn_ico--prev:before {
  content: '';
  border-radius: 100%;
  background: #fff
}




.c-btn--medium {
  min-width: 50%
}

.c-btn--small {
  min-width: 30%;
  font-size: 16px;
  margin-bottom: 14px;
}

.c-btn_label_small {
  position: relative;
  display: inline-block;
  padding: 8px 8px 8px
}

.c-btn--large {
  min-width: 75%
}

.c-btn--flex {
  display: table
}

.c-btn--center {
  margin-right: auto
}


.c-btn--close {
  margin-top: 20px;
  cursor: pointer
}

.c-btn--close .c-btn_label {
  padding: 10px 20px 8px
}

.c-btn_label {
  position: relative;
  display: inline-block;
  padding: 16px 15px 14px
}

.c-btn_ico--next,
.c-btn_ico--prev {
  padding-right: 40px;
  padding-left: 40px;
  display: block
}

.c-btn_ico--next:before {
  position: absolute;
  top: 50%;
  right: 10px;
  display: block;
  width: 18px;
  height: 18px;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%)
}

.c-btn_ico--next:after {
  position: absolute;
  top: 50%;
  right: 17px;
  display: block;
  width: 4px;
  height: 4px;
  content: '';
  -webkit-transform: translateY(-50%) rotate(45deg);
  -ms-transform: translateY(-50%) rotate(45deg);
  transform: translateY(-50%) rotate(45deg);
  border-top: 2px solid #9B8262;
  border-right: 2px solid #9B8262
}

.c-btn_ico--prev:before,
.title_h3:before {
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%)
}

.c-btn_ico--prev:before {
  position: absolute;
  left: 10px;
  display: block;
  width: 18px;
  height: 18px;
  transform: translateY(-50%)
}

.c-btn_ico--prev:after {
  position: absolute;
  top: 50%;
  left: 17px;
  display: block;
  width: 4px;
  height: 4px;
  content: '';
  -webkit-transform: translateY(-50%) rotate(45deg);
  -ms-transform: translateY(-50%) rotate(45deg);
  transform: translateY(-50%) rotate(45deg);
  border-bottom: 2px solid #9B8262;
  border-left: 2px solid #9B8262
}

.c-btn_ico--pdf:after,
.c-btn_ico--zoom:after {
  display: inline-block;
  margin-left: 5px;
  content: '';
  vertical-align: middle
}

.c-btn_ico--pdf:after {
  width: 16px;
  height: 18px;
  background: url(/common/img/ico_doc-pdf.svg) no-repeat;
  background-size: cover
}

.c-btn_ico--zoom:after {
  width: 18px;
  height: 17px;
  background: url(/common/img/ico_zoom.png) no-repeat;
  background-size: cover
}

/*薄い色のボタン*/

.c-btn--type02 {
  color: #4D4239;
  background: #F1D194;
}

.c-btn--type02 .c-btn_ico--next:before {
  background: #9B8262;
  background: #fff;
}

.c-btn--type02 .c-btn_ico--next:after {
  border-color: #9B8262
}

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

  .c-btn_ico--next,
  .c-btn_ico--prev {
    display: block;
    padding-right: 30px;
    padding-left: 30px
  }

  .c-btn {
    margin-top: 10px
  }

  .c-btn--flex {
    display: block
  }

  .c-btn_ico--next:before {
    right: 10px;
    width: 12px;
    height: 12px
  }

  .c-btn_ico--next:after {
    right: 15px;
    width: 3px;
    height: 3px;
    border-top-width: 1px;
    border-right-width: 1px
  }

  .c-btn_ico--prev:before {
    left: 10px;
    width: 12px;
    height: 12px
  }

  .c-btn_ico--prev:after {
    left: 15px;
    width: 3px;
    height: 3px;
    border-bottom-width: 1px;
    border-left-width: 1px
  }

  .c-btn_ico--pdf:after {
    width: 11px;
    height: 12px
  }
}


/* ボタン透明*/

.flex_btn_inner {
  margin: 0 auto;
  text-align: center;
  width: 80%;
}

/*ボタン一つ*/

.btn_inner {
  margin: 0 auto;
  text-align: center;
  width: 80%;
}


/*ボタン一つ*/

.btn_small_inner {
  margin: 0 auto;
  text-align: center;
  width: 38%;
}

.btn_inner .f_btn {
  line-height: 1.4;
  position: relative;
  display: block;
  margin: 20px auto 10px;
  padding: 10px 0;
  text-decoration: none;
  text-align: center;
  color: #666;
  background: #fff;
  border: 1px solid #666;
  border-radius: 90px;
}

.btn_small_inner .f_btn {
  line-height: 1.4;
  position: relative;
  display: block;
  margin: 20px auto 10px;
  padding: 14px 0;
  text-decoration: none;
  text-align: center;
  color: #666;
  background: #fff;
  border: 1px solid #666;
  border-radius: 90px;
}

ul.btn_list {
  list-style: none;
  display: flex;
}


.btn_list li {
  width: 48%;
  margin-right: 2%;
}

.btn_list li:first-child {
  margin-right: 4%;
}

@media screen and (max-width: 640px) {
  .btn_small_inner {
    width: 68%;
  }

}


/*背景無し*/

.f_btn_nocolor {
  line-height: 1.4;
  position: relative;
  display: block;
  margin: 20px auto 10px;
  padding: 10px 8px;
  text-decoration: none;
  text-align: center;
  color: #FFFFFF;
  background: transparent;
  border: 1px solid #fff;
  border-radius: 90px;
}





/*ボタン一つ*/

.btn_inner_green {
  margin: 0 auto;
  text-align: center;
  width: 80%;
}

.btn_inner_green .g_btn {
  appearance: none;
  /* ブラウザのスタイルをリセットする */
  outline: none;
  color: #fff;
  background-color: #37DCBE;
  border: 1px solid #37DCBE;
  display: block;
  line-height: 24px;

  margin: 20px auto;
  padding: 10px 0;
  border-radius: 4px;
  position: relative;
}

.btn_inner_green .g_btn span {
  font-size: 12px;
}

.btn_inner_green a.g_btn {
  text-decoration: none;
}


.btn_inner_green .g_btn:before {
  content: '';
  width: 6px;
  height: 6px;
  border: 0px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  left: 20%;
  margin-top: -4px;
}


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

  .flex_btn_inner {
    margin: 0 auto;
    text-align: center;
    width: 90%;
  }

  ul.btn_list {
    list-style: none;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  .btn_list li {
    width: 100%;
  }

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

  .btn_inner_green {
    width: 90%;
  }

  .btn_inner_green .g_btn:before {
    left: 5%;
  }
}


.c-btn--nocolor {
  background: transparent;
  border: 1px solid #fff;
  border-radius: 90px;
}

.c-btn--ccc {
  background: transparent;
  border: 1px solid #666;
  border-radius: 90px;
  color: #666;
}


/*画像横並び*/

.img_flex {
  width: 100%;
  display: flex;
  flex-flow: row nowrap;
  justify-content: center;
  margin: 30px 0;
}

.img_flex figure {
  margin: 7px 0 20px;
  padding-bottom: 20px;
}


/*i-figure 設定*/

.i-figure_caption {
  text-align: left;
  /*  padding-right: 10px;*/
}


.i_figure img {
  width: 100%;
  max-width: 360px;
  text-align: center;
  /*  padding-right: 10px;*/
  margin: 0 auto;
}

.i_figure_right img,
.i_figure_left img {
  width: 100%;
  max-width: 360px;
  text-align: center;
  padding-right: 0px;
  margin: 0 auto;
}


/*.i-figure_caption,*/

.i-figure:last-child {
  padding-right: 0;
}

.i-figure_caption {
  font-size: 13px;
  font-size: 1.3rem;
  margin: 7px 0 10px;
}


/*caption テキスト位置 3/28追加*/

figcaption.cap_left {
  text-align: left;
}

figcaption.cap_right {
  text-align: right;
}

figcaption.cap_center {
  text-align: center;
}


/*caption テキストのスタート位置*/

figcaption.cap_short {
  padding: 0 1em 0 1em;
}

@media screen and (max-width: 640px) {
  .img_flex {
    width: 100%;
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    margin: 20px 0;
  }

  .img_flex figure {
    margin: 0 auto;
    text-align: center;
    padding-bottom: 20px;
  }

  .i-figure_caption {
    padding-right: 0;
  }

  .i_figure img {
    padding: 0px 0;
    text-align: center;
    margin: 0 auto;
  }

  .i-figure {
    margin: 7px 0 40px;
    padding-bottom: 60px;
  }
}

/* link list*/

.caption_linklist ul {
  width: 90%;
  text-align: left;
}

.caption_linklist li {
  line-height: 1.6em;
  position: relative;
  display: block;
  padding-left: 14px;
  text-decoration: none;
  text-align: left;
}

.caption_linklist li:before {
  content: '';
  width: 6px;
  height: 6px;
  border: 0px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -4px;
}

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

  .caption_linklist ul {
    width: 98%;
    text-align: left;
  }

  .caption_linklist li {
    overflow: hidden;
    display: block;
    width: 100%;
  }
}

/*画像下にコンテンツがあるfigure*/

.figure_link {
  display: flex;
  width: 100%;
  flex-flow: row nowrap;
  justify-content: center;
  margin: 30px 0;
}

.figure_link_inner {
  padding: 10px;
  flex-grow: 1;
  width: 100%;
  padding-bottom: 5.0rem;
  margin-bottom: 0;
  position: relative;
}

.figure_link_inner_nopadding {
  padding-bottom: 0rem !important;
}




.figure_link_inner figcaption {
  font-size: 13px;
  font-size: 1.3rem;
  margin: 7px 0 10px;
}

.banner_inner {
  display: flex;
  width: 100%;
  flex-flow: row wrap;
  justify-content: center;
  margin: 30px 0;
}

.banner_inner .figure_link_inner {
  width: 25%;
  /*4つしか入れない*/
  margin: 10px 0;
}


.figure_link_btn {
  max-width: 110px;
  margin: 0 auto;
  text-align: center;
  padding: 0;
  display: block;
  position: absolute;
  bottom: 20px;
  width: 100%;
  left: 0;
  right: 0;
}

@media screen and (max-width: 640px) {
  .figure_link {
    /*slider　切り替え　flex end*/
    display: block;
    width: 100%;
    flex-flow: column;
    justify-content: center;
    margin: 20px 0;
  }

  .figure_link_inner {
    padding: 10px;
    flex-grow: 1;
    width: 100%;
    text-align: center;
    margin: 0 auto;
  }

  .banner_inner {
    flex-flow: column;
    justify-content: center;
    margin: 20px 0;
  }

  .banner_inner .figure_link_inner {
    width: 100%;
    /*4つしか入れない*/
    margin: 10px 0 0;
  }
}

.figure_link_list {
  margin: 10px auto;
  max-width: 360px;
}

.figure_link_list dt {
  font-size: 18px;
  font-size: 1.8rem;
  margin: 10px 0;
  display: table;
  vertical-align: top;
  border-spacing: 0px;
  text-align: left;
}

.figure_link_list dd {
  font-size: 12px;
  font-size: 1.2rem;
  width: 100%;
  text-align: left;
}

/*カテゴリ囲み*/

.figure_link_list dt p {
  display: table-cell;
  vertical-align: top;
  border-spacing: 0px;
}


.figure_link_list dt span {
  padding: 4px 4px;
  margin-right: 6px;
  color: #FFF;
  background: #00C8AB;
  font-size: 12px;
  min-width: 40px;
  text-align: center;
  display: inline-block;
}


/*list title*/

.text_list_midasi {
  font-weight: 700;
}

.text_list02 + .text_list_midasi {
  margin-top: 30px;
}

/*only top*/

.title_h2_index {
  font-family: gill sans mt condensed;
  font-size: 42px;
  font-size: 4.2rem;
  margin: 0 auto 10px;
  text-align: center;
  padding: 12px 0px 9px 0;
  width: 100%;
  box-sizing: border-box;
  font-weight: normal;
  color: #B73131;
}

.title_h2_index span {
  display: block;
  padding: 4px 0 10px;
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: normal;
}

.title_h2 {
  font-size: 24px;
  font-size: 2.4rem;
  font-weight: 600;
  margin: 30px auto 30px;
  text-align: left;
  padding: 0px 0px 0px 13px;
  width: 100%;
  box-sizing: border-box;
  border-left: 6px solid #37DCBE;
  color: #37DCBE;
}


.h2_btn_white {
  background-color: transparent;
  border: 1px solid #fff;
  color: #fff;
  font-size: 22px;
  font-weight: normal;
  width: 100%;
  max-width: 312px;
  margin: 15px auto 10px;
  text-align: center;
  padding: 8px 0;
}


.h2_btn_white_r {
  background: #B73131;
  /*  box-sizing: border-box;*/
  color: #fff;
  font-size: 22px;
  font-weight: normal;
  width: 100%;
  max-width: 312px;
  margin: 15px auto 10px;
  text-align: center;
  padding: 8px 0;
  border: 3px solid #fff;
}


.link_color {
  color: #37DCBE;
}

/*page_midasi*/

.pagetitle_h2 {
  font-size: 28px;
  font-size: 2.8rem;
  margin: 0 0 30px;
  padding: 10px 10px 11px;
  width: 100%;
}

@media screen and (max-width: 640px) {
  .p_title img {
    height: 80px;
  }

  .title_h2 {
    font-size: 20px;
    font-size: 2rem;
    margin: 30px 0 30px;
    padding: 6px 6px 6px;
  }

  .h2_btn_white {
    background-color: transparent;
    border: 1px solid #fff;
    color: #fff;
    font-size: 18px;
    font-weight: normal;
    width: 90%;
    max-width: 90%;
    margin: 10px auto 10px;
    text-align: center;
    padding: 8px 0;
  }


}

.title_h3 {
  font-size: 20px;
  font-size: 2rem;
  line-height: 1.4;
  position: relative;
  margin: 10px 0 30px;
  padding: 7px 15px 7px 4px;
  border-radius: 3px;
  background: #D6CDBC;
  background: none;
  border-bottom: 1px solid #666;
}

.title_h4:before,
.title_h3:before {
  display: block;
  content: '';
  background: #9B8262;
}




.title_h4 {
  font-size: 18px;
  font-size: 1.8rem;
  position: relative;
  margin: 0 0 30px;
  padding: 7px 10px 5px;
  border-bottom: 2px solid #e6e6e6
}

.title_h4:before {
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 122px;
  height: 2px
}

.text_list_item,
.title_h5 {
  position: relative
}

@media screen and (max-width: 640px) {
  .title_h4 {
    font-size: 16px;
    font-size: 1.6rem;
    margin: 0 0 15px;
    padding: 5px 5px 3px
  }
}

.title_h5 {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.3;
  margin: 0 0 20px;
  padding: 2px 0 0 7px;
}

.title_h5_box {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.3;
  margin: 0 0 20px;
  padding: 2px 0 0 7px;
  border-left: 4px solid #483F2D;
}

.table td,
.table th {
  padding: 10px 20px;
  border: 1px solid #e6e6e6
}

@media screen and (max-width: 640px) {
  .title_h5 {
    font-size: 15px;
    font-size: 1.5rem;
    margin: 0 0 15px
  }
}

.c-lead {
  font-size: 22px;
  font-size: 2.2rem;
  margin: 0 0 10px
}

@media screen and (max-width: 640px) {
  .c-lead {
    font-size: 20px;
    font-size: 2rem
  }
}

.c-figure {
  margin: 0
}

.c-figure_caption {
  font-size: 13px;
  font-size: 1.3rem;
  margin: 7px 0 10px
}

.u_txt_80 {
  width: 80%;
  text-align: center;
  margin: 30px auto 40px;
}

.u_txt_90 {
  width: 90%;
  text-align: center;
  margin: 30px auto 40px;
}


/*回り込み 追加*/

.section-float {
  clear: both;
  overflow: hidden;
  margin: 10px 0 20px 0;
}

.section-float figure {
  display: inline;
}

.section-float .section-float_img {
  float: left;
  margin-right: 10px;
  margin-bottom: 10px;
}

.section-float .section-float_right_img {
  float: right;
  margin-left: 10px;
  margin-bottom: 10px;
}


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

  .section-float figure {
    display: block;
  }

  .section-float .section-float_img {
    float: none;
    margin-right: 10px;
    margin-bottom: 10px;
  }

  .section-float .section-float_right_img {
    float: none;
    margin-left: 10px;
    margin-bottom: 10px;
  }
}

/*テーブル*/

.table table {
  width: 100%;
  table-layout: fixed;
  background: #fff
}

.table.table--center td,
.table.table--center th {
  text-align: center;
  vertical-align: middle
}

.table--auto table {
  table-layout: inherit
}

.table th {
  text-align: left;
  vertical-align: top;
  background: #E6CC9B;
}

.table_grid_col--3 {
  width: 22.86115%
}

.table_grid_col--4 {
  width: 31.460674%
}

.table .table_heading {
  background: #f7f7f7
}

@media screen and (max-width: 640px) {
  .table {
    font-size: 13px;
    font-size: 1.3rem
  }

  .table td,
  .table th {
    padding: 5px
  }

  .table--type02 td,
  .table--type02 th {
    display: block;
    padding: 5px 10px
  }

  .table--type02 {
    font-size: 15px;
    font-size: 1.5rem;
    border-top: 1px solid #F1D194
  }

  .table--type02 th {
    width: auto;
    border-top: none;
  }

  .table--type02 th + td {
    border-top: none;
  }
}

.table02,
.table02 table {
  width: 100%;
}

.table02 {
  background: #fff;
}

.table02.table02--center td,
.table02.table02--center th {
  text-align: center;
  vertical-align: middle;
}

.table02_head_label {
  padding: 10px 20px;
  text-align: center;
  border: 1px solid #e6e6e6;
  background: #E6CC9B;
}

.table02 td,
.table02_heading {
  font-weight: 400;
  padding: 10px 20px;
  border: 1px solid #f7f7f7
}

.table02_body tr:nth-child(even) {
  background: #FDF8E6
}

.table02_heading {
  font-weight: 400;
  text-align: left
}

@media screen and (max-width: 640px) {
  .table02 {
    border-top: 1px solid #e6e6e6
  }

  .table02_head {
    display: none
  }

  .table02 td,
  .table02_heading {
    display: block;
    width: auto;
    padding: 5px 10px;
    text-align: left !important;
    border-top: none
  }

  .table02 td:before,
  .table02_heading:before {
    font-weight: 700;
    display: inline-block;
    content: attr(data-label)
  }

  .table02_body tr:nth-child(even) {
    background: 0 0
  }

  .table02_heading {
    background: #ebf6ff
  }
}

.text_list02_data,
.text_list_item {
  padding-left: 19px
}

.text_list02_title:before,
.text_list_item:before {
  top: .45em;
  left: 5px;
  display: block;
  height: 7px;
  content: '';
  box-sizing: border-box
}

.text_list .text_list {
  margin-top: 10px
}

.text_list_item:before {
  position: absolute;
  width: 7px;
  border-radius: 100%;
  background: #9B8262
    /*normal*/
}

.list_daia .text_list_item:before {
  position: absolute;
  border-radius: 0;
  /*  left: -1em;*/
  /*ダイヤ*/
  top: .5em;
  /*  left: -1em;*/
  width: 6px;
  height: 6px;
  background-color: #666;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}


.text_list_item + .text_list_item {
  margin-top: 7px
}

.text_list_item.c-grid_col {
  margin-top: 0;
  margin-bottom: 7px
}

.text_list_item .text_list_item:before {
  border: 1px solid #134089;
  background: 0 0
}

.text_list--type02 > .text_list_item + .text_list_item {
  margin-top: 25px
}

@media screen and (max-width: 640px) {
  .text_list_item.c-grid_col {
    width: calc((100% / 2) - 10px)
  }
}

.text_list02 {
  margin: 0
}

.text_list02_data + .text_list02_title,
.text_list02_title + .text_list02_title {
  margin-top: 25px
}

.text_list02_title {
  font-weight: 700;
  position: relative;
  padding-left: 16px
}

.text_list02_title:before {
  position: absolute;
  width: 7px;
  border-radius: 100%;
  background: #666;
}

/*ダイア型*/

.list_daia .text_list02_title:before {
  position: absolute;
  border-radius: 0;
  /*ダイヤ*/
  top: .5em;
  width: 6px;
  height: 6px;
  background-color: #666;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.list02_title_daia:before {
  position: absolute;
  background: #666;
  top: .5em;
  /*ダイヤ*/
  width: 7px;
  height: 7px;
  background-color: #666;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}


.numeric_list02 {
  padding-left: 4em;
}

.numeric_list02 p {
  padding: 0;
}

.numeric_list02_title {
  width: 100%;
}

.numeric_list02_title:before {
  content: counter(number) '.';
  counter-increment: number 1;

  top: 0;
  left: -30px;
}

.numeric_list_item:before {
  left: 0;
  content: counter(number) '.';
  counter-increment: number 1
}


.table .text_list02_data + .text_list02_title {
  margin-top: 5px
}

.numeric_list {
  margin: 0;
  counter-reset: number 0
}

.numeric_list_item {
  position: relative;
  padding: 0 0 0 1.8em
}

.numeric_list_item:before {
  position: absolute
}

.numeric_list_item + .numeric_list_item {
  margin-top: 10px
}

@media screen and (max-width: 640px) {
  .numeric_list_item + .numeric_list_item {
    margin-top: 15px
  }
}

.numeric_list02 {
  margin: 0;
  counter-reset: number 0;
  padding-left: 0;
}

.numeric_list02_title {
  font-weight: 700;
  position: relative;
  padding: 0 0 0 1.8em
}

.numeric_list02_title:before {
  font-weight: 400;
  position: absolute;


  top: 0;
  left: 0;

}

.numeric_list02_data {
  padding-left: 1.8em
}

.numeric_list02_data + .numeric_list02_title {
  margin-top: 20px;
}

.c-box {
  padding: 30px;
  border: 4px solid #ebeadf;
  border: 1px double #7D6A3E;
  background: #faf8f0;
}

.c-box--priorityLow {
  margin: 10px 0 10px 0;
  border: none;
  border: 1px solid #666;
  background: none;
}

.c-box--priorityHigh {
  border-color: #c00;
  border: 2px solid rgb(159, 37, 37);
  background: #fff
}

.ancher_list--column3 .ancher_list_item:first-child,
.ancher_list--column3 .ancher_list_item:nth-child(3n + 1),
.ancher_list--column4 .ancher_list_item:first-child,
.ancher_list--column4 .ancher_list_item:nth-child(5n) {
  border-left: 1px solid #e6e6e6
}

/*挨拶ページ　box*/

.c-box_col {
  padding: 0px;
  border: 1px solid #ccc;
}

.c-box_col + .c-box_col {
  margin-top: 30px;
}

.c-box_col p {
  padding: 24px;
}

.c-box_col_midasi {
  padding: 10px 0;
  text-align: center;
  background: #ccc;
}


@media screen and (max-width: 640px) {
  .numeric_list02_data + .numeric_list02_title {
    margin-top: 15px
  }

  .c-box {
    padding: 20px
  }
}

.c-imageUnit {
  overflow: hidden;
  zoom: 1;
  margin: 0 0 30px
}

.c-imageUnit_text {
  overflow: hidden;
  zoom: 1
}

.c-imageUnit_image_caption {
  font-size: 11px;
  font-size: 1.1rem;
  margin: 10px 0 0
}

.c-imageUnit--parallel .c-imageUnit_text {
  overflow: visible
}

.c-imageUnit--parallel .c-imageUnit_image {
  margin-bottom: 30px
}

.c-imageUnit--imageL .c-imageUnit_image {
  float: left;
  margin-right: 40px
}

.c-imageUnit--imageR .c-imageUnit_image {
  float: right;
  margin-left: 40px
}

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

  .c-imageUnit,
  .c-imageUnit_text {
    overflow: hidden;
    zoom: 1
  }

  .c-imageUnit {
    margin: 0 0 30px
  }

  .c-imageUnit--parallel .c-imageUnit_text {
    overflow: visible
  }

  .c-imageUnit--parallel .c-imageUnit_image {
    margin-bottom: 30px
  }

  .c-imageUnit--imageL .c-imageUnit_image {
    float: none;
    margin-right: 0
  }

  .c-imageUnit--imageR .c-imageUnit_image {
    float: none;
    margin-left: 0
  }

  .c-imageUnit_image img {
    width: 100%
  }
}

.ancher_list--column3 .ancher_list_item {
  width: calc(100% / 3)
}

.ancher_list--column4 .ancher_list_item {
  width: 25%
}

.ancher_list_item {
  position: relative;
  float: left;
  margin-bottom: 10px;
  padding: 0 20px 0 45px;
  border-right: 1px solid #e6e6e6
}

.ancher_list_item:after,
.ancher_list_item:before {
  position: absolute;
  top: .7em;
  display: block;
  content: ''
}

.ancher_list_item:before {
  left: 20px;
  width: 18px;
  height: 18px;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  border-radius: 100%;
  background: #DDBD85
}

.ancher_list_item:after {
  left: 26px;
  width: 4px;
  height: 4px;
  margin-top: -1px;
  -webkit-transform: translateY(-50%) rotate(135deg);
  -ms-transform: translateY(-50%) rotate(135deg);
  transform: translateY(-50%) rotate(135deg);
  border-top: 2px solid #fff;
  border-right: 2px solid #fff
}

.ancher_list_item_link {
  text-decoration: none
}

@media screen and (max-width: 640px) {
  .ancher_list--column4 .ancher_list_item {
    width: calc(100% / 3)
  }

  .ancher_list--column4 .ancher_list_item:nth-child(5n) {
    border-left: none
  }

  .ancher_list--column4 .ancher_list_item:nth-child(3n + 1) {
    border-left: 1px solid #e6e6e6
  }

  .ancher_list_item {
    position: relative;
    margin-bottom: 5px;
    padding: 0 10px 0 25px
  }

  .ancher_list_item:before {
    left: 10px;
    width: 12px;
    height: 12px
  }

  .ancher_list_item:after {
    left: 14px;
    width: 3px;
    height: 3px;
    border-top-width: 1px;
    border-right-width: 1px
  }

  .ancher_list--type02 {
    display: block;
    margin-right: -10px
  }

  .ancher_list--type02 .ancher_list_item {
    display: inline-block;
    width: auto;
    margin-bottom: 10px;
    padding-left: 15px;
    border: none !important
  }

  .ancher_list--type02 .ancher_list_item:before {
    left: 0
  }

  .ancher_list--type02 .ancher_list_item:after {
    left: 4px
  }
}

.c-grid {
  /*余白調整*/
  margin: 10px -10px
}

.c-grid_col {
  float: left;
  overflow: hidden;
  margin: 0 10px
}

.c-grid_col--1 {
  width: calc(((100% / 12) * 1) - 20px)
}

.c-grid_col--2 {
  width: calc(((100% / 12) * 2) - 20px)
}

.c-grid_col--3 {
  width: calc(((100% / 12) * 3) - 20px)
}

.c-grid_col--4 {
  width: calc(((100% / 12) * 4) - 20px)
}

.c-grid_col--5 {
  width: calc(((100% / 12) * 5) - 20px)
}

.c-grid_col--6 {
  width: calc(((100% / 12) * 6) - 20px)
}

.c-grid_col--7 {
  width: calc(((100% / 12) * 7) - 20px)
}

.c-grid_col--8 {
  width: calc(((100% / 12) * 8) - 20px)
}

.c-grid_col--9 {
  width: calc(((100% / 12) * 9) - 20px)
}

.c-grid_col--10 {
  width: calc(((100% / 12) * 10) - 20px)
}

.c-grid_col--11 {
  width: calc(((100% / 12) * 11) - 20px)
}

.c-grid_col--12 {
  width: calc(((100% / 12) * 12) - 20px)
}

@media screen and (max-width: 640px) {
  .c-grid {
    margin: 0 -5px
  }

  .c-grid_col {
    margin: 0 5px 10px
  }

  .c-grid_col--1 {
    width: calc(((100% / 12) * 1) - 10px)
  }

  .c-grid_col--2 {
    width: calc(((100% / 12) * 2) - 10px)
  }

  .c-grid_col--3 {
    width: calc(((100% / 12) * 3) - 10px)
  }

  .c-grid_col--4 {
    width: calc(((100% / 12) * 4) - 10px)
  }

  .c-grid_col--5 {
    width: calc(((100% / 12) * 5) - 10px);
    width: calc((100% / 2) - 10px)
  }

  .c-grid_col--6 {
    width: calc(((100% / 12) * 6) - 10px);
    width: calc((100% / 2) - 10px)
  }

  .c-grid_col--7 {
    width: calc(((100% / 12) * 7) - 10px);
    width: calc((100% / 2) - 10px)
  }

  .c-grid_col--8 {
    width: calc(((100% / 12) * 8) - 10px);
    width: calc((100% / 2) - 10px)
  }

  .c-grid_col--9 {
    width: calc(((100% / 12) * 9) - 10px);
    width: calc((100% / 2) - 10px)
  }

  .c-grid_col--10 {
    width: calc(((100% / 12) * 10) - 10px);
    width: calc((100% / 2) - 10px)
  }

  .c-grid_col--11 {
    width: calc(((100% / 12) * 11) - 10px);
    width: calc((100% / 2) - 10px)
  }

  .c-grid_col--12 {
    width: calc(((100% / 12) * 12) - 10px);
    width: calc((100% / 2) - 10px)
  }

  .c-grid_col + .c-grid_col {
    margin-top: 0
  }

  [data-spgrid=false] {
    display: block
  }

  [data-spgrid=false] > .c-grid_col {
    float: none
  }

  [data-spgrid=false] .c-grid_col + .c-grid_col {
    margin-top: 20px
  }

  [data-spgrid=false] .c-grid_col--1,
  [data-spgrid=false] .c-grid_col--10,
  [data-spgrid=false] .c-grid_col--11,
  [data-spgrid=false] .c-grid_col--12,
  [data-spgrid=false] .c-grid_col--2,
  [data-spgrid=false] .c-grid_col--3,
  [data-spgrid=false] .c-grid_col--4,
  [data-spgrid=false] .c-grid_col--5,
  [data-spgrid=false] .c-grid_col--6,
  [data-spgrid=false] .c-grid_col--7,
  [data-spgrid=false] .c-grid_col--8,
  [data-spgrid=false] .c-grid_col--9 {
    width: auto
  }
}

.notice_item {
  position: relative;
  padding-left: 1.5em
}

.notice_item + .notice_item {
  margin-top: 10px
}

.notice_mark {
  position: absolute;
  left: 0
}

.text_arrow:before,
.text_arrowlist_item:before {
  left: 2px;
  border-top: 2px solid #DDBD85;
  border-right: 2px solid #DDBD85
}

.text_arrow {
  position: relative;
  display: inline-block;
  padding-left: 20px
}

.text_arrow:before {
  position: absolute;
  top: .45em;
  display: block;
  width: 4px;
  height: 4px;
  margin: 0 8px 0 5px;
  content: '';
  transform: rotate(45deg);
  vertical-align: .2em
}

.text_arrow_link[data-ico=pdf]:after,
.text_arrow_link[data-ico=excel]:after,
.text_arrow_link[data-ico=word]:after {
  width: 16px;
  height: 18px;
  vertical-align: middle;
  display: inline-block;
  margin-left: 5px;
  content: ''
}

.text_arrow_link {
  text-decoration: none
}

.text_arrow_link[data-ico=pdf]:after {
  background: url(/common/img/ico_doc-pdf.svg) no-repeat;
  background-size: cover
}

.text_arrow_link[data-ico=excel]:after {
  background: url(/common/img/ico_doc-excel.svg) no-repeat;
  background-size: cover
}

.text_arrow_link[data-ico=word]:after {
  background: url(/common/img/ico_doc-word.svg) no-repeat;
  background-size: cover
}

.text_arrow_link[data-ico=external]:after {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin-left: 5px;
  content: '';
  vertical-align: baseline;
  background: url(/common/img/ico_external.svg) no-repeat;
  background-size: cover
}

@media screen and (max-width: 640px) {
  .text_arrow:before {
    top: .6em
  }

  .text_arrow_link[data-ico=pdf]:after,
  .text_arrow_link[data-ico=excel]:after,
  .text_arrow_link[data-ico=word]:after {
    width: 11px;
    height: 12px
  }
}

.text_arrowlist.c-grid .text_arrowlist_item + .text_arrowlist_item {
  margin-top: 0
}

.text_arrowlist_item {
  position: relative;
  padding-left: 20px
}

.text_arrowlist_item + .text_arrowlist_item {
  margin-top: 8px
}

.text_arrowlist_item:before {
  position: absolute;
  top: .45em;
  display: block;
  width: 4px;
  height: 4px;
  margin: 0 8px 0 5px;
  content: '';
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  vertical-align: .2em
}

.text_arrowlist_item_link[data-ico=pdf]:after,
.text_arrowlist_item_link[data-ico=excel]:after,
.text_arrowlist_item_link[data-ico=word]:after {
  width: 14px;
  height: 16px;
  vertical-align: middle;
  margin-left: 5px;
  content: '';
  display: inline-block
}

.text_arrowlist_item_link {
  text-decoration: none
}

.text_arrowlist_item_link[data-ico=pdf]:after {
  background: url(/common/img/ico_doc-pdf.svg) no-repeat;
  background-size: cover
}

.text_arrowlist_item_link[data-ico=excel]:after {
  background: url(/common/img/ico_doc-excel.svg) no-repeat;
  background-size: cover
}

.text_arrowlist_item_link[data-ico=word]:after {
  background: url(/common/img/ico_doc-word.svg) no-repeat;
  background-size: cover
}

.text_arrowlist_item_link[data-ico=external]:after {
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-left: 5px;
  content: '';
  vertical-align: middle;
  background: url(/common/img/ico_external2.svg) no-repeat;
  background-size: cover
}

.text_arrowlist_item_link[data-ico=internal]:after {
  display: inline-block;
  width: 14px;
  height: 14px;

  margin: 0 0 5px 5px;
  content: '';
  vertical-align: middle;
  background: url(/common/img/ico_internal.svg) no-repeat;
  background-size: cover
}




@media screen and (max-width: 640px) {
  .text_arrowlist.c-grid {
    margin: 0 -5px
  }

  .text_arrowlist.c-grid .text_arrowlist_item {
    width: calc((100% / 2) - 10px)
  }

  .text_arrowlist_item_link[data-ico=pdf]:after,
  .text_arrowlist_item_link[data-ico=excel]:after,
  .text_arrowlist_item_link[data-ico=word]:after {
    width: 11px;
    height: 12px
  }

  .text_arrowlist_item_link[data-ico=internal]:after {
    width: 12px;
    height: 12px
  }

  .text_arrowlist_item_link[data-ico=external]:after {
    width: 14px;
    height: 14px
  }

}

.p_title {
  position: relative;
  z-index: 1;
}

.title_h2_next {
  position: absolute;
  z-index: 2;
  width: 100%;
  /*  max-width: 988px;*/
  max-width: var(--base-width);

  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.p-heroSlide {
  position: relative;
  z-index: 1;
}

.p-heroSlide_items {
  z-index: 1;
  -webkit-animation: fadeIn 2s ease 0s 1 normal;
  animation: fadeIn 2s ease 0s 1 normal
}

.p-heroSlide_items img {
  width: 100%;
}


.p-heroSlide_item + .p-heroSlide_item {
  position: absolute
}

.p-heroSlide_bottom {
  position: relative;
  z-index: 3;
  /*  width: 1150px;*/
  width: 100%;
  max-width: var(--base-width);
  /*  left: calc((100% - 1150px)/2);*/
  /* 子要素をflexboxにより中央に配置する */
  bottom: 30px;
  padding: 0;
  margin: 0 auto;
  background: #fff;
  box-shadow: 0 2px 6px rgba(0, 0, 0, .15);
}

.p-heroSlide_bottom_inner {
  width: 100%;
  /*  max-width: 988px;*/
  margin: 0 auto;
  /*  display: flex;*/
}

#news_wrap {
  width: 100%;
  margin: 60px auto 30px;
  padding: 10px 10px;
}


.ntitle {
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  margin-bottom: 8px;
}

.news_logo {}

.news_btn {
  color: #fff;
  background: #B73131;
  padding: 2px 22px;
}

.ntitle01 .news_logo {
  margin-right: auto;
}







/*
span.news_en {
  display: block;
  font-size: 14px
}

.topics_wrap_title {
  font-size: 29px;
  display: table;
  margin-bottom: 20px;
}


.topics_title {
  display: table-cell;
  padding-right: 12px;
  white-space: nowrap;
}

.topics_list_btn {
  display: table-cell;
  font-size: 14px;
  vertical-align: middle;
}

.topics_list_btn span {
  background: #999;
  padding: 2px 8px;
  white-space: nowrap;
  border-radius: 2px;
}

.topics_list_btn a {
  text-decoration: none;
  color: #fff;
}


.news_head {
  order: 1;
  width: 30%;
}
*/

/*
.news_category_pc li {
  line-height: 1.0em;
  white-space: nowrap;

  position: relative;
  display: block;
  text-decoration: none;
  padding-left: 26px;
  margin: 0 0 24px 0;
}

.news_category_pc li a {
  text-decoration: none;
}

.news_category_pc .arrow_all a {
  color: #727171;
}

.news_category_pc .arrow_book a {
  color: #13ac67;
}

.news_category_pc .arrow_media a {
  color: #58b7ea;
}

.news_category_pc .arrow_news a {
  color: #036eb6;
}

.arrow_all:before {
  content: '';
  width: 16px;
  height: 16px;

  position: absolute;
  top: 0;
  left: 0;
  background-image: url(/common/img/top/ico_arrow_double_gray.svg);
  background-repeat: no-repeat;
}

.arrow_book:before {
  content: '';
  width: 16px;
  height: 16px;

  position: absolute;
  top: 0;
  left: 0;
  background-image: url(/common/img/top/ico_arrow_single_green.svg);
  background-repeat: no-repeat;
}

.arrow_media:before {
  content: '';
  width: 16px;
  height: 16px;

  position: absolute;
  top: 0;
  left: 0;
  background-image: url(/common/img/top/ico_arrow_single_aqua.svg);
  background-repeat: no-repeat;
}

.arrow_news:before {
  content: '';
  width: 16px;
  height: 16px;

  position: absolute;
  top: 0;
  left: 0;
  background-image: url(/common/img/top/ico_arrow_single_navy.svg);
  background-repeat: no-repeat;
}
*/

#news_innner {
  line-height: 1.7em;
  margin: 0 auto;
  border-top: 2px solid #B73131;
  background: #fff;
  width: 100%;
}

.topicsList {
  padding: 20px 0;
  width: 100%;
}

.p-topicsList_item {
  margin-bottom: 24px;
  display: flex;
  flex-direction: row;
  padding: 0 10px;
  width: 100%;
}


.news_item_list {
  text-align: left;
}

/*news 分類名*/

.p-topics_category {
  /*  display: inline;*/
  /*  margin: 0 20px 0 4px;*/
  margin: 0 20px 0 10px;
  width: 100px;
  min-width: 100px;
  height: 22px;
  /*  float: left;*/
  text-align: center;
}

.p-topics_category span {
  padding: 0px 6px;
  color: #FFF;
  font-size: 12px;
  text-align: center;
  /*  display: inline-block;*/
}


.cate_news {
  background: #ff6a1f;
}

.cate_event {
  background: #73880a;
}

.news_dtitle {
  margin-bottom: 14px;
}

.p-topics_date {
  padding-right: 10px;
}

.p-topicsList_item_text {}


@media screen and (max-width: 640px) {
  #news_wrap {
    padding: 10px 10px;
    margin: 60px 0 0 0;
  }

  .p-topicsList_item {
    margin-bottom: 24px;
    display: flex;
    flex-direction: column;
  }


  #news_innner {
    width: 100%;
    line-height: 1.2em;
  }

  .p-topics_category {
    margin: 0 20px 6px 0;
    padding: 2px 0 0 0;
    width: 80px;
  }

  .news_logo img {
    width: 80%;
  }

  .news_btn {
    display: none;
  }

  /*
  #news_innner {
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    position: relative;
  }
*/
  /*
  li.topicsList_item {
    padding: 4px 0px;
  }

  #news_innner .news_title {
    order: 1;
  }

  #news_innner .news_list_btn {
    order: 2;
  }

  #news_innner .topicsList_box {
    order: 3;
    width: 100%;
  }

  #news_innner .news_list_btn {
    order: 3;
    position: absolute;
    right: 0;
    top: 0;
    border-left: 1px solid #ccc;
    padding: 20px 10px;
    white-space: nowrap;
  }

  .topicsList_item_date {
    padding: 0 4px 0 6px;
  }
*/
  /*改行対策*/
  /*
  .topicsList_item.up {
    padding: 0 4px 0 6px;
  }

  .topicsList_box {
    padding: 10px 0;
  }

  .topicsList_item p {
    width: 100%;

  }
  .topicsList_item .topics_txt {
    width: 86vw;
  }
*/
}

/*reservation*/

.reserve_wrap {
  display: flex;
  flex-direction: row;
}

.reserve_foot_btn {
  display: flex;
  flex-direction: row;
  width: 60%;
  margin: 0 auto;
  text-align: center;
  align-content: center;
  align-items: center;
}

.reserve_foot_btn div {
  margin: 0 10px;
}


.r_txt {
  text-align: center;
}


.r_txt_wht {
  text-align: center;
  color: #fff;
}

.u-mlr20 {
  padding: 0 20px;
}



.reserve_inner {
  width: 50%;
  max-width: 312px;
  text-align: center;
  margin: 20px auto;
}

.inq_wrap {
  width: 80%;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  text-align: center;
  display: flex;
  flex-direction: row;
}

.inq_inner {
  width: 48%;
  max-width: 400px;
  text-align: center;
  margin: 16px auto;
}




.btn_white {
  background-color: transparent;
  border: 1px solid #fff;
  color: #fff;
  font-size: 22px;
  width: 100%;
  max-width: 312px;
  margin: 0 auto 10px;
  text-align: center;
  padding: 0;
}

.btn_mobile a:before {
  content: '';
  display: inline-block;
  width: 24px;
  height: 24px;
  margin-right: 2px;
  background-image: url('/common/img/tel.svg');
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
}

.btn_pc a:before {
  content: '';
  display: inline-block;
  width: 24px;
  height: 20px;
  margin-right: 4px;
  background-image: url('/common/img/net.svg');
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
}



.btn_person,
.btn_mobile,
.btn_pc {
  background-color: transparent;
  border: 1px solid #fff;
  color: #fff;
  font-size: 22px;
  width: 100%;
  max-width: 312px;
  margin: 0 auto 10px;
  text-align: center;
  padding: 0;
  padding: 10px 0;
}

.btn_person:before {
  content: '';
  display: inline-block;
  width: 30px;
  height: 30px;
  background-image: url('/common/img/man.svg');
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
}

.btn_mobile:before {
  content: '';
  display: inline-block;
  width: 24px;
  height: 24px;
  margin-right: 2px;
  background-image: url('/common/img/tel.svg');
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
}

.btn_pc:before {
  content: '';
  display: inline-block;
  width: 24px;
  height: 20px;
  margin-right: 4px;
  background-image: url('/common/img/net.svg');
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
}


.btn_white a {
  display: block;
  color: #fff;
  padding: 10px 0;
}

.btn_white a:hover {
  background-color: #fff;
  opacity: 1;
  color: #112961;
}




.btn_w_wrap {
  display: flex;
  flex-direction: row;
  width: 100%;
  max-width: 560px;
  justify-content: center;
  /* 子要素をflexboxにより中央に配置する */
  align-items: center;
  /* 子要素をflexboxにより中央に配置する */
  margin: 0 auto;
  text-align: center;
}

.btn_blue {
  background-color: #a8d2f8;
  /*  border: 1px solid #fff;*/
  color: #112961;
  font-size: 22px;
  width: 100%;
  max-width: 280px;
  margin: 10px auto 16px;
  text-align: center;
}


.btn_blue a {
  color: #112961;
  display: block;
  padding: 10px 0;

}

.btn_blue a:before {
  content: '';
  display: inline-block;
  width: 14px;
  height: 14px;
  background-image: url('../img/double-arrow-to-right.svg');
  background-image: url('/common/img/double-angle-right_off.svg');
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
  margin: 0 4px 2px 0;
}


.btn_blue a:hover {
  background-color: #112961;
  opacity: 1;
  color: #fff;
}


.btn_blue a:hover:before {
  content: '';
  display: inline-block;
  width: 14px;
  height: 14px;
  background-image: url('/common/img/double-angle-right_on.svg');
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
  margin: 0 4px 2px 0;
}

/* contact ボタン */

.btn_submit input {
  background-color: #a8d2f8;
  color: #112961;
  font-size: 22px;
  width: 100%;
  max-width: 280px;
  margin: 10px auto 16px;
  text-align: center;
  padding: 10px 0;
}

.btn_submit input:hover {
  background-color: #112961;
  opacity: 1;
  color: #fff;
}

/* contact ボタン end */

.mid_line {
  display: flex;
  align-items: center;
}

.mid_line:before,
.mid_line:after {
  content: "";
  flex-grow: 1;
  height: 1px;
  background: #fff;
  display: block;
}

.mid_line:before {
  margin-right: .4em;
}

.mid_line:after {
  margin-left: .4em;
}


#top_access {
  text-align: center;
}

.title_access {
  text-align: center;
  margin: 6px auto 10px;
  color: #B73131;
}

.ico_car:before {
  content: '';
  display: inline-block;
  width: 22px;
  height: 22px;
  margin-right: 8px;
  background-image: url('/common/img/car.svg');
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
}

.ico_train {
  margin-top: 30px;
}

.ico_train:before {
  content: '';
  display: inline-block;
  width: 22px;
  height: 22px;
  background-image: url('/common/img/train.svg');
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
}

.access_ul li {
  display: inline;
}





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

  .reserve_wrap {
    flex-direction: column;
  }

  .reserve_inner,
  .reserve_inner_sp {
    width: 80%;
    max-width: 80%;
    text-align: center;
    margin: 20px auto;
  }



  .reserve_foot_btn {
    display: flex;
    flex-direction: column;
    width: 100%;
  }

  .reserve_foot_btn div {
    margin: 10px 0;
  }


  .btn_white {
    font-size: 17px;
    max-width: 100%;
    width: 100%;
  }

  .btn_w_wrap {
    display: flex;
    flex-direction: column;
    width: 80%;
    max-width: 80%;
  }

  .btn_blue {
    font-size: 17px;
    width: 80%;
    max-width: 80%;
  }


  .access_ul li {
    display: block;
  }


}































/*
.mid_line {
  position: relative;
  text-align: center;
}

.mid_line:before {
  border-top: 1px solid;
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
}

.mid_line span {
  background-color: transparent;
  display: inline-block;
  padding: 0 0.5em;
}
*/

/*top business事業紹介*/

.business_inner {
  padding: 10px 10px;
  /*画面の高さと同じにします*/
  /*  height: 100vh;*/
  background: url('/common/img/top/top_bk_02.png') no-repeat fixed;
  background-size: cover;
  position: relative;
}

.seminars_inner {
  padding: 10px 10px;
  /*画面の高さと同じにします*/
  /*  height: 100vh;*/
  background: url('/common/img/top/top_bk_02.png') no-repeat fixed;
  background-size: cover;
  position: relative;
}

.grey_inner {
  background: #F5F6F6;
}



p-figure small {
  font-size: 12px;
  line-height: 14px;
  display: block;
  color: #bdbdbd
}

@media print {
  .l-main_primary {
    float: none;
    width: auto
  }

  .footer,
  .l-gnav,
  .l-header_func,
  .l-main_secondary {
    display: none
  }
}

.ancher_list:after,
.c-grid:after,
.l-header_fontSwitcher:after,
.l-header_inner:after,
.l-header_link:after,
.l-main:after,
.num_box_flow:after,
.p-guideNav_list:after,
.p-listBlock:after,
.p-pagenation:after,
.profile_info:after,
.p-receptionInfo:after,
.topics_path_list:after {
  display: block;
  clear: both;
  content: ''
}

/*コメント機能用に追加*/

.input_box {
  margin: 8px 0;
}

/*
#comment {
  text-align: left;
  width: 80%;
  border: 1px solid #9B8262;
  margin: 8px 0;
}

#commentv {
  text-align: left;
  width: 100%;
  height: 160px;
  border: 1px solid #9B8262;
  margin: 8px 0;
  padding: 8px;
  overflow: scroll;
}
*/

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

  #comment {
    width: 100%;
    margin: 10px auto;
  }

  #commentv {
    text-align: left;
    width: 100%;
    height: 160px;
    border: 1px solid #9B8262;
    margin: 8px 0;
    padding: 8px;
    overflow: scroll;
  }

}

/*googlemaps幅にfit*/

.fb_wrap {
  width: 100%;
  margin: 10px auto 0;
  text-align: center;
}

.gmap {
  width: 100%;
  margin: 10px auto 0;
  text-align: center;
}

.gmap iframe {
  width: 100%;
  height: 360px;
}

@media screen and (max-width: 640px) {
  .gmap iframe {
    width: 100%;
    height: 100%;
    min-height: 280px;
  }

}

/*ページ内リンク*/

.text_arrow_r > span a {
  display: inline;
  position: relative;
  padding: 15px 16px 15px 4px;
  /* 左右にアイコン分を考慮した余白を指定 */
  font-weight: bold;
}

.text_arrow_r > span a::after {
  position: absolute;
  content: "";
  top: 50%;
  right: 4px;
  width: 5px;
  height: 5px;
  margin-top: -3px;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  border-top: 2px solid #D3C0A8;
  border-right: 2px solid #D3C0A8;
}

/* ブラウザ判定ボタン用 */

button.download {
  text-decoration: underline;
  color: #024cc6;
}

/* 演奏スケジュール用 */

.flex_box {
  -js-display: flex;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  flex-flow: row-reverse nowrap;
  margin: 10px 10px;
}

/*テキストの方　常にある*/

.flex-1 {
  flex: 1;
}

.flex_img {
  padding: 4px 20px 4px 6px;
  flex-basis: 240px;
}

.flex_img img {
  width: 240px;
}

.data,
.data_song {
  display: flex;
  flex-flow: row nowrap;
  border-bottom: 1px dotted #c0c0c0;
  padding: 4px 0;
}

.data_list li {
  border-bottom: 1px dotted #c0c0c0;
  padding: 4px 0;
}

.data > span {
  /*flex-basis: 140px;*/
  min-width: 100px;
  padding-right: 20px;
}

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

  .icon > span:before {
    content: "■";
    font-size: 16px;
    margin: 0 2px 0 0;
    color: #9B8262;
  }

  .flex_box {
    flex-flow: column nowrap;
    margin: 10px 14px;
  }

  .flex_img {
    padding: 0;
    text-align: center;
    margin: 10px auto;
  }

  .data,
  .data_song {
    flex-flow: column wrap;
  }

  .data > span {
    flex-basis: 80%;
  }
}

/*パンくずリスト*/

.breadcrumb_list {
  width: 100%;
  /*  max-width: 988px;*/
  max-width: var(--base-width);
  margin: 10px auto;
  font-size: 12px;
}

.breadcrumb_list ul {
  margin: 0 10px;
}

.breadcrumb_list a {
  text-decoration: none;
}


@media screen and (max-width: 640px) {
  .breadcrumb_list {
    /*    display: none;*/
  }
}

.breadcrumb_list li {
  display: inline;

}

.breadcrumb_list li:before {
  content: "\f105";
  font-family: FontAwesome;
  padding: 0 1em 0 1em;
}

.breadcrumb_list li:first-child:before {
  content: "";
  padding: 0 8px;
}


.breadcrumb_list li:last-child {
  display: inline;
}

.breadcrumb_list li:last-child:after {
  content: "";
}

/*accordion menu list 複数*/

#acMenu_close li.open,
#acMenu_open li.open {
  text-align: left;
  cursor: pointer;
  position: relative;
  width: 100%;
  display: block;
  font-weight: bold;
  font-size: 22px;
  font-size: 2.2rem;
  margin: 0 0 20px;
  padding: 14px 10px 11px;
}

/*acmenu 初期close*/

#acMenu_close .open:after {
  content: "\f067"" 読む";
  font-family: FontAwesome;
  color: #9B8262;
  color: #2D2522;
  position: absolute;
  top: 20px;
  right: 13px;
  font-size: 14px;
  background: #F1B8B8;
  border-radius: 4px;
  padding: 2px 4px;
  width: 80px;
  text-align: center;
}

#acMenu_close .open.active:after {
  content: "\f068"" 隠す";
  background: #9CCAF8;
}

#acMenu_close li.data {
  width: 100%;
  display: none;
  border: none;
}


/*初期open*/

#acMenu_open .open:after {
  content: "\f068"" 隠す";
  font-family: FontAwesome;
  color: #9B8262;
  color: #2D2522;
  position: absolute;
  top: 20px;
  right: 13px;
  font-size: 14px;
  background: #9CCAF8;
  border-radius: 4px;
  padding: 2px 4px;
  width: 80px;
  text-align: center;
}

#acMenu_open .open.active:after {
  content: "\f067"" 読む";
  background: #F1B8B8;
}

#acMenu_open li.data {
  width: 100%;
  display: block;
}

/*END accordion menu list 複数*/

/************************************************

hクラスに対して追加する場合

*************************************************/

.course_sp_title {
  font-size: 20px;
  font-size: 2rem;
  line-height: 2.0;
  position: relative;
  margin: 0;
  padding: 2px 10px 0 10px;
  background: #fff;
  text-align: left;
}

.acMenu_h_close .open,
.acMenu_h_open .open,
#acMenu_h_close .open,
#acMenu_h_open .open {
  text-align: center;
  cursor: pointer;
  position: relative;
  width: 100%;
  display: block;
  background: #fff;
  left: 0;
  right: 0;
  text-align: left;
}

.acmenu_wrap {
  width: 100%;
  margin: 0 auto 10px;
  text-align: center;
}

.acmenu_wrap .coursemap_img {
  width: 84%;
  margin: 10px auto;
  text-align: center;
}



.acMenu_h_close {
  width: 96%;
  margin: 0 auto;
  text-align: center;
  padding: 0;
}


.acMenu_h_close h2.open:after,
#acMenu_h_close h2.open:after {
  content: "\f067";
  font-family: FontAwesome;
  color: #2D2522;
  position: absolute;
  top: 0px;
  right: 6px;
  font-size: 12px;
  background: #F1B8B8;
  border-radius: 4px;
  padding: 2px 4px;
  width: 52px;
  text-align: center;
}

/*コース詳細SP*/

.acMenu_h_close h3.open:after,
#acMenu_h_close h3.open:after {
  content: "\f0d7";
  font-family: FontAwesome;
  color: orangered;
  position: absolute;
  top: -25%;
  right: 10px;
  font-size: 30px;
  /*  background: #F1B8B8;*/
  /*  border-radius: 4px;*/
  /*  */
  width: 30px;
  text-align: center;
}


.acMenu_h_close .open.active:after,
#acMenu_h_close .open.active:after {
  content: "\f0d8";
}

.acMenu_h_close .acmenu_data,
#acMenu_h_close .acmenu_data {
  width: 100%;
  display: none;
  border: none;
}


/*初期open*/

.acMenu_h_open h2.open:after,
#acMenu_h_open h2.open:after {
  content: "\f068"" 隠す";
  font-family: FontAwesome;
  color: #9B8262;
  color: #2D2522;
  position: absolute;
  top: 20px;
  right: 6px;
  font-size: 12px;
  background: #9CCAF8;
  border-radius: 4px;
  padding: 2px 4px;
  width: 52px;
  text-align: center;
}

.acMenu_h_open h3.open:after,
#acMenu_h_open h3.open:after {
  content: "\f068"" 隠す";
  font-family: FontAwesome;
  color: #9B8262;
  color: #2D2522;
  position: absolute;
  top: 10px;
  right: 6px;
  font-size: 12px;
  background: #9CCAF8;
  border-radius: 4px;
  padding: 2px 4px;
  width: 52px;
  text-align: center;
}

.acMenu_h_open h2.open.active:after,
.acMenu_h_open h3.open.active:after,
#acMenu_h_open h2.open.active:after {
  content: "\f067"" 読む";
  background: #F1B8B8;
}

/*
ここまで
h2クラスに対して追加する場合
*/

/*
h2,h3共通
*/

.acMenu_h_open .acmenu_data,
#acMenu_h_open .acmenu_data {
  width: 100%;
  display: block;
  border: none;
}

.acMenu_h_open .title_h3 p,
.acMenu_h_open .title_h2_02 p,
.acMenu_h_close .title_h3 p,
.acMenu_h_close .title_h2_02 p {
  width: calc(100% - 60px);
}

.acMenu_h_close .title_h2_02 p,
.acMenu_h_open .title_h2_02 p {
  padding-right: 10px;
}

h2 span[class^="u-fs"] {
  margin-left: .4em;
}

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

  #acMenu_h_open h3.open:after {
    top: 50%;
    margin-top: -.5em;
    /*「アイコンフォント一文字の半分」のネガティブマージン*/
  }

  /*icon 縦位置*/
  .acMenu_h_close h3.open:after {
    top: 18%;
    margin-top: -.5em;
    /*「アイコンフォント一文字の半分」のネガティブマージン*/
  }

}

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

footer menu

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

/* footer bana */

.foot_bana {
  width: 100%;
  /*  margin-bottom: 20px;*/
  margin: 0 auto 20px;
}

.foot_bana:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}


.foot_bana_wrap {
  float: left;
  padding: 0px 2px 6px;
  margin: 0px 0 4px;
  text-align: center;
}

.foot_bana_size {
  width: calc(100% / 2);
}

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

  .foot_bana_wrap {
    padding: 2px 2px;
    margin: 4px 0 0;
  }

  .foot_bana_size {
    width: calc(100% / 2);
  }
}

/*footer固定*/

html {
  height: 100%;
}

body {
  min-height: 100%;
  display: flex;
  flex-direction: column;
}

.l-contents {
  flex: 1;
}




.l-footer {
  padding: 0 0 6px;
  background: #B73131;
}




/*左右わけfooter*/

.l-footer_wrap {
  width: 100%;
  max-width: var(--base-width);
  margin: 0 auto;
}

.l-footer_copyright {
  float: none;
  clear: both;
  font-size: 13px;
  font-size: 1.3rem;
  padding: 10px 10px 0;
  text-align: center;
  color: #fff;
}

.l-footer_logo {
  width: 100%;
  text-align: center;
  margin: 0 auto;
  padding: 20px 0 6px;
}

.l-footer_menu {
  margin: 0px auto;
  padding: 16px 0 2px;
  text-align: center;
  color: #fff;
}

.l-footer_menu li {
  display: inline;
  padding: 0 14px;
}

.l-footer_menu li + li {
  border-left: 1px solid #fff;
}

.l-footer_menu li a {
  color: #fff;
}

.footer_sp_btn_wrap {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  width: 100%;
  margin: 0 auto;
  text-align: center;
  background: #B73131;
  padding: 10px 0;

  position: fixed;
  z-index: 1300;
  bottom: 0;
}

.footer_sp_btn_wrap img {
  width: 44%;
}



@media screen and (max-width: 640px) {
  .l-footer {
    padding: 0 0 0px;
    background: #fff;
  }

  .l-footer_wrap {
    margin: 0 auto 100px;
  }



  .l-footer_copyright {
    float: none;
    clear: both;
    font-size: 13px;
    font-size: 1.3rem;
    padding: 10px 10px 0;
    margin-bottom: 16px;
    color: #B73131;
  }

  .l-footer_logo img {
    width: 80%;
    margin: 0 auto;
    text-align: center;
  }


}




/*footer sub nav*/

.l-footer_pagetop {
  position: fixed;
  z-index: 2;
  right: 30px;
  bottom: 30px;

  width: 50px;
  height: 50px;

  border-radius: 3px;
  background: #0378da;
  background: rgba(3, 120, 218, .5);
}

.l-footer_pagetop a {
  position: relative;

  display: block;
  overflow: hidden;

  height: 100%;

  white-space: nowrap;
  text-indent: -100%;
}

.l-footer_pagetop a:before {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: 10px;
  height: 10px;
  margin-top: 4px;

  content: '';
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
  -ms-transform: translate(-50%, -50%) rotate(-45deg);
  transform: translate(-50%, -50%) rotate(-45deg);

  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
}



/*縦並びになるテーブル*/

#wrap_tb_tate {
  margin: 2em auto;
  font-family: Arial, Roboto, “Droid Sans”, “游ゴシック”, YuGothic, “ヒラギノ角ゴ ProN W3”, “Hiragino Kaku Gothic ProN”, “メイリオ”, Meiryo, sans-serif;
  max-width: 960px;
}

.btnList {
  margin-top: 2em;
  text-align: center;
}

.btnList li {
  display: inline-block;
}

/* table form */

.map_wrap {
  margin: 0 auto;
  text-align: center;
}



.map_wrap img {}

.map_wrap img[usemap] {
  max-width: 100%;
  height: auto;
}

img[usemap] {
  border: none;
  height: auto;
  max-width: 100%;
  width: auto;
}

.course_tb_wrap {
  width: 80%;
  margin: 0 auto;
  text-align: center;
}

.course_detail_tb {
  width: 100%;
  background: #fff;
  border-top: 1px solid #000;
  border-left: 1px solid #000;
}

.course_detail_tb td:nth-child(1),
.course_detail_tb td:nth-child(2),
.course_detail_tb td:nth-child(3)
{
  text-align: center;
  padding: 0 4px;
  width: 20%;
}

.course_detail_tb td:nth-child(4),
.course_detail_tb td:nth-child(5) {
  text-align: right;
  padding-right: 6px;
}

.course_detail_tb tr:nth-child(2) {

  color: #285d39;
}

.course_detail_tb td:nth-child(1) {
  color: #285d39;
  background: #fffcdb;
}

.course_detail_tb th,
.tb_out {
  background: #285d39 !important;
  color: #fff !important;
  padding: 0 4px;
  text-align: center;
}

.course_detail_tb td,
.course_detail_tb th {
  padding: 4px 0;
  border-right: 1px solid #000;
  border-bottom: 1px solid #000;
}



@media screen and (max-width: 640px) {
  .course_tb_wrap {
    width: 94%;
    margin: 0 auto;
    text-align: center;
  }

  .course_detail_tb {
    font-size: 100%;
  }


  /* パターン4：テーブルを横スクロールに */
  .course_tb_wrap {
    overflow-x: auto;
  }

  /* スクロールバー全体 */
  .course_tb_wrap::-webkit-scrollbar {
    height: 0.5em;
    background-color: #F1F1F1;
  }

  /* スクロールバーのつまみ(可動部分) */
  .course_tb_wrap::-webkit-scrollbar-thumb {
    background-color: #BCBCBC;
    border-radius: 12px;
    border-radius: 1.2rem;
  }

  .course_tb_wrap::-webkit-scrollbar-thumb:hover {
    background-color: #A9A9AA;
  }


}


.tableBlock {
  margin-top: 2em;
}

.inquiry_form {
  width: 90%;
  margin: 46px auto;
  text-align: center;
  table-layout: fixed;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border-top: 1px solid #cfcfcf;
  background: #fff;
  padding: 26px 26px;
}


.inquiry_form p {
  text-align: left;
}

.wpcf7-form-control-wrap input,
.wpcf7-form-control-wrap textarea {
  width: 98%;
}




.tableBlock.form table {
  width: 90%;
  margin: 0 auto;
  text-align: center;
  table-layout: fixed;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border-top: 1px solid #cfcfcf;
  background: #fff;
}

.tableBlock.form table caption {
  padding: 1em;
  line-height: 1.5;
  text-align: left;
  background: #ffc045;
}

.tableBlock.form table tr th {
  /*  background: #f2f2f2;*/
}

.tableBlock.form table tr th,
.tableBlock.form table tr td {
  padding: 1em;
  line-height: 1.5;
  text-align: left;
  border-bottom: 1px solid #cfcfcf;

}

.tableBlock.form table tr th {
  width: 30%;
}

.tableBlock.form table tr th.required:before {
  content: '';
  display: inline-block;
  width: 46px;
  height: 26px;
  vertical-align: bottom;
  background: url(/common/img/voice_form/ico_required.svg);
  background-repeat: no-repeat;
  background-size: 37px 26px;
  margin-left: 5px;
}

.tableBlock.form table tr th.notrequired:before {
  content: '';
  display: inline-block;
  width: 46px;
  height: 26px;
  vertical-align: bottom;
  background: url(/common/img/voice_form/ico_notrequired.svg);
  background-repeat: no-repeat;
  background-size: 37px 26px;
  margin-left: 5px;
}


/* Tablet */

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

  /* パターン3：テーブルセルを縦並びに */
  .tableBlock.form table,
  .tableBlock.form table caption,
  .tableBlock.form table thead,
  .tableBlock.form table tbody,
  .tableBlock.form table tr,
  .tableBlock.form table tr th,
  .tableBlock.form table tr td {
    display: block;
  }

  .tableBlock.form table tr th,
  .tableBlock.form table tr td {
    margin: -1px;
    /* borderが二重になるのを防ぐ */
  }

  .tableBlock.form table tr th {
    width: 100%;
    border: none;
    padding: 1em 1em 0em 1em;
  }


  /* Tablet */
}

/*縦並び　end*/

/* 基本スタイル */

.tableBlock {
  margin-top: 2em;
}

.tableBlock.pattern03 table {
  width: 100%;
  table-layout: fixed;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border-top: 1px solid #cfcfcf;
}

.tableBlock.pattern03 table caption {
  padding: 1em;
  line-height: 1.5;
  text-align: left;
  background: #ffc045;
}

.tableBlock.pattern03 table tr th {
  /*  background: #f2f2f2;*/
}

.tableBlock.pattern03 table tr th,
.tableBlock.pattern03 table tr td {
  padding: 1em;
  line-height: 1.5;
  text-align: left;
  border-bottom: 1px solid #cfcfcf;
}

/* Tablet */

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

  /* パターン3：テーブルセルを縦並びに */
  .tableBlock.pattern03 table,
  .tableBlock.pattern03 table caption,
  .tableBlock.pattern03 table thead,
  .tableBlock.pattern03 table tbody,
  .tableBlock.pattern03 table tr,
  .tableBlock.pattern03 table tr th,
  .tableBlock.pattern03 table tr td {
    display: block;
  }

  .tableBlock.pattern03 table tr th,
  .tableBlock.pattern03 table tr td {
    margin: -1px;
    /* borderが二重になるのを防ぐ */
  }

  /* Tablet */
}

/*縦並び　end*/

/*横スクロールするテーブル start*/

#wrap_table_scroll {
  margin: 2em auto;
  max-width: 960px;
}


/* 基本スタイル */

.tableBlock {
  margin-top: 2em;
}

.tableBlock.pattern04 table {
  width: 100%;
  table-layout: fixed;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border: 1px solid #cfcfcf;
}

.tableBlock.pattern04 table caption {
  padding: 1em;
  line-height: 1.5;
  text-align: left;
  background: #ffc045;
}

.tableBlock.pattern04 table tr th {
  background: #f2f2f2;
}

.tableBlock.pattern04 table tr th,
.tableBlock.pattern04 table tr td {
  padding: 1em;
  line-height: 1.5;
  text-align: left;
  border: 1px solid #cfcfcf;
}

/* パターン4：テーブルを横スクロールに */

.tableBlock.pattern04 {
  overflow-x: auto;
}

.tableBlock.pattern04 table {
  width: 960px;
}

/* スクロールバー全体 */

.tableBlock.pattern04::-webkit-scrollbar {
  height: 0.5em;
  background-color: #F1F1F1;
}

/* スクロールバーのつまみ(可動部分) */

.tableBlock.pattern04::-webkit-scrollbar-thumb {
  background-color: #BCBCBC;
  border-radius: 12px;
  border-radius: 1.2rem;
}

.tableBlock.pattern04::-webkit-scrollbar-thumb:hover {
  background-color: #A9A9AA;
}

/*リストになるテーブル*/

#wrap_tb_list {
  margin: 2em auto;
  font-family: Arial, Roboto, “Droid Sans”, “游ゴシック”, YuGothic, “ヒラギノ角ゴ ProN W3”, “Hiragino Kaku Gothic ProN”, “メイリオ”, Meiryo, sans-serif;
  max-width: 960px;
}


/* 基本スタイル */

.tableBlock {
  margin-top: 2em;
}

.tableBlock.pattern05 table {
  width: 100%;
  table-layout: fixed;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border: 1px solid #cfcfcf;
}

.tableBlock.pattern05 table caption {
  padding: 1em;
  line-height: 1.5;
  text-align: left;
  background: #ffc045;
}

.tableBlock.pattern05 table tr th {
  background: #f2f2f2;
}

.tableBlock.pattern05 table tr th,
.tableBlock.pattern05 table tr td {
  padding: 1em;
  line-height: 1.5;
  text-align: left;
  border: 1px solid #cfcfcf;
}

/* Tablet */

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

  /* パターン5：リスト化 */
  .tableBlock.pattern05 table,
  .tableBlock.pattern05 table caption,
  .tableBlock.pattern05 table thead,
  .tableBlock.pattern05 table tbody,
  .tableBlock.pattern05 table tr,
  .tableBlock.pattern05 table tr th {
    display: block;
  }

  .tableBlock.pattern05 table tr th {
    margin: -1px;
    /* borderが二重になるのを防ぐ */
  }

  .tableBlock.pattern05 table tr td {
    display: list-item;
    list-style: disc inside;
    border: none;
  }

  .tableBlock.pattern05 table tr td + td {
    padding-top: 0;
  }

  /* Tablet */
}

/*カントリークラブ概要テーブル*/

.tableBlock.company_tb table {
  width: 100%;
  table-layout: fixed;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border: 1px solid #cfcfcf;
  background: #fff;
  color: #000;
}

.tableBlock.company_tb table th,
.tableBlock.company_tb table td {
  border: 1px solid #cfcfcf;
}



.tableBlock.company_tb table caption {
  padding: 1em;
  line-height: 1.5;
  text-align: left;
  background: #ffc045;
}

.tableBlock.company_tb table tr th {
  background: #fffddd;
  width: 180px;
}

.tableBlock.company_tb table tr th,
.tableBlock.company_tb table tr td {
  padding: 1em;
  line-height: 1.5;
  text-align: left;

}

.company_tb dl {
  width: 100%;
  overflow: hidden;
}

.company_tb dt {
  float: left;
  margin: 0 0 10px;
  width: 17%;
  white-space: nowrap
}

.company_tb dd {
  float: left;
  margin: 0px 0 10px 0.5em;
  width: 80%;
}



/* Tablet */

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

  /* パターン5：リスト化 */
  .tableBlock.company_tb table,
  .tableBlock.company_tb table caption,
  .tableBlock.company_tb table thead,
  .tableBlock.company_tb table tbody,
  .tableBlock.company_tb table tr,
  .tableBlock.company_tb table tr th {
    display: block;
  }

  .tableBlock.company_tb table tr th {
    margin: -1px;
    margin: 0;
    width: 100%;
    /* borderが二重になるのを防ぐ */
  }

  .tableBlock.company_tb table tr td {
    display: block;
    /*
    display: list-item;
    list-style: disc inside;
    border: none;
*/
  }

  .tableBlock.company_tb table tr td + td {
    padding-top: 0;
  }

  /* Tablet */
  .company_tb dt {
    float: none;
    clear: both;
    margin: 0 0 2px;
    width: 100%;
  }

  .company_tb dd {
    clear: both;
    margin: 0px 0 22px 0em;
    width: 100%;
  }



}









/*横スクロールするテーブル　end*/

/*単純に縮める*/

.table_respo {
  width: 100%;
  margin: 0;
  padding: 0;

}

.table_respo_inner {
  width: 100%;
  padding: 0;
}


.table_respo_inner th,
.table_respo_inner td {
  border: 1px solid #ccc;
  border-collapse: collapse;
  padding: 4px;
  text-align: center;
  vertical-align: middle;
}


.mem_tb_head .table_respo_inner td {
  border-bottom: none;
  white-space: nowrap;
}



.table_respo_inner th {
  font-weight: bold;
  white-space: nowrap;
}



@media screen and (max-width: 640px) {
  .table_respo {
    width: 100%;
    margin: 0;
    overflow-x: auto;
  }

  /* パターン4：テーブルを横スクロールに */
  .table_respo {
    overflow-x: auto;
  }

  /* スクロールバー全体 */
  .table_respo::-webkit-scrollbar {
    height: 0.5em;
    background-color: #F1F1F1;
  }

  /* スクロールバーのつまみ(可動部分) */
  .table_respo::-webkit-scrollbar-thumb {
    background-color: #BCBCBC;
    border-radius: 12px;
    border-radius: 1.2rem;
  }

  .table_respo::-webkit-scrollbar-thumb:hover {
    background-color: #A9A9AA;
  }





  .table_respo_inner th,
  .table_respo_inner td {
    padding: 4px 1px;
    white-space: nowrap;
  }



  .table_respo_inner img {
    width: auto;
    min-width: 100px;
  }



}


/*会社概要　単純に縮める*/

.table_company {
  width: 100%;
  margin: 0px 0 40px;
  padding: 0px 0;
}

.table_company_inner {
  width: 100%;
  padding: 10px 0 0 0;
  border-top: 1px solid #ccc;
}


.table_company_inner th,
.table_company_inner td {
  border-bottom: 1px solid #ccc;
  border-collapse: collapse;
  padding: 10px 4px;
  text-align: left;
  vertical-align: middle;
}

.table_company_inner th {
  font-weight: normal;
  vertical-align: top;
  padding: 10px 30px 10px 4px;
}

.table_company_inner td:first-child {
  white-space: nowrap;
  text-align: center;
  font-weight: bold;
}




.table_company_inner th:nth-of-type(1) {
  width: 10%;
  min-width: 26px;
  white-space: nowrap;
  text-align: center;
}

.table_company_inner th:nth-of-type(2) {
  width: 45%;
  white-space: nowrap;
  text-align: left;
}

.table_company_inner th:nth-of-type(3),
.table_company_inner th:nth-of-type(4),
.table_company_inner th:nth-of-type(5),
.table_company_inner th:nth-of-type(6),
.table_company_inner th:nth-of-type(7) {
  width: 15%;
  white-space: nowrap;
}


@media screen and (max-width: 640px) {
  .table_company {
    margin: 60px 0 0 0;
  }
}


/*3カラム、2段になるテーブル*/

.block_tb_inner {
  width: 100%;
  margin: 20px 0;
  padding: 00px 0;
}

.block_tb {
  width: 100%;
  padding: 10px 0 0 0;
  border-top: 1px solid #ccc;
  border-left: 1px solid #ccc;
  border-collapse: collapse;


}

.block_tb th {
  width: calc(100% / 6);

}

.block_tb th,
.block_tb td {
  border-bottom: 1px solid #ccc;
  border-right: 1px solid #ccc;
  border-collapse: collapse;
  padding: 10px 4px;
  text-align: left;
  vertical-align: middle;
}

.block_tb th {
  font-weight: 600;
  vertical-align: top;
  padding: 10px 0;
  text-align: center;
}

.block_tb td {
  vertical-align: top;
}



.block_tb td ul li {
  white-space: nowrap;
}

.block_tb td ul {
  display: table;
  padding: 0;
  margin: 0 auto;
}

@media screen and (max-width: 640px) {
  .block_tb th {
    width: calc(100% / 3);
  }
}


/*3カラム、2段になるテーブル　end*/

/*イベント一覧　リンクボタン*/

.flex_wrap_link_btn {
  display: flex;
  flex-wrap: wrap;
  /*ここ（親要素）じゃダメ*/
  /*  align-items: center;*/
  margin-left: -20px;
  align-items: flex-start
}


/*pcでの幅設定 sp表示の分割数は↓で設定*/

.flex_btn_inner2 {
  width: calc((100% / 2) - 20px);
}

.flex_btn_inner3 {
  width: calc((100% / 3) - 20px);
}

.flex_btn_inner4 {
  width: calc((100% / 4) - 20px);
}

/*-------------------
テキストリンクがない場合
borderなし
---------------------*/

.flex_wrap_link_inner {
  margin: 0 0 8px 20px;
  padding: 10px;
  text-align: center;
  position: relative;
  /*子要素につけることで縦位置が揃う*/
  display: flex;
  align-items: center;
}

/*テキストリンク有　→出ます*/

.flex_wrap_link_btn_inner {
  margin: 0 0 8px 20px;
  padding: 10px;
  padding: 0 0 0 20px;
  text-align: center;
  /*  background: #c0c0c0;*/
  border: 1px solid #666;
  position: relative;
  /*子要素につけることで縦位置が揃う*/
  display: flex;
  align-items: center;
}

.flex_wrap_link_btn_inner a {
  text-decoration: none;
  display: block;
  width: 100%;
  color: #333;
  padding: 10px 10px;
}

.flex_wrap_link_btn_inner a:before {
  content: '';
  width: 6px;
  height: 6px;
  border: 0px;
  border-top: solid 2px #666;
  border-right: solid 2px #666;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  left: 6px;
  margin-top: -5px;
}

@media screen and (max-width: 740px) {
  .flex_btn_inner4 {
    /*spの時は2列*/
    /*    width: calc(100% - 20px);*/
    width: calc((100% / 2) - 20px);
  }
}

@media screen and (max-width: 640px) {
  .flex_wrap_link_btn {
    flex-wrap: wrap;
  }

  .flex_wrap_link_btn_inner {
    margin-bottom: 10px;
    padding: 0 0 0 10px;
    text-align: left;
  }

  .flex_wrap4_link_btn_inner {
    width: calc((100% / 4) - 20px);
    margin: 0 0 8px 20px;
    padding: 10px;
    text-align: center;
    border: 1px solid #666;
    position: relative;
  }


  /*sp時は2列*/
  .flex_btn_inner2 {
    width: calc((100% / 2) - 20px);
    width: 90%;
  }

  .flex_btn_inner3 {
    width: calc((100% / 2) - 20px);
  }

  .flex_btn_inner4 {
    /*    width: calc(100% - 20px);*/
    width: calc((100% / 2) - 20px);
  }
}

/*パネル　横並び*/

.l_wrap {
  display: flex;
  margin-left: -20px;

}

.l_wrap_inner {
  width: 100%;
  margin-left: 20px;
  padding: 0 6px;
  text-align: center;
}

.l_wrap_img {
  width: 100%;
  max-width: 360px;
  text-align: center;
  margin: 0 auto;
}

.l_wrap_img img {
  width: 100%;
  max-width: 360px;
  text-align: center;
  margin: 0 auto;
}


.col_left_large .l_wrap_img,
.col_left_medium .l_wrap_img {
  width: 100%;
  max-width: 100%;
  text-align: center;
  margin: 0 auto;
}

.col_left_large .l_wrap_img img,
.col_left_medium .l_wrap_img img {
  width: 100%;
  max-width: 100%;
  text-align: center;
  margin: 0 auto;
}



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

  .col_left_large .l_wrap_img img,
  .col_left_medium .l_wrap_img img {
    width: 90%;
    text-align: center;
    margin: 0 auto;
  }
}

@media screen and (max-width: 640px) {
  .l_wrap {
    flex-wrap: wrap;
    margin-left: 0px;
  }

  .l_wrap_inner {
    margin-left: 0;
    margin-bottom: 10px;
  }


  .l_wrap_img {
    width: 96%;
    padding: 0px;
    margin: 0 auto;
    text-align: center;
  }
}

/*tabメニュー*/

.tab_menu {
  display: flex;
  flex-direction: row;
}

.tab_menu_item {
  width: 50%;
  background: #878787;
  text-align: center;
}

.tab_menu_item a {
  display: block;
  width: 100%;
  background: #878787;
  color: #fff;
  padding: 10px 0;
  font-size: 22px;

}

.tab_menu_item a span {
  font-size: 16px;
  margin-left: 10px;
}


.tab_menu a.active {
  display: block;
  width: 100%;
  background: #102962;
  color: #fff;
  padding: 10px 0;
  border-top: 4px solid #ff6a20;
}


.su-tabs-nav {
  display: flex;
  flex-direction: row;
}

.su-tabs-nav span {

  display: inline-block;
  margin-right: 0;
  padding: 0;
  font-size: 13px;
  min-height: 100%;
  line-height: normal;
  -webkit-border-top-left-radius: 0px;
  -moz-border-radius-topleft: 0px;
  border-top-left-radius: 0px;
  -webkit-border-top-right-radius: 0px;
  -moz-border-radius-topright: 0px;
  border-top-right-radius: 0px;
  color: #fff;
  cursor: pointer;
  -webkit-transition: all .2s;
  -moz-transition: all .2s;
  -o-transition: all .2s;
  transition: all .2s;



  width: 50%;
  text-align: center;
  display: block;
  background: #878787 !important;
  color: #fff !important;
  padding: 20px 0 !important;
  font-size: 22px !important;
}


.su-tabs-nav span.font {
  font-size: 12px;

}




.su-tabs-nav span.su-tabs-current {
  display: block;
  background: #102962 !important;
  color: #fff !important;
  padding: 10px 0;
  border-top: 4px solid #ff6a20 !important;
}



/*info 施設案内 レストランメニュー*/

.facilities_wrap {
  width: 98%;
  text-align: left;
  margin: 0 auto;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  /*  justify-content: space-between;*/
  justify-content: flex-start;
  align-items: flex-start;
}


.facilities_wrap .fac_img {
  width: 33.333%;
  padding: 10px;
  text-align: center;
  vertical-align: top;
}

.facilities_wrap .i-figure_caption {
  display: flex;
  flex-direction: column;
  /*  min-width: 270px;*/
  /*
  display: table-caption;
  caption-side: bottom;
*/
  width: 100%;
  font-size: 0.8em;
  font-size: 18px;
  text-align: center;
}

.figure_font_wh .i-figure_caption {
  color: #fff;
}



.facilities_wrap .i-figure_caption span {
  font-size: 14px;
}

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

  .facilities_wrap {
    width: 90%;
    max-width: 90%;
    text-align: left;
    margin: 0 auto;
    justify-content: flex-start;

  }

  .facilities_wrap .fac_img {
    width: 50%;
    padding: 1%;
  }
}



/*member 過去一覧年度*/

.mem_year_wrap {
  width: 100%;
  max-width: 440px;
  text-align: left;
  margin: 0 auto;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}

.mem_year_wrap .year_img {
  width: 25%;
  padding: 10px;
  text-align: center;
}

.mem_year_wrap .year_img img {
  width: 100%;
}


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

  .mem_year_wrap {
    width: 90%;
    max-width: 78%;
    text-align: left;
    margin: 0 auto;
    justify-content: flex-start;
  }

  .mem_year_wrap .year_img {
    width: 33.333%;
    padding: 1%;
  }
}



/*イベント一覧　リスト*/

.row_wrap {
  display: flex;
  margin-left: -20px;
}


.col_in {
  /*  width: 25%;*/
  /*  width: 50%;*/
  width: 100%;
  margin-left: 20px;
  border: 1px solid #ccc;
  padding: 0px;
  text-align: center;
  background: #fff;
}


@media screen and (max-width: 640px) {
  .row_wrap {
    flex-wrap: wrap;
    margin-left: 0px;
  }

  .col_in {
    margin-left: 0px;
    margin-bottom: 10px;
  }

  .col-sm-50 {
    width: calc(50% - 20px);
  }

  .col-sm-40 {
    width: calc(40% - 20px);
  }

  .col-sm-33 {
    width: calc(33.33333333% - 20px);
  }

  .col-sm-20 {
    width: calc(20% - 20px);
  }

  .col-sm-10 {
    width: calc(10% - 20px);
  }

  .row-sm-blocks-2 > .col_in {
    width: calc((100% / 2) - 20px);
  }

  .row-sm-blocks-3 > .col_in {
    width: calc((100% / 3) - 20px);
  }

  .row-sm-blocks-4 > .col_in {
    width: calc((100% / 4) - 20px);
  }
}



.row {
  width: 100%;

}

.row:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}

.col {
  width: 25%;
  float: left;
  /*  border: 1px solid #ccc;*/
  padding: 3px 0;
  margin: 4px 0;

}

.col_btn {
  width: 96%;
  margin: 0px auto;
  /*  background: #ccc;*/
  border: 1px solid #ccc;
  box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.4);
  padding: 0px 5px 0px 26px;
  position: relative;

}


.col_btn a {
  text-decoration: none;
  display: block;
  width: 100%;
  color: #333;
  padding: 10px 10px;

}


.col_btn a:before {

  content: '';
  width: 6px;
  height: 6px;
  border: 0px;
  border-top: solid 2px #666;
  border-right: solid 2px #666;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  left: 6px;
  margin-top: -5px;
}


@media screen and (max-width: 640px) {
  .col {
    width: 50%;
    margin-bottom: 10px;
  }

}

/*top menu*/

.top_flex_img {
  display: flex;
  flex-direction: row;
  width: 100%;

}

.top_flex_img div {
  width: 20%;
  position: relative;
}

.top_flex_img img {
  width: 100%;

}

.top_flex_img div:hover:after {
  content: url(/common/img/mainmenu_on.png);
  display: block;
  position: absolute;
  top: 40%;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 26px;
  line-height: 30px;
  text-align: center;
}




@media screen and (max-width: 640px) {
  .top_flex_img {
    display: flex;
    flex-direction: column;
  }

  .top_flex_img a {
    width: 100%;
  }


}


/*group menu*/

.group_flex_img {
  display: flex;
  flex-direction: row;
  width: 100%;
  flex-wrap: wrap;
}

.group_flex_img div {
  width: 25%;
  position: relative;
}

.group_flex_img img {
  width: 100%;
}

.group_flex_img div:hover:after {
  content: url(/common/img/group/arrow_down.png);
  display: block;
  position: absolute;
  top: 50%;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 26px;
  line-height: 30px;
  text-align: center;
}

.group_flex_img div:last-child:hover:after {
  content: "";
}


@media screen and (max-width: 640px) {
  .group_flex_img {
    display: flex;
    flex-direction: row;
  }

  .group_flex_img div {
    width: 50%;
    position: relative;
  }


  .group_flex_img div:hover:after {
    content: "";
  }



}




.row_image {
  width: 100%;
  margin-bottom: 20px;
}

.row_image:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}


.row_image_wrap {
  float: left;
  border: 1px solid #ccc;
  padding: 6px;
  margin: 4px 0;
}

/*pc2 sp2*/

.img_wrap22 {
  width: calc(100% / 2);
}

/*pc2 sp1*/

.img_wrap21 {
  width: calc(100% / 2);
}


/*pc3 sp1*/

.img_wrap31 {
  width: calc(100% / 3);
}

.img_wrap32 {
  width: calc(100% / 3);
}


/*pc4 sp1*/

.img_wrap41 {
  width: calc(100% / 4);
}

/*pc4 sp2*/

.img_wrap42 {
  width: calc(100% / 4);
}

.img_wrap33 {
  width: calc(100% / 3);
}

/*pc5 sp1*/

.img_wrap51 img {
  width: 20%;
}



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

  .img_wrap21,
  .img_wrap31,
  .img_wrap41 {
    width: 100%;
  }

  /*pc4 sp2*/
  .img_wrap32,
  .img_wrap42 {
    width: calc(100% / 2);
  }
}

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

【画像】+テキスト　横並び　

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

.txt_wrap {
  display: flex;
  flex-direction: row;
  margin: 10px 0;
}

.txt_wrap_reverce {
  display: flex;
  flex-direction: row-reverse;
}


.txt_wrap_reverce .col_left,
.txt_wrap .col_left {
  width: 30%;
}

.txt_wrap .col_left_medium {
  width: 50%;
}

.txt_wrap .col_left_large {
  width: 60%;
}

.txt_wrap .col_left,
.txt_wrap .col_left_large {
  margin-right: 10px;
}


.txt_wrap_reverce .col_left,
.txt_wrap_reverce .col_left_large {
  margin-left: 10px;
  ;
}


.txt_wrap_reverce .i_figure,
.txt_wrap .i_figure {
  margin: 0 auto 10px;
}


.txt_wrap_reverce .col_right,
.txt_wrap .col_right {
  width: 70%;
  padding: 10px;
}

/*col_left_largeの時*/

.txt_wrap .col_right_medium {
  width: 50%;
  padding: 10px;
}


.txt_wrap .col_right_large {
  width: 40%;
  padding: 10px;
}


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

  .txt_wrap_reverce,
  .txt_wrap {
    flex-direction: column;
  }

  .txt_wrap_reverce .col_left,
  .txt_wrap .col_left {
    width: 100%;
    margin: 0 auto;
    text-align: center;
  }


  .txt_wrap_reverce .i_figure,
  .txt_wrap .i_figure {
    display: table;
    border: 1px solid #ccc;
  }

  .txt_wrap_reverce .i-figure_caption,
  .txt_wrap .i-figure_caption {
    /*    width: 90%;*/
    min-width: 240px;
    display: table-caption;
    caption-side: bottom;
    font-size: 0.8em;
    width: 100%;
  }


  .txt_wrap_reverce .col_left img,
  .txt_wrap .col_left img {
    min-width: 240px;
    width: 100%;
  }

  .txt_wrap_reverce .col_right,
  .txt_wrap .col_right {
    width: 100%;
  }

}


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

【画像】+テキスト 回り込み

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

.floted_wrap {
  width: 100%;
  margin: 10px 0;
}

/*---------- 画像左+テキスト -----------*/

.floted_wrap .i_figure_left {
  float: left;
  width: 30%;
  padding: 10px 10px 10px 0px;
  margin-right: 10px;
}

.floted_wrap .i_figure_right {
  float: right;
  width: 30%;
  padding: 10px 0px 10px 10px;
}


.floted_wrap .floted_inner {
  padding-top: 10px;
}


.floted_wrap .i_figure {
  /*  min-width: 200px;*/
  /*  text-align: center;*/
  margin: 0 auto 10px;
  padding: 0;
}

.floted_wrap .i-figure_caption {
  /*1367で設定 上書きで設定*/
  /*
  font-size: 13px;
  font-size: 1.3rem;
  margin: 7px 0 10px;
*/
  margin: 0 auto;
  padding-right: 0;
}

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

  .floted_wrap .i_figure_left,
  .floted_wrap .i_figure_right {
    float: none;
    width: 100%;
    text-align: center;
    margin: 0 auto 14px;
    padding: 0;
  }

  .floted_wrap .i_figure {
    text-align: center;
    margin: 0 auto;
    display: table;
    padding: 0;
    border: 1px solid #666;
  }


  .floted_wrap .i-figure_caption {
    width: 90%;
    min-width: 240px;
    display: table-caption;
    caption-side: bottom;
    font-size: 0.8em;
  }

  .floted_wrap img,
  .floted_wrap img {
    min-width: 240px;
    width: 100%;
  }


  .floted_wrap .i_figure_left p {
    width: 100%;
    text-align: left;
  }

}

ul.btn_grid_2 {
  width: 100%;
  display: flex;
  flex-direction: row;
  flex-flow: wrap;
  justify-content: space-between;
}

.btn_grid_2 li {
  width: calc(96%/2);
  margin: 0 2% 6px 0;
  border: 1px solid #ccc;
  box-sizing: border-box;
  position: relative;
  padding-left: 20px;
}



.btn_grid_2 li > * {
  padding: 0 16px;
  padding: 0 1rem;
}


.btn_grid_2 li a {
  text-decoration: none;
  display: block;
  width: 100%;
  padding: 10px 10px;
  color: #666;
}



.btn_grid_2 li a:before {

  content: '';
  width: 6px;
  height: 6px;
  border: 0px;
  border-top: solid 2px #666;
  border-right: solid 2px #666;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  left: 6px;
  margin-top: -5px;
}



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

box_set

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

.box_wrap_ie {
  max-width: 900px;
  margin: 0 auto;
  text-align: center;
}

.box_wrap ul {
  width: 100%;
  margin: 0;
  padding: 0;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-box;
  display: -webkit-flexbox;
  display: -moz-flexbox;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

ul.box_set_ul li {
  width: 48%;
  list-style: none;
  padding-bottom: 2em;
  ;
  margin-bottom: 0;
  position: relative;
}

ul.box_set_ul li:first-child {
  margin-right: 4%;
}

.box_wrap img {
  width: 100%;
  margin: 0;
  padding: 0;
}

.box_wrap h4 {
  font-weight: bold;
  font-size: 110%;
  text-align: center;
  margin-bottom: 25px;
  margin-top: 20px;
}

.box_wrap p {
  padding: 0 9%;
  font-size: 90%;
}

.box_wrap p.button {
  text-align: center;
  padding: 0;
  display: block;
  position: absolute;
  bottom: 20px;
  width: 100%;
}

.box_wrap p.button a {
  color: #000;
  padding: 2% 22%;
  background: #8a8a8a;
  font-size: 100%;
  display: inline-block;
}

/*box_line*/

.box_blue_line {
  border: 1px solid #B73131;
  padding: 6px 10px;
  width: 220px;
  text-align: center;
  color: #B73131;
}

.ac_ad {
  font-size: 14px;
}


@media screen and (max-width: 670px) {
  .box_wrap ul {
    width: 100%;
    margin: 0;
    text-align: center;
    padding: 0;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    margin-right: -5px;
  }

  .box_wrap li {
    width: 100%;
    margin: 0 auto 10px;
  }


  ul.box_set_ul {
    width: 90%;
    margin: 0 auto;
    text-align: center;
    list-style: none;
    padding-bottom: 2em;
  }

  ul.box_set_ul li {
    width: 100%;
    margin: 0 auto;
    text-align: center;
    list-style: none;
    padding-bottom: 2em;
  }

  .box_blue_line {
    border: 1px solid #B73131;
    padding: 6px 5px;
    /*    width: 150px;*/
    width: 100%;
    text-align: center;
    margin: 0 auto;
  }

  .ac_ad {
    font-size: 14px;
  }

}




/* 画像+（テキスト+ボタン→横並び）*/

.box_wrap2 {}


.box_wrap2 ul {
  width: 100%;
  margin: 0;
  padding: 0;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-box;
  display: -webkit-flexbox;
  display: -moz-flexbox;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  /*  margin-right: -15px;*/
}


.box_wrap2 li {
  /*  width: calc((100% / 3) - 10px);*/
  /*  width: calc((100% / 3) - 7px);*/
  width: 32%;
  list-style: none;
  padding-bottom: 8.5rem;
  margin-bottom: 0px;
  position: relative;
  background: #ccc;
  /*右に10px 余白*/
  margin: 0 0 16px 0px;
}

/*2,5,8..の左右に余白*/

.box_wrap2 li:nth-child(3n-1) {
  /*  margin: 0 0% 0;*/
  margin: 0 2% 16px;
}

/*

.box_wrap2 li:nth-child(3n-2) {
    margin: 0 16% 0;
  margin-right: 10px;
}
*/

.box_set_001 img {
  width: 100%;
  margin: 0;
  padding: 0;
}

/*read more のボタン設定*/

.box_wrap2 p {
  padding: 0 9%;
  font-size: 90%;
}

.box_wrap2 p.button {
  text-align: center;
  padding: 0;
  display: block;
  position: absolute;
  bottom: 20px;
  width: 100%;
}

.box_wrap2 p.button a {
  color: #000;
  padding: 2% 22%;
  background: #8a8a8a;
  font-size: 100%;
  display: inline-block;
}


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




  /*pc3 → sp1*/
  .box_wrap2 ul {
    width: 100%;
    margin: 0;
    /*  margin-left: -20px;*/
    padding: 0;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-box;
    display: -webkit-flexbox;
    display: -moz-flexbox;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: flex;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -5px;
  }

  .box_wrap2 li {
    width: 100%;
    margin: 0 auto 10px;
  }

  .box_wrap2 li:nth-child(3n-1) {
    margin: 0 0% 10px;
  }

}


/*画像+（テキスト+ボタン→横並び）*/

.box_wrap3 {}

.box_wrap3 ul {
  width: 100%;
  margin: 24px 0;
  padding: 0;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-box;
  display: -webkit-flexbox;
  display: -moz-flexbox;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.box_wrap3 li {
  width: 32%;
  background: #fff;
  list-style: none;
  /*  padding-bottom: 8.5rem;*/
  /*入る文字が多い時はここで調整*/
  padding-bottom: 6.0rem;
  margin-bottom: 0px;
  position: relative;
  /*右に10px 余白*/
  margin: 0 0 16px 0px;
}

/*panel*/

.l-panel li {
  background: #ccc;
}

/*2,5,8..の左右に余白*/

.box_wrap3 li:nth-child(3n-1) {
  margin: 0 2% 16px;
}

.box_set_001 img {
  width: 100%;
  margin: 0 0 10px 0;
  padding: 0;
}


/*read more のボタン設定*/

.box_wrap3 p {
  padding: 0 0 0 2px;
  margin: 0;
  /*
  padding: 2% 2%;
  font-size: 90%;
*/
}

.box_wrap3 p.midasi {
  position: absolute;
  left: 5px;
  display: block;
  width: 70%;
}

.box_wrap3 p.button {
  text-align: center;
  padding: 0;
  display: block;
  position: absolute;
  right: 0px;
  bottom: 36px;
  white-space: nowrap;

  /*これがないと縦真ん中に配置される*/
  margin: 0;
}

.box_wrap3 p.button a {
  padding: 4% 12%;
  background: #999;
  color: #fff;
  text-decoration: none;
  font-size: 80%;
  display: inline-block;
  width: 60px;
}


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

  /*pc3 → sp1*/
  .box_wrap3 ul {
    width: 100%;
    margin: 10px 0;
    /*  margin-left: -20px;*/
    padding: 0;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-box;
    display: -webkit-flexbox;
    display: -moz-flexbox;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: flex;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -5px;
  }

  .box_wrap3 li {
    width: 100%;
    margin: 0 auto 10px;
  }

  .box_wrap3 li:nth-child(3n-1) {
    margin: 0 0% 10px;
  }

}

/*sp end*/

/*footer バナー*/

.banner_wrap {
  width: 100%;
  margin-bottom: 20px;
  text-align: left;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}

.banner_wrap_inner {
  padding: 6px 3px 6px 3px;
  margin: 4px 0;
  text-align: left;
  display: table-cell;
}

/*2colum-form*/

.form_col_wrap {
  display: flex;
}

.form_col_main {
  width: 500px;
  padding-right: 10px;
}

.form_col_main img {
  width: 380px;
}


.form_col_side {
  flex: 1;
  margin-left: auto;
  max-width: 400px;
}

@media screen and (max-width: 800px) {
  .form_col_wrap {
    flex-direction: column-reverse;
  }

  .form_col_main {
    width: 100%;
    padding: 10px;
  }

  .form_col_side {
    width: 100%;
    margin: 0 auto;
  }
}

@media screen and (max-width: 640px) {
  .form_col_wrap {
    flex-direction: column-reverse;
  }

  .form_col_main {
    /*    flex: 1;*/
    padding: 10px;
    margin: 0 auto;
  }

  .form_col_side {
    width: 100%;
    margin: 0 auto;
  }

  .form_col_main img {
    width: 96%;
  }

}

/*2colum*/

.col_2_wrap {
  display: flex;
}

.col_main {
  flex: 1;
  padding-right: 30px;
}

.col_side {
  width: 200px;
}

.col_side .side_menu {
  width: 200px;
}




.col_side_midasi {
  text-align: center;
  padding: 10px;
  margin: 0;
  background: #F5F6F6;
  border: 1px solid #BBBCBC;
}

.col_side_ul {
  margin: 0 0 30px 0;
}

.col_side_ul li {
  text-align: left;
  padding: 10px;
  border-bottom: 1px solid #BBBCBC;
}

.select-box01 {
  display: none !important
}


@media screen and (max-width: 640px) {
  .col_2_wrap {
    flex-direction: column;
  }

  .col_main {
    flex: 1;
    padding-right: 0px;
  }

  .col_side {
    width: 100%;
    margin: 0 auto;
  }

  .select-box01 {
    display: block !important;
    margin-bottom: 10px;
    margin-top: 25px;
  }

  .select-box01 select {
    width: 100%;
    padding: 16px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: 1px solid #999;
    background: #fff;
    background: url(/common/img/down_arrow.svg) 96% 50% no-repeat;
    background-size: 14px, 100%;
  }

}


.pager {
  display: flex;
  margin-top: 3em;
  padding: 10px 0;
  /*  border-bottom: 1px solid #666;*/
  border-top: 1px solid #666;
}


.pagination {
  display: flex;
  margin-top: 3em;
  padding: 10px 0;
}



.pager_btn {
  width: 14px;
  padding-top: 4px;
}

.pager_txt_btn {
  width: 60px;
  padding-top: 4px;
  white-space: nowrap;
}

.pager_txt_btn a,
.pager_btn a {
  padding: 2px 0;
}

.pager-list_1 {
  text-align: center;
}

.pager-list_1,
.pager-list,
.tags {
  margin: 0 -10px;
}

.pager-list_1 li,
.pager-list li,
.tags li {
  display: inline-block;
  margin: 0 6px;
  list-style: none;
}

.pager-list_1 li a,
.pager-list li a,
.pagination li a {
  text-decoration: none;
  color: #112961;
  padding: 2px 8px;
  display: block;
}

.pager-list_1 li a:hover,
.pager-list li a:hover,
.tags li a:hover {
  border: 1px solid #112961;
  border-radius: 100px;
  background: #112961;
  color: #fff;
}

.pager-list li a.active,
.tags li.active a {
  border: 1px solid #112961;
  border-radius: 100px;
  background: #112961;
  color: #fff;

}

.pager-list_1 li a.active {
  border-right: 1px solid #666;
  border-left: 1px solid #666;



}


.pager .pager-list_1,
.pager .pager-list,
.pagination .tags {
  margin: 0 auto;
}



@media (min-width: 641px) {
  #footerFloatingMenu {
    display: none;
  }
}

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

  #footerFloatingMenu {
    display: block;
    width: 100%;
    position: fixed;
    left: 0px;
    bottom: 0px;
    z-index: 9999;
    text-align: center;
    /*    padding: 0 auto;*/
    padding: 0;
    background: #fff;
    margin: 0 auto;
  }

  .ftfloat_bd_top {
    border-top: 1px solid #999;
  }

  #footerFloatingMenu img {
    width: 44%;
    padding: 10px 0;
    margin: 0 2px;
    display: float;
  }
}

/*medhia ボタン*/

.media_details {
  width: 80%;
  margin: 0 auto;
  text-align: center;
}

.media_details img {
  width: 100%;
}

/*btn*/

.sbtn p.sg_button {
  margin: 40px auto;

}

.sbtn p {
  padding: 0 2%;
  font-size: 100%;

}

.sbtn p.sg_button {
  padding: 0;
  display: block;
  width: 300px;
  text-align: center;
}


.sg_small p.sg_button {
  width: 50%;
}

.sg_small_left p.sg_button {
  width: 50%;
  margin: 20px 0;
  text-align: center;
}

.sg_mid p.sg_button {
  width: 75%;
}

.sg_mid_left p.sg_button {
  width: 75%;
  margin: 20px 0;
  text-align: center;
}

.sg_mid2 p.sg_button {
  width: 85%;
}

.sg_mid2_left p.sg_button {
  width: 85%;
  margin: 20px 0;
  text-align: center;
}

.sbtn p.sg_button a {
  width: 100%;
  color: #000;
  padding: 4% 0;
  background: #fff;
  border: 1px solid #999;
  border-radius: 50px;
  font-size: 100%;
  display: inline-block;
  text-decoration: none;
}

.sbtn p.sg_button a img {
  width: 16px;
  vertical-align: middle;
  margin-left: 12px;
}

@media screen and (max-width:640px) {
  .sbtn p.sg_button {}

  .sg_small p.sg_button,
  .sg_small_left p.sg_button,
  .sg_mid p.sg_button,
  .sg_mid_left p.sg_button,
  .sg_mid2 p.sg_button,
  .sg_mid2_left p.sg_button,
  .sbtn p.sg_button {
    width: 80%;
  }
}

/*会員*/

.member_wrap {
  width: 90%;
  margin: 46px auto;
  text-align: center;
  table-layout: fixed;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border-top: 1px solid #cfcfcf;
  background: #fff;
  padding: 26px 10px;
}

.schedule_wrap {
  width: 90%;
  margin: 46px auto;
  text-align: center;
  table-layout: fixed;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border-top: 1px solid #cfcfcf;
  background: #fff;
  padding: 26px 10px;
}



.result_wrap {
  width: 98%;
  margin: 30px auto 46px;
  text-align: center;
  table-layout: fixed;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border-top: 1px solid #cfcfcf;
  background: #fff;
  padding: 26px 20px;
}


/*group wrap*/

.group_logo {
  margin: 40px auto 40px;
  text-align: center;
}

.group_logo img {
  width: 50%;
  height: auto;
}

.group_wrap {
  width: 98%;
  margin: 30px auto 46px;
  text-align: center;
  table-layout: fixed;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border-top: 1px solid #cfcfcf;
  background: #B73131;
  padding: 0 0 20px 0;
  color: #fff;
}

.group_wrap .group_title {
  display: block;
  width: 100%;
  background: #a8d2f8;
  color: #B73131;
  padding: 10px 0;
  border-bottom: 4px solid #beb26a;
  font-size: 22px;
}

.group_wrap p {
  width: 90%;
  margin: 0 auto;
  padding: 10px 0;
}

.group_wrap img {
  width: 90%;
  margin: 0 auto;
  text-align: center;
}

.group_add {
  padding-left: 2em;
}


@media screen and (max-width:640px) {
  .group_logo img {
    width: 80%;
    height: auto;
  }

  .group_wrap {
    width: 90%;
    margin: 30px auto 46px;
  }

  .group_wrap .group_title {
    padding: 10px 0;
    font-size: 16px;
  }

  .group_wrap img {
    width: 90%;
    margin: 0 auto;
    text-align: center;
  }

  .group_add {
    padding-left: 0px;
  }
}

/* --------------------
utility.css start
----------------------- */

.u-mt0 {
  margin-top: 0 !important
}

.u-mr0 {
  margin-right: 0 !important
}

.u-mb0 {
  margin-bottom: 0 !important
}

.u-ml0 {
  margin-left: 0 !important
}

.u-mt5 {
  margin-top: 5px !important
}

.u-mr5 {
  margin-right: 5px !important
}

.u-mb5 {
  margin-bottom: 5px !important
}

.u-ml5 {
  margin-left: 5px !important
}

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

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

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

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

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

.u-mr15 {
  margin-right: 15px !important
}

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

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

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

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

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

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

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

.u-mr25 {
  margin-right: 25px !important
}

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

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

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

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

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

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

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

.u-mr35 {
  margin-right: 35px !important
}

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

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

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

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

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

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

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

.u-mr45 {
  margin-right: 45px !important
}

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

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

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

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

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

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

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

.u-mr55 {
  margin-right: 55px !important
}

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

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

.u-mt60 {
  margin-top: 60px !important
}

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

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

.u-ml60 {
  margin-left: 60px !important
}

.u-mb-60 {
  margin-bottom: -60px !important
}

.u-mt65 {
  margin-top: 65px !important
}

.u-mr65 {
  margin-right: 65px !important
}

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

.u-ml65 {
  margin-left: 65px !important
}

.u-mt70 {
  margin-top: 70px !important
}

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

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

.u-ml70 {
  margin-left: 70px !important
}

.u-mt75 {
  margin-top: 75px !important
}

.u-mr75 {
  margin-right: 75px !important
}

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

.u-ml75 {
  margin-left: 75px !important
}

.u-mt80 {
  margin-top: 80px !important
}

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

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

.u-ml80 {
  margin-left: 80px !important
}

.u-mt85 {
  margin-top: 85px !important
}

.u-mr85 {
  margin-right: 85px !important
}

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

.u-ml85 {
  margin-left: 85px !important
}

.u-mt90 {
  margin-top: 90px !important
}

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

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

.u-ml90 {
  margin-left: 90px !important
}

.u-mt95 {
  margin-top: 95px !important
}

.u-mr95 {
  margin-right: 95px !important
}

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

.u-ml95 {
  margin-left: 95px !important
}

.u-mt100 {
  margin-top: 100px !important
}

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

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

.u-ml100 {
  margin-left: 100px !important
}

.c-btn--center,
.c-btn--right {
  margin-left: auto
}

.u-pt0 {
  padding-top: 0 !important
}

.u-pr0 {
  padding-right: 0 !important
}

.u-pb0 {
  padding-bottom: 0 !important
}

.u-pl0 {
  padding-left: 0 !important
}

.u-pt5 {
  padding-top: 5px !important
}

.u-pr5 {
  padding-right: 5px !important
}

.u-pb5 {
  padding-bottom: 5px !important
}

.u-pl5 {
  padding-left: 5px !important
}

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

.u-pr10 {
  padding-right: 10px !important
}

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

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

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

.u-pr15 {
  padding-right: 15px !important
}

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

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

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

.u-pr20 {
  padding-right: 20px !important
}

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

.u-pb21 {
  padding-bottom: 21px !important
}

.u-pb22 {
  padding-bottom: 22px !important
}

.u-pb23 {
  padding-bottom: 23px !important
}

.u-pb24 {
  padding-bottom: 24px !important
}


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

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

.u-pr25 {
  padding-right: 25px !important
}

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

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

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

.u-pr30 {
  padding-right: 30px !important
}

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

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

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

.u-pr35 {
  padding-right: 35px !important
}

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

.u-pl35 {
  padding-left: 35px !important
}

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

.u-pr40 {
  padding-right: 40px !important
}

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

.u-pl40 {
  padding-left: 40px !important
}

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

.u-pr45 {
  padding-right: 45px !important
}

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

.u-pl45 {
  padding-left: 45px !important
}

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

.u-pr50 {
  padding-right: 50px !important
}

.u-pb50 {
  padding-bottom: 50px !important
}

.u-pl50 {
  padding-left: 50px !important
}

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

.u-pr55 {
  padding-right: 55px !important
}

.u-pb55 {
  padding-bottom: 55px !important
}

.u-pl55 {
  padding-left: 55px !important
}

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

.u-pr60 {
  padding-right: 60px !important
}

.u-pb60 {
  padding-bottom: 60px !important
}

.u-pl60 {
  padding-left: 60px !important
}

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

.u-pr65 {
  padding-right: 65px !important
}

.u-pb65 {
  padding-bottom: 65px !important
}

.u-pl65 {
  padding-left: 65px !important
}

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

.u-pr70 {
  padding-right: 70px !important
}

.u-pb70 {
  padding-bottom: 70px !important
}

.u-pl70 {
  padding-left: 70px !important
}

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

.u-pr75 {
  padding-right: 75px !important
}

.u-pb75 {
  padding-bottom: 75px !important
}

.u-pl75 {
  padding-left: 75px !important
}

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

.u-pr80 {
  padding-right: 80px !important
}

.u-pb80 {
  padding-bottom: 80px !important
}

.u-pl80 {
  padding-left: 80px !important
}

.u-pt85 {
  padding-top: 85px !important
}

.u-pr85 {
  padding-right: 85px !important
}

.u-pb85 {
  padding-bottom: 85px !important
}

.u-pl85 {
  padding-left: 85px !important
}

.u-pt90 {
  padding-top: 90px !important
}

.u-pr90 {
  padding-right: 90px !important
}

.u-pb90 {
  padding-bottom: 90px !important
}

.u-pl90 {
  padding-left: 90px !important
}

.u-pt95 {
  padding-top: 95px !important
}

.u-pr95 {
  padding-right: 95px !important
}

.u-pb95 {
  padding-bottom: 95px !important
}

.u-pl95 {
  padding-left: 95px !important
}

.u-pt100 {
  padding-top: 100px !important
}

.u-pr100 {
  padding-right: 100px !important
}

.u-pb100 {
  padding-bottom: 100px !important
}

.u-pl100 {
  padding-left: 100px !important
}

.u-wAuto {
  width: auto !important
}

.u-w5 {
  width: 5% !important
}

.u-w10 {
  width: 10% !important
}

.u-w15 {
  width: 15% !important
}

.u-w20 {
  width: 20% !important
}

.u-w25 {
  width: 25% !important
}

.u-w30 {
  width: 30% !important
}

.u-w35 {
  width: 35% !important
}

.u-w40 {
  width: 40% !important
}

.u-w45 {
  width: 45% !important
}

.u-w50 {
  width: 50% !important
}

.u-w55 {
  width: 55% !important
}

.u-w60 {
  width: 60% !important
}

.u-w65 {
  width: 65% !important
}

.u-w70 {
  width: 70% !important
}

.u-w75 {
  width: 75% !important
}

.u-w80 {
  width: 80% !important
}

.u-w85 {
  width: 85% !important
}

.u-w90 {
  width: 90% !important
}

.u-w95 {
  width: 95% !important
}

.u-w100 {
  width: 100% !important
}

.u-fs11 {
  font-size: 11px !important;
  font-size: 1.1rem
}

.u-fs12 {
  font-size: 12px !important;
  font-size: 1.2rem
}

.u-fs13 {
  font-size: 13px !important;
  font-size: 1.3rem
}

.u-fs14 {
  font-size: 14px !important;
  font-size: 1.4rem
}

.u-fs15 {
  font-size: 15px !important;
  font-size: 1.5rem
}

.u-fs16 {
  font-size: 16px !important;
  font-size: 1.6rem
}

.u-fs17 {
  font-size: 17px !important;
  font-size: 1.7rem
}

.u-fs18 {
  font-size: 18px !important;
  font-size: 1.8rem
}

.u-fs19 {
  font-size: 19px !important;
  font-size: 1.9rem
}

.u-fs20 {
  font-size: 20px !important;
  font-size: 2rem
}

.u-fs21 {
  font-size: 21px !important;
  font-size: 2.1rem
}

.u-fs22 {
  font-size: 22px !important;
  font-size: 2.2rem
}

.u-fs23 {
  font-size: 23px !important;
  font-size: 2.3rem
}

.u-fs24 {
  font-size: 24px !important;
  font-size: 2.4rem
}

.u-fs25 {
  font-size: 25px !important;
  font-size: 2.5rem
}

.u-fs26 {
  font-size: 26px !important;
  font-size: 2.6rem
}

.u-fs27 {
  font-size: 27px !important;
  font-size: 2.7rem
}

.u-fs28 {
  font-size: 28px !important;
  font-size: 2.8rem
}

.u-fs29 {
  font-size: 29px !important;
  font-size: 2.9rem
}

.u-fs30 {
  font-size: 30px !important;
  font-size: 3rem
}

.u-fs31 {
  font-size: 31px !important;
  font-size: 3.1rem
}

.u-fs32 {
  font-size: 32px !important;
  font-size: 3.2rem
}

.u-fs33 {
  font-size: 33px !important;
  font-size: 3.3rem
}

.u-fs34 {
  font-size: 34px !important;
  font-size: 3.4rem
}

.u-fs35 {
  font-size: 35px !important;
  font-size: 3.5rem
}

.u-fs36 {
  font-size: 36px !important;
  font-size: 3.6rem
}

.u-fs37 {
  font-size: 37px !important;
  font-size: 3.7rem
}

.u-fs38 {
  font-size: 38px !important;
  font-size: 3.8rem
}

.u-fs39 {
  font-size: 39px !important;
  font-size: 3.9rem
}

.u-fs40 {
  font-size: 40px !important;
  font-size: 4.0rem
}

@media screen and (min-width: 640px) {
  .u-fs10pc {
    font-size: 10px !important;
  }

  .u-fs11pc {
    font-size: 11px !important;
  }

  .u-fs12pc {
    font-size: 12px !important;
  }

  .u-fs13pc {
    font-size: 13px !important;
  }

  .u-fs14pc {
    font-size: 14px !important;
  }

  .u-fs15pc {
    font-size: 15px !important;
  }

  .u-fs16pc {
    font-size: 16px !important;
  }

  .u-fs17pc {
    font-size: 17px !important;
  }

  .u-fs18pc {
    font-size: 18px !important;
  }

  .u-fs19pc {
    font-size: 19px !important;
  }

  .u-f-20pc {
    font-size: 20px !important;
  }

  .u-fs25pc {
    font-size: 25px !important;
  }

  .u-fs30pc {
    font-size: 30px !important;
  }

  .u-fs35pc {
    font-size: 35px !important;
  }

  .u-fs40pc {
    font-size: 40px !important;
  }
}

@media screen and (max-width: 640px) {
  .u-fs1sp {
    font-size: 1px !important;
  }

  .u-fs2sp {
    font-size: 2px !important;
  }

  .u-fs5sp {
    font-size: 5px !important;
  }

  .u-fs10sp {
    font-size: 10px !important;
  }

  .u-fs11sp {
    font-size: 11px !important;
  }

  .u-fs12sp {
    font-size: 12px !important;
  }

  .u-fs13sp {
    font-size: 13px !important;
  }

  .u-fs14sp {
    font-size: 14px !important;
  }

  .u-fs15sp {
    font-size: 15px !important;
  }

  .u-fs16sp {
    font-size: 16px !important;
  }

  .u-fs17sp {
    font-size: 17px !important;
  }

  .u-fs18sp {
    font-size: 18px !important;
  }

  .u-fs19sp {
    font-size: 19px !important;
  }

  .u-fs20sp {
    font-size: 20px !important;
  }

  .u-fs21sp {
    font-size: 21px !important;
  }

  .u-fs22sp {
    font-size: 22px !important;
  }

  .u-fs23sp {
    font-size: 23px !important;
  }

  .u-fs24sp {
    font-size: 24px !important;
  }

  .u-fs25sp {
    font-size: 25px !important;
  }

  .u-fs30sp {
    font-size: 30px !important;
  }

  .u-fs35sp {
    font-size: 35px !important;
  }

  .u-fs40sp {
    font-size: 40px !important;
  }
}

@media screen and (max-width: 640px) {
  .u-mt0sp {
    margin-top: 0 !important
  }

  .u-mt10sp {
    margin-top: 10px !important
  }

  .u-mt20sp {
    margin-top: 20px !important
  }


  .u-mb0sp {
    margin-bottom: 0 !important
  }

  .u-mb10sp {
    margin-bottom: 10px !important
  }


}

.u-textbold {
  font-weight: 700 !important
}

.u-red {
  color: #c00
}

.u-orange {
  color: orangered;
}

.u-white {
  color: #fff;
}

.u-darkblue {
  color: #4A567D;
}

.u-lh4 {
  line-height: 1.4em;
}

.u-lh18 {
  line-height: 1.8em !important;
}

.u-lh20 {
  line-height: 2.0em !important;
}

.u-lh22 {
  line-height: 2.2em !important;
}


.u-clear {
  clear: both !important
}

.u-ac {
  text-align: center !important
}

.u-mac {
  text-align: center !important;
  margin: 0 auto;
}

.u-ar {
  text-align: right !important
}

.u-al {
  text-align: left !important
}

/*sp*/

@media screen and (max-width:640px) {
  .u-ac_sp {
    text-align: center !important
  }

  .u-ar_sp {
    text-align: right !important
  }

  .u-al_sp {
    text-align: left !important
  }
}


.c-btn,
.c-figure {
  text-align: center
}

.u-vm {
  vertical-align: middle !important
}

.u-vt {
  vertical-align: top !important
}

.u-vb {
  vertical-align: bottom !important
}

.border_btm {
  border-bottom: 1px solid #ccc !important
}

/*mscp*/

/*青文字リンク下線なし*/

.u-link_blue a {

  color: #024cc6 !important;
  text-decoration: none;
}

a.u-link_blue {
  color: #024cc6 !important;
  text-decoration: none;
}


/*青文字リンク下線あり*/

.u-link_blue_border a {
  color: #024cc6 !important;
}

a.u-link_blue_border {
  color: #024cc6 !important;
}




.u-isSP {
  display: none !important
}

.u-isSP850 {
  display: none !important
}


@media screen and (max-width:640px) {
  .u-isPC {
    display: none !important
  }

  .u-isSP {
    display: inline-block !important
  }

}


@media screen and (max-width:850px) {
  .u-isPC850 {
    display: none !important
  }

  .u-isSP850 {
    display: inline-block !important
  }

}




@media screen and (max-width:690px) {
  .u-isPC_gnav {
    display: none !important
  }

  .u-isSP_gnav {
    display: inline-block !important
  }

}


/* --------------------
utility.css end
----------------------- */

/* --------------------
sp_show.css start
----------------------- */

.r_table {
  width: 90%;
  margin: 0 auto;
  text-align: center;
}

/* ===========================
basic
=============================*/

img {
  border: 0px;
}

.p_icon_ex {
  list-style: none;
  margin: 0;
  padding: 0;
}

.p_icon_ex li {
  float: left;
  margin-right: 5px;
}

/* ===========================
table
=============================*/

.plan_sp {
  width: 100%;
  border-collapse: collapse;
	color:#000;
}

.plan_sp th {
  border: 1px #CCCCCC solid;
  padding: 5px 5px 5px 28px;
  font-size: 15px;
  text-align: left;
  line-height: 18px;
  background: #EEEEEE url(//www.valuegolf.co.jp/hp_script/images/check.gif) no-repeat left center;
  color: #262525;
}

.plan_sp td {
  border: 1px #CCCCCC solid;
  padding: 5px;
  font-size: 12px;
  line-height: 150%;
  background: #FFFFFF;
}

.plan_sp .p_pr {
  text-align: center;
  width: 35px;
}

.plan_sp .p_info {
  text-align: left;
}

.plan_sp .s_price {
  width: 100px;
  font-size: 18px;
  color: #F00;
  font-weight: bold;
  text-align: center;
}

.plan_sp .p_day {
  text-align: center;
  width: 90px;
}

.plan_sp .s_link {
  text-align: center;
  width: 65px;
}

.plan_sp .p_icon {
  text-align: center;
}

.plan_sp .p_icon img {
  margin-left: 2px;
}

.plan_sp .p_day_s {
  text-align: center;
  width: 50px;
}

.plan_sp .s_price_s {
  width: 70px;
  color: #F00;
  font-weight: bold;
  text-align: center;
}

.plan_sp a {
  color: #03619d;
}

.plan_sp a:hover {
  color: #F00;
}

.one_h_entry {
  width: 90%;
  margin: 30px auto 10px;
  border-collapse: collapse;
}

.one_h_entry th {
  border: 1px #CCCCCC solid;
  padding: 5px 5px 5px 28px;
  font-size: 15px;
  text-align: left;
  line-height: 18px;
  background: #f6f5f4 url(//www.valuegolf.co.jp/hp_script/images/check02.gif) no-repeat left center;
  color: #592a04;
}

.one_h_entry td {
  border: 1px #CCCCCC solid;
  padding: 5px;
  font-size: 12px;
  line-height: 150%;
  background: #FFFFFF;
  color: #000;
}

.one_h_entry .next td {
  background: #f6f2e4;
}

.one_h_entry .one_p_day {
  text-align: center;
  width: 50px;
}

.one_h_entry .one_p_info {
  text-align: left;
}

.one_h_entry .one_start {
  text-align: center;
}

.one_h_entry .one_price {
  text-align: center;
  width: 63px;
}

.one_h_entry .one_ {
  text-align: center;
  width: 55px;
}

.one_h_entry .one_icon {
  text-align: left;
  width: 81px;
}


.one_h_entry .one_icon_b {
  text-align: left;
  width: 125px;
}

.one_h_entry .one_link {
  text-align: center;
}

.one_h_entry a {
  color: #03619d;
}

.one_h_entry a:hover {
  color: #F00;
}


/* ===========================
icon
=============================*/

.p_sub_title {
  background: #eae7d9;
  padding: 5px;
}

.fcart_icon {
  background: url(//www.valuegolf.co.jp/hp_script/images/icon/4cart.png) no-repeat left center;
  padding: 5px 0 5px 22px;
}

.ecart_icon {
  background: url(//www.valuegolf.co.jp/hp_script/images/icon/ecart.png) no-repeat left center;
  padding: 5px 0 5px 22px;
}

.wcart_icon {
  background: url(//www.valuegolf.co.jp/hp_script/images/icon/wcart.png) no-repeat left center;
  padding: 5px 0 5px 22px;
}

.cadi_icon {
  background: url(//www.valuegolf.co.jp/hp_script/images/icon/cadi.png) no-repeat left center;
  padding: 5px 0 5px 22px;
}

.cadi_icon {
  background: url(//www.valuegolf.co.jp/hp_script/images/icon/cadi.png) no-repeat left center;
  padding: 5px 0 5px 22px;
}

.lunch_icon {
  background: url(//www.valuegolf.co.jp/hp_script/images/icon/lunch.png) no-repeat left center;
  padding: 5px 0 5px 22px;
}

.tsam_icon {
  background: url(//www.valuegolf.co.jp/hp_script/images/icon/tsam.png) no-repeat left center;
  padding: 5px 0 5px 22px;
}

.tsam_icon {
  background: url(//www.valuegolf.co.jp/hp_script/images/icon/2sam.png) no-repeat left center;
  padding: 5px 0 5px 22px;
}

.dai_icon {
  background: url(//www.valuegolf.co.jp/hp_script/images/icon/dai.png) no-repeat left center;
  padding: 5px 0 5px 22px;
}

.shou_icon {
  background: url(//www.valuegolf.co.jp/hp_script/images/icon/shou.png) no-repeat left center;
  padding: 5px 0 5px 22px;
}

/* --------------------
sp_show.css end
----------------------- */

/*modal window start*/

.modal-window {
  -webkit-transform: translate(0, 100%);
  -moz-transform: translate(0, 100%);
  -o-transform: translate(0, 100%);
  -ms-transform: translate(0, 100%);
  transform: translate(0, 100%);
  -webkit-transform: translate3d(0, 100%, 0);
  transform: translate3d(0, 100%, 0);
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 999;
  opacity: 0;
  line-height: 1.3;
  display: none\9;
}

.modal-window:target {
  -webkit-transform: translate(0, 0);
  -moz-transform: translate(0, 0);
  -o-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  transform: translate(0, 0);
  opacity: 1;
}

.is-active.modal-window {
  display: block\9;
}

.modal-window:target {
  display: block\9;
}

.modal-window .modal-inner {
  position: absolute;
  top: 20%;
  left: 50%;
  z-index: 20;
  /*  margin-left: -325px;*/
  margin-left: -380px;
  width: 90%;
  max-width: 750px;
  overflow-x: hidden;
  overflow-y: hidden;
  border-radius: 2px;
  background: #fff;
  -webkit-box-shadow: 0 0 30px rgba(0, 0, 0, 0.6);
  box-shadow: 0 0 30px rgba(0, 0, 0, 0.6);
}



@media screen and (max-width: 840px) {
  .modal-window .modal-inner {
    position: absolute;
    top: 20%;
    left: 50%;
    /*  margin-left: -325px;*/
    margin-left: -45%;
    width: 90%;
    max-width: 90%;
    overflow-x: hidden;

  }

}







.modal-window .modal-inner p {
  padding: 20px 20px;
}

.modal-window .modal-close {
  display: block;
  text-indent: -100px;
  overflow: hidden;
}

.modal-window .modal-close:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 10;
  background: url("data:image/png;base64,iVBORw0KG goAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAEElEQVR4 2gEFAPr/AAAAAMwA0QDNTiUx4gAAAABJRU5ErkJggg==");

}

.modal-window .modal-close::after {
  /*
  content: '/f057';

  content: "\f105";
*/
  font-family: 'FontAwesome';
  content: "\f13d";

  position: absolute;
  top: 20px;
  left: 50%;
  z-index: 20;
  margin-left: 285px;
  background: #000;
  border-radius: 2px;
  padding: 20px 8px;
  font-size: 3.2em;
  text-decoration: none;
  text-indent: 0;
}

.modal-window {
  -webkit-transition: opacity 0.4s;
  -o-transition: opacity 0.4s;
  transition: opacity 0.4s;
}

/*modal window end*/
