@charset "UTF-8";
@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
}

/*
@font-face {
  font-family: 'Noto Sans Japanese';
  font-weight: 100;
  font-style: normal;
  src: url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Thin.woff2) format('woff2'), url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Thin.woff) format('woff'), url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Thin.otf) format('opentype')
}

@font-face {
  font-family: 'Noto Sans Japanese';
  font-weight: 200;
  font-style: normal;
  src: url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Light.woff2) format('woff2'), url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Light.woff) format('woff'), url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Light.otf) format('opentype')
}

@font-face {
  font-family: 'Noto Sans Japanese';
  font-weight: 300;
  font-style: normal;
  src: url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-DemiLight.woff2) format('woff2'), url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-DemiLight.woff) format('woff'), url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-DemiLight.otf) format('opentype')
}

@font-face {
  font-family: 'Noto Sans Japanese';
  font-weight: 400;
  font-style: normal;
  src: local('NotoSansJP-Regular.otf'), url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Regular.woff2) format('woff2'), url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Regular.woff) format('woff'), url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Regular.otf) format('opentype')
}

@font-face {
  font-family: 'Noto Sans Japanese';
  font-weight: 500;
  font-style: normal;
  src: url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Medium.woff2) format('woff2'), url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Medium.woff) format('woff'), url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Medium.otf) format('opentype')
}

@font-face {
  font-family: 'Noto Sans Japanese';
  font-weight: 700;
  font-style: normal;
  src: url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Bold.woff2) format('woff2'), url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Bold.woff) format('woff'), url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Bold.otf) format('opentype')
}

@font-face {
  font-family: 'Noto Sans Japanese';
  font-weight: 900;
  font-style: normal;
  src: url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Black.woff2) format('woff2'), url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Black.woff) format('woff'), url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Black.otf) format('opentype')
}
*/

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-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", 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
}

.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
}

@media screen and (max-width:768px) {
  .page_plan img {
    max-width: 50%;
  }
}

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;

}

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
}

table {
  border-spacing: 0;
  border-collapse: collapse
}

html {
  font-size: 62.5%;
}

body {
  /*font: 'メイリオ', Meiryo, '游ゴシック体', YuGothic, '游ゴシック', 'Yu Gothic', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'Noto Sans Japanese', sans-serif;*/
  /*  font-family: 'Noto Serif Japanese', serif;*/
  /*  font-weight: 600;*/
  font-size: 1.8em;
  overflow-x: hidden;
  min-width: 100%;
  color: #333;
  border-top: 4px solid #134089;
  -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
}

button {
  overflow: visible;
  cursor: pointer;
  -webkit-transition: .3s linear;
  transition: .3s linear;
  border: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none
}

.l-gnav_item_link,
.l-header_fontSwitcher_btn a {
  -webkit-transition: .2s linear;
  text-decoration: none
}

a:hover,
button:hover {
  opacity: .7
}

.l-contents {
  padding: 0 10px;
  background: #fff;
}

.l-main {
  width: 100%;
  /*  max-width: 988px;*/
  margin: 0 auto;
  padding: 40px 0 60px;
}

.l-main_top {
  width: 100%;
  /*  max-width: 988px;*/
  margin: 0 auto;
  padding: 10px 0 0px;

}


.l-main_primary {
  float: left;
  width: calc(100% - 276px)
}

.l-main_secondary {
  position: relative;
  float: right;
  width: 236px;
  margin: -80px 0 0
}

@media screen and (max-width:768px) {
  body {
    border: none;
    font-size: 1.6em;
  }

  .l-main_primary,
  .l-main_secondary {
    float: none;
    width: auto
  }

  .l-main {
    padding: 20px 0 30px
  }

}

.l-header {
  padding: 0 10px;
}

.l-header_secondary {
  padding: 0 0px;
}

.main_secondary {
  width: 100%;
}

.main_secondary img {
  width: 100%;
}




.header_img {
  position: relative;
  margin-bottom: 20px;
}

.header_img div {
  position: absolute;
  top: 50%;
  left: 63%;
  -ms-transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  margin: 0;
  padding: 0;
}

.header_img img {
  width: 100%;
}

.headar_title {
  font-size: 39px;
  font-size: 3.9rem;
  font-weight: 500;
  margin: 0px 0 10px;
  padding: 12px 0px;
  width: 100%;
  display: block;
  text-align: center;
}

.headar_title span.side_title {
  display: block;
  font-family: 'Caveat', cursive;
  padding: 0;
  margin: 0;
  line-height: 0.5em;
  color: #50c1a5 !important;
  text-align: center;
  font-weight: 500;
  font-size: 36px;
  font-size: 3.6rem;
}



@media screen and (max-width:768px) {

  .header_img div {
    top: 50%;
    /*    left: 57%;*/
    right: 0;
    width: 50%;
  }


  .headar_title {
    font-size: 20px;
    font-size: 2.0rem;
    font-weight: 500;
    margin: 0px 0 6px;
    padding: 0px 0px;
    text-align: left;
  }

  .headar_title span.side_title {
    line-height: 0.5em;
    font-weight: 500;
    font-size: 22px;
    font-size: 2.2rem;
    text-align: left;
  }


}


.l-header_inner {
  position: relative;
  display: table;
  width: 100%;
  /*  max-width: 988px;*/
  max-width: 1200px;
  margin: 0;
  /*センター解除*/
  /*20180110修正*/
  padding: 0 15px 0;
}

.l-header .head_txt {
  padding: 60px 0 20px 40px;
}

.l-header .head_txt img {
  width: 76%;
  margin-bottom: 60px
}

.l-header_logo {
  font-size: 15px;
  font-size: 1.5rem;
  line-height: 1;
  display: table-cell;
  /*  width: 170px;*/
  width: 210px;
  margin: 0;
  padding: 20px 0;
  vertical-align: middle;
}

.l-header_logo a {
  display: block
}

.header_txt {
  font-size: 14px;
  font-size: 1.4rem;
  padding-left: 3px;
}



.l-header_logo_image {
  margin-top: 6px;
  width: 200px;
  height: auto
}


.l-header_service {
  line-height: 1;
  display: table-cell;
  width: 200px;
  margin: 0;
  padding: 0;
  vertical-align: middle;
}

.l-header_serv_image {
  width: 190px;
  height: auto
}

@media screen and (max-width:768px) {

  .l-header {
    padding: 0;
  }

  .l-header_inner {
    position: relative;
    display: table;
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0 5px 0;
  }

  .l-header_secondary {
    padding: 0;
  }

  .main_secondary img {}



  .l-header .head_txt {
    padding: 40px 0 10px;
    text-align: center;
  }

  .l-header .head_txt img {
    width: 88%;
    margin-bottom: 30px
  }

}

.footer {
  padding: 10px 30px 0;
  background: #333333;
}


}

.footer_sitemap {
  padding: 16px 10px 0;
  background: #333333;

}

.footer_sitemap a {
  text-decoration: none;
  color: #fff
}

.footer_nav {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto 30px;
  /*  max-width: 988px;*/
  margin: 0 auto;
  text-align: left;
  padding: 0px 0 10px;
  font-size: 26px;
  font-size: 2.6rem;
  color: #fff;
  line-height: 1.2;
  text-align: center;
}

.footer_nav .fnt_small {
  width: 100%;
  font-size: 13px;
  font-size: 1.3rem;
  color: #fff;
}

.footer_nav .footer_tel {
  width: 100%;
  font-size: 26px;
  font-size: 2.6rem;
  color: #fff;
  margin: 6px 0;
}

.footer_nav .footer_tel_num {

  color: #FF9900;
}


@media screen and (max-width:768px) {

  .footer_nav {
    font-size: 22px;
    font-size: 2.2rem;
    line-height: 1.0;
  }


  .footer_nav .footer_tel {
    font-size: 23px;
    font-size: 2.3rem;
  }
}

.footer_nav .footer_add {
  width: 100%;
  font-size: 16px;
  font-size: 1.6rem;
  color: #fff;
  margin: 6px 0;
}

.footer_nav .footer_time {
  width: 100%;
  font-size: 16px;
  font-size: 1.6rem;
  color: #fff;
  margin: 6px 0;
}



.footer_info {
  font-size: 0;
  padding: 18px 10px;
  text-align: left;
  max-width: 1200px;
  margin: 0 auto 0px;
  text-align: center;
  /*  background: #333333;*/
}

.footer_info_item {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.2;
  display: inline-block;
  padding: 0 16px 0 0;
  text-decoration: none;
}

.footer_info_item a {
  text-decoration: none;
}


.footer_info_item:before {
  font-family: "FontAwesome";
  content: "\f0c8";
  color: #FF9900;
  padding: 0 4px 0 0;

}



.footer_copyright {
  font-size: 14px;
  font-size: 1.4rem;
  padding: 0px 10px 0;
  text-align: left;
  color: #fff;
  max-width: 1200px;
  margin: 0 auto 0;
  /*  background: #333333*/
  text-align: center;
}

.footer_pagetop {
  position: fixed;
  z-index: 2;
  right: 30px;
  bottom: 30px;
  width: 50px;
  height: 50px;
  border-radius: 3px;
  background: #0378da;
  background: rgba(52, 182, 104, .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:768px) {
  .footer {
    overflow-x: hidden;
    /*下余白削除*/
    padding: 0 0 0
  }

  .footer_nav {
    padding: 0 0 0 6px;
  }

  .footer_sitemap {
    /*下余白削除*/
    margin: 0 0 0;
    padding: 10px 0 0
  }

  .footer_sitemap a {
    text-decoration: none;
    color: #fff
  }

  .footer_nav_group {
    margin: 0 !important
  }


  .footer_pagetop a:before {
    position: absolute;
    top: 50%;
    display: block;
    content: ''
  }



  .footer_info {
    padding: 14px 10px 9px;
    max-width: 100%;
    margin: 0 auto;
    text-align: center;
  }

  .footer_info_item {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.2;
    display: inline-block;
    padding: 5px 16px 5px 0;
    text-decoration: none;
  }

  .footer_info_item:before {
    padding: 0 4px 0 0;
  }



  .footer_nav .footer_add,
  .footer_nav .footer_time {
    font-size: 14px;
    font-size: 1.4rem;
  }



  .footer_copyright {
    font-size: 14px;
    font-size: 1.4rem;
    padding: 0px 0 6px;
    text-align: center;
  }

  .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
  }

  /* 曲目一覧へののリンクボタン用 */
  .footer_titlelist {
    right: 10px;
    bottom: 70px;
    width: 44px;
    height: 75px
  }

  .footer_titlelist 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
  }








}

.l-gnav {
  margin: 0 0px;
  /*border-top: 1px solid #e6e6e6;
  border-bottom: 1px solid #e6e6e6*/
}

.l-gnav_items {
  position: relative;
  display: table;
  width: 96%;
  max-width: 988px;
  max-width: 888px;
  margin: 10px auto 0;
  table-layout: fixed;
  text-align: center;
  vertical-align: middle
}

.l-gnav_item {
  position: relative;
  display: table-cell;
  height: 100%;
  text-align: center;
  vertical-align: middle
}

.l-gnav_item:before,
.l-gnav_item:last-child:after {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 1px;
  height: 20px;
  margin: auto 0;
  background: #e6e6e6;
  display: block;
  content: ''
}

.l-gnav_item:before {
  left: 0
}

.l-gnav_item:last-child:after {
  right: 0
}

.l-gnav_item_link {
  font-weight: 500;
  position: relative;
  display: block;
  height: 100%;
  padding: 15px 5px 14px;
  transition: .2s linear;
  color: #1B1B1B !important;
}

.l-gnav_item_link:active,
.l-gnav_item_link:visited {
  color: #1B1B1B；
}



.l-gnav_item_link:after {
  position: absolute;
  right: 0;
  bottom: -3px;
  left: 0;
  display: block;
  width: 100%;
  height: 0;
  margin: 0 auto;
  content: '';
  -webkit-transition: .2s linear;
  transition: .2s linear;
  opacity: 0;
  background: #F0F0F0;

}

.l-gnav_item_link:hover {
  opacity: 1;
  color: #207D2C;

}

.l-gnav_item_link:hover:after {
  bottom: 0;
  height: 3px;
  opacity: 1
}

.l-gnav_item_link.isActive:hover {
  color: #207D2C;

}

.l-gnav_item_link.isActive:after {
  bottom: 0;
  height: 3px;
  opacity: 1
}

@media screen and (max-width:768px) {
  .l-gnav {
    display: none;
    margin: 0;
    border: none;
    background: #F0F0F0
  }

  .l-gnav_items {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 0 0 -1px;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
  }

  .l-gnav_item {
    width: 33.3333%;
    border-right: 1px solid #40639f;
    border-bottom: 1px solid #40639f
  }

  .l-gnav_item:before,
  .l-gnav_item:last-child:after {
    display: none
  }

  .l-gnav_item:nth-child(3n) {
    border-right: none
  }

  .l-gnav_item_link {
    font-size: 12px;
    font-size: 1.2rem;
    position: relative;
    display: block;
    padding: 13px 0 12px;
    color: #fff
  }

  .l-gnav_item_link.isActive:after,
  .l-gnav_item_link:hover:after {
    display: none
  }

  .l-gnav_item_link.isActive {
    background: #2570c8
  }
}

.l-localnav_item_link:before,
.l-localnav_title a:after {
  border-top: 2px solid #134089;
  border-right: 2px solid #134089
}

.l-localnav_title {
  margin: 0;
  border-radius: 3px 3px 0 0;
  background: #134089
}

.l-localnav_title a {
  font-size: 17px;
  font-size: 1.7rem;
  position: relative;
  display: block;
  padding: 33px 20px 30px;
  text-decoration: none;
  color: #fff
}

.l-localnav_title a:after,
.l-localnav_title a:before {
  position: absolute;
  top: 50%;
  content: ''
}

.l-localnav_title a:before {
  right: 20px;
  display: block;
  width: 18px;
  height: 18px;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  border-radius: 100%;
  background: #fff
}

.l-localnav_title a:after {
  right: 27px;
  display: block;
  width: 4px;
  height: 4px;
  -webkit-transform: translateY(-50%) rotate(45deg);
  -ms-transform: translateY(-50%) rotate(45deg);
  transform: translateY(-50%) rotate(45deg)
}

.l-localnav_item_link,
.l-localnav_title span {
  position: relative;
  display: block;
  text-decoration: none
}

.l-localnav_title span {
  font-size: 17px;
  font-size: 1.7rem;
  padding: 33px 20px 30px;
  color: #fff
}

.l-localnav_list {
  background: #f9f9f9
}

.l-localnav_item_link {
  padding: 19px 20px 16px 35px;
  color: #003fa8;
  border-bottom: 1px solid #e6e6e6
}

.l-localnav_item_link:before {
  position: absolute;
  top: 1.7em;
  left: 20px;
  display: block;
  width: 5px;
  height: 5px;
  content: '';
  transform: rotate(45deg)
}

.text_arrow:before,
.l-localnav_category_item:before {
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg)
}

.l-localnav_item_link.isActive {
  font-weight: 700;
  color: #333
}

.l-localnav_item_link.isActive:hover {
  opacity: 1
}

.l-localnav_category {
  margin: 0
}

.l-localnav_category_label {
  padding: 19px 20px 16px;
  background: #ededed
}

.l-localnav_category_data {
  padding: 20px;
  border-top: 1px solid #e6e6e6;
  border-bottom: 1px solid #e6e6e6;
  background: #f9f9f9
}

.l-localnav_category_item {
  position: relative;
  padding-left: 13px
}

.l-localnav_category_item:before {
  position: absolute;
  top: .48em;
  left: 0;
  display: block;
  width: 4px;
  height: 4px;
  content: '';
  transform: rotate(45deg);
  border-top: 2px solid #134089;
  border-right: 2px solid #134089
}

.l-localnav_category_item + .l-localnav_category_item {
  margin-top: 10px
}

.l-localnav_category_item_link {
  text-decoration: none;
  color: #003fa8
}

.l-localnav_category_item_link.isActive {
  font-weight: 700;
  color: #333
}

.l-localnav_category_item_link.isActive:hover {
  opacity: 1
}

.l-localnav_category_item_link[href$='.pdf']:after {
  display: inline-block;
  width: 16px;
  height: 18px;
  margin-left: 5px;
  content: '';
  vertical-align: middle;
  background: url(/common/img/ico_doc-pdf.svg) no-repeat;
  background-size: cover
}

@media screen and (max-width:768px) {

  .l-localnav_category_label:before,
  .l-localnav_item_link:before {
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%)
  }

  .l-localnav_category_label,
  .l-localnav_item_link,
  .l-localnav_title a,
  .l-localnav_title span {
    padding: 12px 40px 9px 20px
  }

  .l-localnav_title a {
    font-size: 15px;
    font-size: 1.5rem
  }

  .l-localnav_title a:before {
    width: 12px;
    height: 12px
  }

  .l-localnav_title a:after {
    right: 25px;
    width: 3px;
    height: 3px;
    border-top-width: 1px;
    border-right-width: 1px
  }

  .l-localnav_title span {
    font-size: 15px;
    font-size: 1.5rem
  }

  .l-localnav_item_link:before {
    top: 50%;
    right: 20px;
    left: inherit;
    width: 12px;
    height: 12px;
    transform: translateY(-50%);
    border: none;
    border-radius: 100%;
    background: #134089
  }

  .l-localnav_item_link:after {
    position: absolute;
    top: 50%;
    right: 25px;
    display: block;
    width: 3px;
    height: 3px;
    content: '';
    -webkit-transform: translateY(-50%) rotate(45deg);
    -ms-transform: translateY(-50%) rotate(45deg);
    transform: translateY(-50%) rotate(45deg);
    border-top: 1px solid #fff;
    border-right: 1px solid #fff
  }

  .l-localnav_category {
    margin: 0
  }

  .l-localnav_category_label {
    position: relative;
    color: #003fa8;
    border-bottom: 1px solid #e6e6e6
  }

  .l-localnav_category_label:after,
  .l-localnav_category_label:before {
    position: absolute;
    top: 50%;
    display: block;
    content: '';
    background: #134089
  }

  .l-localnav_category_label:before {
    right: 21px;
    width: 10px;
    height: 2px;
    transform: translateY(-50%)
  }

  .l-localnav_category_label:after {
    right: 25px;
    width: 2px;
    height: 10px;
    -webkit-transition: .3s linear;
    transition: .3s linear;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%)
  }

  .l-localnav_category_label.isOpen:after {
    margin-top: -5px;
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg)
  }

  .l-localnav_category_data {
    padding: 0;
    border-top: none
  }

  .l-localnav_category_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: -1px;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
  }

  .l-localnav_category_item {
    width: 50%;
    padding-left: 0;
    border-bottom: 1px solid #e6e6e6
  }

  .l-localnav_category_item:before {
    display: none
  }

  .l-localnav_category_item + .l-localnav_category_item {
    margin-top: 0
  }

  .l-localnav_category_item:nth-child(even) {
    border-left: 1px solid #e6e6e6
  }

  .l-localnav_category_item_link {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 100%;
    padding: 12px 30px 9px 10px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
  }

  .l-localnav_category_item_link:after,
  .l-localnav_category_item_link:before {
    position: absolute;
    top: 50%;
    display: block;
    content: ''
  }

  .l-localnav_category_item_link:before {
    right: 10px;
    left: inherit;
    width: 12px;
    height: 12px;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    border: none;
    border-radius: 100%;
    background: #134089
  }

  .l-localnav_category_item_link:after {
    right: 15px;
    width: 3px;
    height: 3px;
    -webkit-transform: translateY(-50%) rotate(45deg);
    -ms-transform: translateY(-50%) rotate(45deg);
    transform: translateY(-50%) rotate(45deg);
    border-top: 1px solid #fff;
    border-right: 1px solid #fff
  }

  .l-localnav_category_item_link[href$='.pdf']:before {
    display: none
  }

  .l-localnav_category_item_link[href$='.pdf']:after {
    right: 10px;
    width: 11px;
    height: 12px;
    -webkit-transform: translateY(-50%) rotate(0);
    -ms-transform: translateY(-50%) rotate(0);
    transform: translateY(-50%) rotate(0)
  }
}

.c-btn,
.p-heroSlide_banner_link {
  -webkit-transition: .2s linear;
  text-decoration: none
}

.l-section + .l-section {
  margin-top: 50px;
  margin-top: 70px;
}

.l-section > .l-section {
  margin-top: 45px;
}

.l-section p {
  font-weight: 600;
}

.section_small {
  max-width: 1200px;
  margin: 0 auto 40px;
}

.section_small_more {
  max-width: 960px;
  margin: 0 auto 30px;

}

.sec_plan {
  max-width: 1100px;
}



@media screen and (max-width:768px) {
  .l-section + .l-section {
    margin-top: 25px
  }

  .l-section > .l-section {
    margin-top: 20px
  }

  .section_small {
    max-width: 100%;
    margin: 0 auto;
  }

  .sec_plan {
    max-width: 100%;
    margin: 0 auto;
  }


}

.l-section.service_movie {
  background: #DBF2EB;
  margin: 60px 0 20px;
}

@media screen and (max-width:768px) {

  .l-section.service_movie {
    margin: 30px 0 10px;
    padding: 0px 10px;
  }

}


.l-section.qa_backgroundcolor {
  background: #EFF8F1;
  margin: 60px 0 20px;
}

@media screen and (max-width:768px) {

  .l-section.qa_backgroundcolor {
    margin: 30px 0 10px;
    padding: 0px 10px;
  }
}



.bk_gallery {
  background: url(/common/img/bk_gallery.png) no-repeat;
  background-size: cover;
  margin: 60px 0 0px !important;
  min-height: 380px;
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 1;
}


.bk_voice {
  background: url(/common/img/bk_voice.png) no-repeat;
  background-size: cover;
  margin: 0 !important;
  padding: 0;
  min-height: 380px;
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 1;
}


.btn_sbox {
  max-width: 600px;
  margin: 0 auto;
  background: #fff;
  opacity: 0.8;
  box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.4);
}

.btn_sbox p {
  padding: 0 10px 10px;
  margin: -20px 0 0 0;
}

.btn_sbox a {
  text-decoration: none !important;
  color: inherit;
}


@media screen and (max-width:768px) {

  .btn_sbox {
    max-width: 88%;
  }

  .btn_sbox p {
    padding: 0 10px 10px;
    margin: -0px 0 0 0;
  }


}


/*youtube*/

.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}

.youtube iframe {
  position: absolute;
  top: 0;
  right: 5%;
  width: 90% !important;
  height: 100% !important;
}

/******************************

ボタン

******************************/

.btn-icon {
  display: inline-block;
  /*  max-width: 400px;*/
  text-align: center;
  background-color: #34B668;
  font-size: 20px;
  color: #FFF;
  text-decoration: none;
  font-weight: normal;
  padding: 18px 70px;
  border-radius: 0px;
  position: relative;
  opacity: 0.8;
}


@media screen and (max-width:768px) {

  .btn-icon {
    text-align: center;
    font-size: 16px;
    padding: 18px 10px;
    width: 90%;
    margin: 0 auto;
  }
}

.btn-icon:hover {
  opacity: 1.8;
}






/* GENERAL BUTTON STYLING */
/*
button,
button::after {
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
*/

/*
button {
  width: 100%;
  border-radius: 3px;
  display: block;
  font-size: 22px;
  font-size: 2.2rem;
  font-weight: bold;
  margin: 0em auto 16px;
  padding: 0em 0 0;
  position: relative;
  text-transform: uppercase;
}

button::before,
button::after {
  content: '';
  position: absolute;
  z-index: -1;
}

a button {
  text-decoration: none;
}
*/

/*プラン名*/
div.plan_name {
  font-size: 26px;
  font-size: 2.6rem;
  padding: 14px 14px;
  margin: 0;
  font-weight: 700;
  text-align: center;
  background-color: rgb(255, 255, 255, 0.4);
  color: #333;
}

div.plan_info {
  color: #26455B;
  font-size: 34px;
  font-size: 3.4rem;
  width: 100%;
  background: #2ecc71;
  background-color: rgb(162, 217, 179, 0.7);
  padding: 0px 0;
  text-align: center;
  font-weight: 600;
}

button:hover .plan_info {
  color: #26455B;
}

.plan_btn:hover {
  opacity: 0.7;
}


.plan_btn a,
.plan_btn a:link,
.plan_btn a:visited,
.plan_btn a:active {
  color: #26455B;
  text-decoration: none;
}

.btn-1,
.btn-2,
.btn-3,
.btn-4,
.btn-5,
.btn-6,
.btn-7 {
  background: #2ecc71;
  border: 1px solid #666;
  color: #fff;
  margin-bottom: 20px;
}

/*散骨だけプラン*/
.btn-1 {
  background-image: url(/img/plan_img001.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: -10% 90%;
}

/*散骨プラン*/
.btn-2 {
  background-image: url(/img/plan_img002.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: -10% 90%;
}

/*葬儀と散骨おまかせパック*/
.btn-3 {
  background-image: url(/img/plan_img003.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: -10% 90%;
}

/*出張粉骨プラン*/
.btn-4 {
  background-image: url(/img/plan_img004.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: -10% 90%;
}

/*墓じまいプラン*/
.btn-5 {
  background-image: url(/img/plan_img005.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: -10% 70%;
}

/*ペット粉骨と散骨プラン*/
.btn-6 {
  background-image: url(/img/plan_img006.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 50% 40%;
}

/*散骨生前プラン*/
.btn-7 {
  background-image: url(/img/plan_img007.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 50% 40%;
}


/* BUTTON 1 */
/*
button::after {
  height: 0;
  left: 0;
  top: 0;
  width: 100%;
}

button:hover:after {
  height: 100%;
}
*/


@media screen and (max-width:768px) {

  /*プラン名*/
  div.plan_name {
    font-size: 20px;
    font-size: 2.0rem;
    padding: 10px 14px;
  }

  div.plan_info {
    color: #26455B;
    font-size: 28px;
    font-size: 2.8rem;
  }

  div.plan_info span {
    font-size: 18px;
    font-size: 1.8rem !important;
  }


  .btn-1,
  .btn-2,
  .btn-3,
  .btn-4,
  .btn-5,
  .btn-6,
  .btn-7 {
    margin-bottom: 0px;
  }
}




.block_bw {
  margin: 0 auto;
  text-align: center;
  width: 100%;
}

.btn-bw {
  display: inline-block;
  /*  max-width: 400px;*/
  text-align: center;
  background-color: #fff;
  font-size: 18px;
  color: #333;
  text-decoration: none;
  font-weight: normal;
  padding: 16px 60px;
  position: relative;
  opacity: 1.0;
  border: 1px solid #999;


  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;

}

.btn-bw:hover {
  opacity: 1.8;
  background-color: #33B666;
  color: #fff;
  border: 1px solid #fff;
  letter-spacing: 2px;

}



.btn-green {
  display: inline-block;
  /*  max-width: 400px;*/
  text-align: center;
  background-color: #fff;
  background-color: #33B666;
  color: #fff;
  font-size: 18px;

  text-decoration: none;
  font-weight: normal;
  padding: 16px 60px;
  position: relative;
  opacity: 1.0;
  border: 1px solid #999;


  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;

}

.btn-green:hover {
  opacity: 1.8;
  background-color: #ccc;
  color: #666;
  border: 1px solid #fff;
  letter-spacing: 2px;

}


.c-btn01 {
  position: relative;
  display: block;
  margin: 30px auto 0;
  color: #fff;
  border-radius: 3px;
  background: #3A7ED1;
  text-align: center;
  width: 80%;
  max-width: 760px;
  padding: 0.3em 0;
  font-size: 24px;
  font-size: 2.4rem;
  box-shadow: 4px 4px 4px rgba(0, 0, 0, 0.4);
  border: 1px solid #26455B;
}

.c-btn01 p {
  padding: 10px 10px 10px;
  margin: 0;
}

.c-btn01 p::after {
  padding: 0 10px;
  margin: 0;
  /*  content: "→";*/
  font-family: "Font Awesome 5 Free";
  content: '\f054';
  font-weight: 900;
}

.c-btn01 a {
  text-decoration: none !important;
  color: inherit;
}


.c-btn01:hover {
  opacity: 1.8;
  background-color: #26455B;
  color: #fff;
  /*  border: 1px solid #fff;*/
  /*  letter-spacing: 2px;*/

}

@media screen and (max-width:768px) {
  .c-btn01 {
    font-size: 14px;
    font-size: 1.4rem;
    margin-top: 10px;
    margin-bottom: 30px;
  }
}



/*

.btn-bw {}

*/

.c-btn {
  line-height: 1.4;
  position: relative;
  display: block;
  margin-top: 30px;
  transition: .2s linear;
  color: #fff;
  border-radius: 3px;
  background: #134089;
  background: #9B8262;
}

.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:768px) {

  .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
  }
}

.title_h2 {
  font-size: 40px;
  font-size: 4.0rem;
  font-weight: 500;
  margin: 0px 0 10px;
  padding: 12px 0px;
  width: 100%;
  display: block;
}


.title_h2 span.title {
  /*  background: grey;*/
  display: inline-block;
  position: relative;
  padding: 10px 40px;
}


.title_h2 span.side_title {
  /*  width: 200px;*/
  font-family: 'Caveat', cursive;
  padding: 0px 0px;
  color: #50c1a5 !important;
  text-align: center;
  display: inline-block;
  position: absolute;
  top: -10px;
  left: -48px;
  transform: rotate(340deg);
  font-weight: normal;
  font-size: 38px;
  font-size: 3.8rem;
}


.title_h2 span.side_title img {
  /*  width: 200px;*/
  width: 70%;
}



.title_h2_02 {
  font-size: 40px;
  font-size: 4.0rem;
  margin: 0 0 10px;
  padding: 12px 10px;
  /*  border-bottom: 3px solid #9B8262;*/
  width: 100%;
}

@media screen and (max-width:768px) {

  .title_h2_02 {
    line-height: 1.2em;
  }

  .title_h2_02 > span {
    line-height: 0em;
  }

}

.sec_plan {
  margin-bottom: 20px;
}

.title_h2_plan {
  font-size: 23px;
  font-size: 2.3rem;
  margin: 0;
  padding: 10px 12px 6px 18px;
  /*  border-bottom: 3px solid #9B8262;*/
  /*  width: 80%;*/
  /*    display: inline;*/
  background: #79D0BB;
  background: #FFD988;
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
  border-bottom-left-radius: 20px;
  border-bottom-right-radius: 20px;
}

.title_h2_plan:hover {
  background: #47bea0;
  color: #fff;
  -webkit-transition: all .3s;
  transition: all .3s;
}

.title_h2_plan.open {
  background: #FFD988;
}

.title_h2_plan.active {
  background: #47bea0;
  color: #fff;
  -webkit-transition: all .3s;
  transition: all .3s;
}




.title_h2_plan p {
  text-align: center;

}






/*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:768px) {

  .p_title img {
    height: 80px;
  }

  .title_h2 {
    font-size: 20px;
    font-size: 2rem;
    margin: 0 auto 20px;
    padding: 10px 6px 10px;
    width: 80%;
  }



  .title_h2 span.side_title {
    top: -18px;
    left: -56px;
    font-size: 30px;
    font-size: 3.0rem;
  }

  .title_h2 span.title {
    background: none;
    display: inline-block;
    position: relative;
    padding: 6px 6px;
  }


  .title_h2 span.side_title img {
    /*  width: 200px;*/
    width: 55%;
  }


  .title_h2_02 {
    font-size: 24px;
    font-size: 2.4rem;
    margin: 0 auto 14px;
    padding: 12px 10px;
    width: 90%;
  }

  .title_h2_plan {
    font-size: 18px;
    font-size: 1.8rem;
    margin: 0 0 0px;
    padding: 8px 4px 6px;
  }



}


/*
.title_h3 {
  color: #207D2C;
  font-size: 36px;
  font-size: 3.6rem;
  line-height: 1.4;
  margin: 10px 0;
  border-bottom: 1px solid #ccc;
}
*/


.title_h3 {
  font-size: 30px;
  font-size: 3.0rem;
  line-height: 1.4;
  position: relative;
  margin: 0 0 20px;
  padding: 15px 20px;
  /*  border-radius: 3px;*/
  /*
  background: #D6CDBC;
  background: none;
  border: 1px solid #DDD3CA;
*/

  background: repeating-linear-gradient(-45deg,
      /* ストライプの角度 */
      #47bea0,
      /* 1色目の始点 */
      #47bea0 5px,
      /* 1色目の終点 */
      #50c1a5 5px,
      /* 2色目の始点 */
      #50c1a5 10px
      /* 2色目の終点 */
    );
  color: #fff;

}



.title_h4 {
  font-size: 20px;
  font-size: 2.0rem;
  position: relative;
  margin: 48px 0 16px;
  padding: 4px 6px;
  border-bottom: 1px solid #50c1a5;
  /*  background: #EAFEE2;*/
  border-left: 8px solid #50c1a5;
  font-weight: 700;
}

/*
.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:768px) {

  .title_h3 {
    /*    color: #33B666;*/
    font-size: 20px;
    font-size: 2.0rem;
    line-height: 1.1;
    margin: 6px 0 10px;
    padding: 10px 4px;

  }


  .title_h4 {
    font-size: 18px;
    font-size: 1.8rem;
    margin: 0 0 15px;
    padding: 5px 5px 3px
  }
}

.title_h5 {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.7;
  margin: 0 0 8px;
  padding: 2px 0 0 12px;
  background: #fff;
  background: #DEF3EE;
  border-bottom: 1px dotted #50c1a5;
  /*  border-left: 4px solid #483F2D;*/

}

.table td,
.table th {
  padding: 10px 20px;
  border: 1px solid #e6e6e6;
  border: none;
}

@media screen and (max-width:768px) {
  .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:768px) {
  .c-lead {
    font-size: 20px;
    font-size: 2rem
  }
}

.c-figure {
  margin: 0;
  overflow: hidden;
}

.c-figure_caption {
  font-size: 13px;
  font-size: 1.3rem;
  margin: 7px 0 10px;

}

/*回り込み追加*/

.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:768px) {

  .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;
  }
}



/*l-contents top contents*/

.flex_3box {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: stretch;
  width: 100%;
  margin: 20px auto;
}

.flex_3box img {
  width: 100%;
}

@media screen and (max-width:768px) {
  .flex_3box {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: stretch;
    width: 100%;
    margin: 20px auto;
  }

}


.table table {
  width: 100%;
  table-layout: fixed;
  background: #fff;
  margin-bottom: 40px;

}

.table.table--center td,
.table.table--center th {
  text-align: center;
  vertical-align: middle;
  border-bottom: 1px solid #ccc;
}

.table--auto table {
  table-layout: inherit
}

.table th {
  text-align: left;
  vertical-align: top;
  background: #ECECEC;
  border-bottom: 1px solid #ccc;
}

.table td {
  border-bottom: 1px solid #ccc;
}


.table_grid_col--3 {
  width: 22.86115%
}

.table_grid_col--4 {
  width: 31.460674%
}

.table .table_heading {
  background: #f7f7f7
}

.table--type02 {

  font-size: 17px;
  font-size: 1.7rem;
  border-top: 1px solid #ccc !important;

}

.sec_plan .table--type02 {
  width: 96%;
  margin: 10px auto 0;
  text-align: left;
}


@media screen and (max-width:768px) {
  .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 #ccc;
  }

  .table--type02 th {
    width: auto;
    border-top: none
  }

  .table--type02 td {
    padding: 12px 0px 18px;
  }


  .table--type02 th + td {
    border-top: none
  }
}

.table02,
.table02 table {
  width: 100%
}

.table02 {
  background: #fff;
  border: 1px solid #e6e6e6;
}

.table02.table02--center td,
.table02.table02--center th {
  text-align: center;
  vertical-align: middle;

}

.table02_head_label {
  padding: 6px 20px;
  text-align: center;
  border: 1px solid #e6e6e6;
  background: #FFD988;
}

.table02 td,
.table02_heading {
  font-weight: 400;
  padding: 6px 20px;
  border: 1px solid #f7f7f7
}

.table02_body tr:nth-child(even) {
  background: #E9E9E9
}

.table02_heading {
  font-weight: 400;
  text-align: left
}

@media screen and (max-width:768px) {
  .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: #FFD988
  }
}



.table03,
.table03 table {
  width: 100%;
  margin-top: 20px;
}

.table03 {
  background: #fff
}

.table03.table03--center td,
.table03.table03--center th {
  text-align: center;
  vertical-align: middle;

}

.table03_head_label {
  padding: 6px 20px;
  text-align: left;
  border: 1px solid #e6e6e6;
  background: #c6c6c6
}

.table03 td,
.table03_heading {
  font-weight: 400;
  padding: 10px 20px;
  border: 1px solid #f7f7f7
}

.table03_body tr:nth-child(even) {
  background: #FDF8E6
}

.table03_heading {
  font-weight: 400;
  text-align: left
}






.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
}

.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:768px) {
  .text_list_item.c-grid_col {
    width: calc((100% / 2) - 10px)
  }
}

.text_list02 {
  margin: 0 0 20px 0;
}

.text_list02_data + .text_list02_title,
.text_list02_title + .text_list02_title {
  margin-top: 16px
}

.text_list02_title {
  font-weight: bold;
  position: relative;
  padding-left: 19px;
  color: #207D2C;
  margin-top: 10px;

  font-size: 18px;
  font-size: 1.8rem;

}

.text_list02_title:before {
  position: absolute;
  width: 7px;
  border-radius: 100%;
  background: #207D2C;
  margin-top: 2px;
}


/*申し込みの流れ*/
.flow_step {
  width: 100%;
  margin: 0 auto;
}

.flowstep_img {
  margin: 0 auto;
  text-align: center;
}

@media screen and (max-width:768px) {
  .flow_step {
    width: 90%;
    margin: 0 auto;
  }

}




/*
.flow_step li {
  background: #e4e4e4;
  border: 1px solid #A2D9B3;
  padding: 10px 26px;
  margin: 10px 0;
}

.flow_step .triangle {
  text-align: center;
  margin: 10px 0;
}
*/



.numeric_list02_title:before,
.numeric_list_item:before {
  left: 0;
  content: counter(number) '.';
  counter-increment: number 1;
  width: 25px;
  height: 25px;
  line-height: 31px;
  text-align: center;
}

/*
.numeric_list_item:after {
  display: block;
  content: '\f0d7';
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  font-size: 2.0em;
  color: pink;
  margin: 0 0 0 50px;
  padding: 0;
*/

/*

  width: 0;
  height: 0;
  border-left: 30px solid transparent;
  border-right: 30px solid transparent;
  border-top: 30px solid black;
*/

}

.numeric_list_item:last-child:after {
  display: block;
  content: none;

}



.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: 0px;
}

@media screen and (max-width:768px) {
  .numeric_list_item + .numeric_list_item {
    margin-top: 15px
  }
}

.numeric_list02 {
  margin: 0;
  counter-reset: number 0
}

.numeric_list02_title {
  font-weight: 700;
  position: relative;
  padding: 0 0 0 1.8em
}

.numeric_list02_title:before {
  font-weight: 400;
  position: absolute
}

.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;*/
}


.info_box {
  /*
  position: relative;
  display: inline-block;
*/
  width: 80%;
  margin: 0 auto;
  padding: 10px;
  color: #555;
  border: solid 3px #555;
  border-radius: 20px;
  box-sizing: border-box;
}


.info_box {}


/*
.info_box:before {
  content: "";
  position: absolute;
  top: -41.5px;
  left: 8%;
  margin-left: -15px;
  border: 12px solid transparent;
  border-bottom: 33px solid #FFF;
  z-index: 2;
}

.info_box:after {
  content: "";
  position: absolute;
  top: -47.5px;
  left: 8%;
  margin-left: -17px;
  border: 14px solid transparent;
  border-bottom: 34px solid #555;
  z-index: 1;
}
*/





.c-box--priorityLow {
  margin: 10px 0 10px 0;
  border: none;
  border: 1px solid #7D6A3E;
  background: #f6f6f6;
  background: none;
  background: url(/common/img/lefttop.png) left top no-repeat, url(/common/img/leftbottom.png) left bottom no-repeat, url(/common/img/righttop.png) right top no-repeat, url(/common/img/rightbottom.png) right bottom no-repeat;
}

.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
}

@media screen and (max-width:768px) {
  .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:768px) {

  .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: #50c1a5
}

.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
}

.ancher_list_item a,
.ancher_list_item a:link,
.ancher_list_item a:active,
.ancher_list_item a:visited {
  color: #222;
}

/*
.ancher_list_item a:hover {
  color: #308570;
  color: #fff;
  background: #308570
}
*/





@media screen and (max-width:768px) {
  .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: 20px -10px
}

.c-grid_col {
  float: left;
  overflow: hidden;
  margin: 0 10px
}

.c-grid_cor {
  float: right;
  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,
.c-grid_cor--5 {
  width: calc(((100% / 12) * 5) - 20px)
}

.c-grid_col--6 {
  width: calc(((100% / 12) * 6) - 20px)
}

.c-grid_col--7,
.c-grid_cor--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:768px) {
  .c-grid {
    margin: 0 -5px
  }

  .c-grid_col,
  .c-grid_cor {
    margin: 20px 5px 5px
  }


  .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,
  .c-grid_cor--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,
  .c-grid_cor--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,
  [data-spgrid=false] > .c-grid_cor {
    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,
  [data-spgrid=false] .c-grid_cor--5,
  [data-spgrid=false] .c-grid_cor--7 {
    width: auto
  }


  .c-grid_col img,
  .c-grid_cor img {
    max-width: 50%;
    vertical-align: top
  }


}

.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: 14px;
  height: 14px;
  margin-left: 5px;
  content: '';
  vertical-align: baseline;
  background: url(/common/img/ico_external2.svg) no-repeat;
  background-size: cover
}

@media screen and (max-width:768px) {
  .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:768px) {
  .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
  }


}

.c-media {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 0;
  padding: 0 0 56.25%
}

.c-media iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%
}

.dev-toggle {
  font-size: 13px;
  font-size: 1.3rem;
  font-weight: 700;
  position: fixed;
  z-index: 999999;
  bottom: 20px;
  left: 20px;
  display: inline-block;
  padding: 5px 10px;
  text-decoration: none;
  opacity: .7;
  color: #fff;
  border-radius: 5px;
  background: #000
}

.dev-section + .dev-section {
  margin-top: 40px
}

.dev-title {
  font-size: 15px;
  font-size: 1.5rem;
  font-weight: 400;
  margin: 0 0 30px;
  padding: 8px;
  color: #919499;
  background: #ebeff7
}

.dev-title02 {
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 700;
  margin: 30px 0 15px;
  padding-bottom: 5px;
  border-bottom: 3px solid #ccc
}

.dev-memo {
  font-size: 12px;
  font-size: 1.2rem;
  position: relative;
  margin-bottom: 15px;
  padding: 5px 5px 5px 30px;
  background: pink
}

.dev-memo:before {
  font-family: FontAwesome;
  position: absolute;
  top: .5em;
  left: 10px;
  content: '\f040'
}

.dev-memo code {
  font-weight: 700;
  display: inline-block;
  margin: 0 3px;
  padding: 0 5px;
  color: #fff;
  border-radius: 2px;
  background: orange
}

.dev-code {
  margin: 30px 0
}

.dev-code-label {
  font-family: sans-serif;
  font-weight: 700
}

.dev-code-label:before {
  font-family: FontAwesome;
  display: inline-block;
  margin-right: 10px;
  content: '\f013'
}

.dev-code .prettyprint {
  font-size: 12px;
  font-size: 1.2rem;
  overflow: auto;
  width: 100%;
  max-height: 300px;
  padding: 1em
}

.dev-grid {
  font-size: 10px;
  font-size: 1rem;
  display: table;
  width: 100%;
  margin-top: 50px;
  table-layout: fixed
}

.dev-grid_col,
.dev-grid_gutter {
  display: table-cell;
  padding: 10px 0;
  vertical-align: middle;
  text-align: center
}

.dev-grid_col {
  background: #ebeff7
}

.dev-grid_gutter {
  width: 20px;
  background: #d9e0ef
}

code .str,
pre .str {
  color: #fec243
}

code .kwd,
pre .kwd {
  color: #8470ff
}

code .com,
pre .com {
  font-style: italic;
  color: #32cd32
}

code .typ,
pre .typ {
  color: #6ecbcc
}

code .lit,
pre .lit {
  color: #d06
}

code .pun,
pre .pun {
  color: #8b8970
}

code .pln,
pre .pln {
  color: #f0f0f0
}

code .tag,
pre .tag {
  color: #9c9cff
}

code .htm,
pre .htm {
  color: plum
}

code .xsl,
pre .xsl {
  color: #d0a0d0
}

code .atn,
pre .atn {
  font-weight: 400;
  color: #46eeee
}

code .atv,
pre .atv {
  color: #eeb4b4
}

code .dec,
pre .dec {
  color: #3387cc
}

code.prettyprint,
pre.prettyprint {
  font-family: 'Droid Sans Mono', 'CPMono_v07 Bold', 'Droid Sans', monospace;
  font-size: 9pt;
  font-weight: 700;
  border-radius: 8px;
  background-color: #0f0f0f;
  -khtml-border-radius: 8px
}

.p-boxContact_phone,
.num_box_flow_step_desc:before,
.contact_data,
.price_num,
.p-receptionInfo_data {
  /*  font-family: 'Noto Serif', 'メイリオ', Meiryo, '游ゴシック体', YuGothic, '游ゴシック', 'Yu Gothic', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'Noto Sans Japanese', sans-serif*/
}

pre.prettyprint {
  width: 95%;
  margin: 1em auto;
  white-space: pre-wrap
}

code.prettyprint a,
pre.prettyprint a {
  text-decoration: none
}

ol.linenums {
  margin-top: 0;
  margin-bottom: 0;
  color: #8b8970
}

@media print {

  code.prettyprint,
  pre.prettyprint {
    background-color: #fff
  }

  code .str,
  pre .str {
    color: #088
  }

  code .kwd,
  pre .kwd {
    font-weight: 700;
    color: #006
  }

  code .com,
  pre .com {
    font-style: italic;
    color: #0c3;
  }

  code .typ,
  pre .typ {
    font-weight: 700;
    color: #404
  }

  code .lit,
  pre .lit {
    color: #044
  }

  code .pun,
  pre .pun {
    color: #440
  }

  code .pln,
  pre .pln {
    color: #000
  }

  code .tag,
  pre .tag {
    font-weight: 700;
    color: #b66ff7
  }

  code .htm,
  code .xsl,
  pre .htm,
  pre .xsl {
    font-weight: 700;
    color: #606
  }

  code .atn,
  pre .atn {
    font-weight: 400;
    color: #c71585
  }

  code .atv,
  pre .atv {
    font-weight: 400;
    color: #088
  }
}

.p-heroSlide,
.p_title {
  position: relative;
  z-index: 1
}

.title_h2_next {
  position: absolute;
  z-index: 2;
  top: 0;
  width: 100%;
  max-width: 988px;

  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%);


}

.h2-section {}


.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: absolute;
  z-index: 1;
  bottom: 0;
  width: 100%;
  padding: 20px 10px;
  background: #000;
  background: rgba(0, 0, 0, .15)
}

.p-heroSlide_bottom_inner {
  width: 100%;
  max-width: 988px;
  margin: 0 auto
}

.p-heroSlide_banner_link {
  display: table;
  overflow: hidden;
  width: 100%;
  transition: .2s linear;
  border: 1px solid #d9d9d9;
  border-radius: 3px;
  background: #fff
}

.p-heroSlide_banner_thumb {
  display: table-cell;
  width: 108px;
  padding: 14px;
  vertical-align: top
}

.p-heroSlide_banner_thumb img {
  width: 80px;
  height: auto
}

.p-heroSlide_banner_text {
  display: table-cell;
  margin: 0;
  padding: 14px 14px 14px 0;
  vertical-align: top
}

.p-heroSlide_banner_title {
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 700;
  position: relative;
  margin: 0 0 10px;
  padding-left: 10px;
  color: #134089
}

.p-heroSlide_banner_title:before {
  position: absolute;
  top: .48em;
  left: 0;
  display: block;
  width: 4px;
  height: 4px;
  content: '';
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  border-top: 2px solid #134089;
  border-right: 2px solid #134089
}

.p-heroSlide_banner_desc {
  font-size: 13px;
  font-size: 1.3rem;
  color: #333
}

@-webkit-keyframes fadeIn {
  0% {
    opacity: 0
  }

  100% {
    opacity: 1
  }
}

@keyframes fadeIn {
  0% {
    opacity: 0
  }

  100% {
    opacity: 1
  }
}

@media screen and (max-width:768px) {
  .p-heroSlide_bottom {
    position: static;
    padding: 20px 10px;
    background: #eef9fe
  }

  .p-heroSlide_banner_item + .p-heroSlide_banner_item {
    margin-top: 10px
  }

  .p-heroSlide_banner_link {
    display: table;
    overflow: hidden;
    width: 100%;
    text-decoration: none;
    border: 1px solid #d9d9d9;
    border-radius: 3px;
    background: #fff
  }

  .p-heroSlide_banner_link:hover {
    opacity: 1
  }

  .p-heroSlide_banner_thumb {
    width: 78px;
    padding: 9px;
    vertical-align: middle
  }

  .p-heroSlide_banner_thumb img {
    width: 60px;
    height: auto
  }

  .p-heroSlide_banner_text {
    position: relative;
    padding: 9px 25px 9px 0;
    vertical-align: top
  }

  .p-heroSlide_banner_text:after,
  .p-heroSlide_banner_text:before {
    position: absolute;
    top: 50%;
    display: block;
    content: ''
  }

  .p-heroSlide_banner_text:before {
    right: 10px;
    width: 12px;
    height: 12px;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    border-radius: 50%;
    background: #134089
  }

  .p-heroSlide_banner_text:after {
    right: 15px;
    width: 3px;
    height: 3px;
    -webkit-transform: translateY(-50%) rotate(45deg);
    -ms-transform: translateY(-50%) rotate(45deg);
    transform: translateY(-50%) rotate(45deg);
    border-top: 1px solid #fff;
    border-right: 1px solid #fff
  }

  .p-heroSlide_banner_title {
    margin: 0;
    padding-left: 0
  }

  .p-heroSlide_banner_title:before {
    display: none
  }
}

.p-message {
  line-height: 2
}

.p-guideNav {
  position: relative;
  padding: 50px 10px 30px;
  background: url(../images/common/bg_texture_01.png)
}

.p-guideNav:after {
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 3px;
  content: '';
  opacity: .08;
  background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuNSIgeTE9IjEuMCIgeDI9IjAuNSIgeTI9IjAuMCI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzAwMDAwMCIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA==);
  background: -webkit-gradient(linear, 50% 100%, 50% 0, color-stop(0, #000), color-stop(100%, #fff));
  background: -webkit-linear-gradient(bottom, #000, #fff);
  background: linear-gradient(to top, #000, #fff)
}

.p-guideNav_btn a:hover,
.p-topicsTab_nav_item a:hover {
  opacity: 1
}

.p-guideNav_inner {
  width: 100%;
  max-width: 988px;
  margin: 0 auto
}

.p-guideNav_list {
  margin: 0 -10px
}

.p-guideNav_list--column3 .p-guideNav_btn {
  width: calc((100% - 20px * 3)/ 3)
}

.p-guideNav_list--column3 a {
  padding: 15px
}

.p-guideNav_list--column3 .p-guideNav_btn_ico {
  display: inline-block;
  width: 50px;
  height: 50px;
  margin-right: 10px;
  vertical-align: middle
}

.p-guideNav_list--column4 .p-guideNav_btn {
  width: calc((100% - 20px * 4)/ 4)
}

.p-guideNav_list--column4 a {
  padding: 32px 15px 28px
}

.p-guideNav_list--column4 .p-guideNav_btn_ico {
  display: block;
  width: 120px;
  height: 120px;
  margin: 0 auto 22px
}

.p-guideNav_btn {
  float: left;
  margin: 0 10px 20px;
  -webkit-transition: .2s linear;
  transition: .2s linear;
  text-align: center;
  border-bottom: 3px solid #c2bdae;
  border-radius: 6px;
  background: #fff
}

.p-guideNav_btn:hover {
  background: #d9f6ff
}

.p-guideNav_btn_ico {
  -webkit-transition: .2s ease-in-out;
  transition: .2s ease-in-out;
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1)
}

.p-guideNav_btn a {
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: 700;
  display: block;
  text-decoration: none;
  color: #003fa8
}

.p-guideNav_btn a:hover .p-guideNav_btn_ico {
  -webkit-transform: scale(1.2);
  -ms-transform: scale(1.2);
  transform: scale(1.2)
}

@media screen and (max-width:768px) {
  .p-guideNav {
    position: relative;
    padding: 20px 10px 10px;
    background-size: 100px auto
  }

  .p-guideNav_list {
    margin: 0
  }

  .p-guideNav_list--column3 .p-guideNav_btn {
    float: none;
    width: auto;
    margin: 0 0 10px
  }

  .p-guideNav_list--column3 a {
    padding: 13px 10px
  }

  .p-guideNav_list--column3 .p-guideNav_btn_ico {
    width: 25px;
    height: 25px;
    margin-right: 6px
  }

  .p-guideNav_list--column4 {
    margin: 0 -5px
  }

  .p-guideNav_list--column4 .p-guideNav_btn {
    width: calc((100% - 10px * 2)/ 2)
  }

  .p-guideNav_list--column4 a {
    padding: 20px 10px 17px
  }

  .p-guideNav_list--column4 .p-guideNav_btn_ico {
    width: 80px;
    height: 80px;
    margin: 0 auto 10px
  }

  .p-guideNav_btn {
    margin: 0 5px 10px
  }

  .p-guideNav_btn a {
    font-size: 16px;
    font-size: 1.6rem
  }
}

.p-headingBlock {
  padding: 30px;
  border-top: 1px solid #e50012;
  background: #f6f6f6
}

.p-headingBlock_title {
  font-size: 22px;
  font-size: 2.2rem;
  position: relative;
  margin: -30px -30px 30px;
  padding: 20px 30px 17px;
  border-bottom: 1px solid #fff
}

.p-headingBlock_title.hasIco:before,
.p-headingBlock_title:after {
  position: absolute;
  display: block;
  content: ''
}

.p-headingBlock_title:after {
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: #dfdbdb
}

.p-headingBlock_title.hasIco {
  padding-left: 68px
}

.p-headingBlock_title.hasIco:before {
  top: 50%;
  left: 30px;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  background-repeat: no-repeat;
  background-size: cover
}

.p-headingBlock_title--consultation:before {
  width: 25px;
  height: 33px;
  background-image: url(/common/img/ico_consultation.svg)
}

.p-headingBlock_title--clock:before {
  width: 32px;
  height: 32px;
  background-image: url(/common/img/ico_clock.svg)
}

.p-headingBlock_section + .p-headingBlock_section {
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px dotted #e6e6e6
}

@media screen and (max-width:768px) {
  .p-headingBlock {
    padding: 15px
  }

  .p-headingBlock_title {
    font-size: 20px;
    font-size: 2rem;
    margin: -15px -15px 15px;
    padding: 15px 15px 13px
  }

  .p-headingBlock_title.hasIco {
    padding-left: 38px
  }

  .p-headingBlock_title.hasIco:before {
    left: 15px
  }

  .p-headingBlock_title--consultation:before {
    width: 16px;
    height: 21px
  }

  .p-headingBlock_title--clock:before {
    width: 20px;
    height: 20px
  }

  .p-headingBlock_section + .p-headingBlock_section {
    margin-top: 15px;
    padding-top: 15px
  }
}

.p-receptionInfo {
  margin-top: 0
}

.p-receptionInfo + .p-receptionInfo {
  margin-top: 1.5em
}

.p-receptionInfo_title {
  float: left;
  padding-right: 15px;
  vertical-align: middle
}

.p-receptionInfo_label {
  font-weight: 700;
  display: block;
  padding: 8px 8px 4px;
  text-align: center;
  white-space: nowrap;
  border: 2px solid #b7e2f5;
  background: #d9f6ff
}

.p-receptionInfo_label--medium {
  min-width: 6em
}

.p-receptionInfo_data {
  font-size: 22px;
  font-size: 2.2rem;
  float: left;
  padding-top: 2px
}

@media screen and (max-width:768px) {
  .p-receptionInfo {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
  }

  .p-receptionInfo_title {
    float: none;
    padding-right: 10px
  }

  .p-receptionInfo_label {
    padding: 5px 5px 1px
  }

  .p-receptionInfo_label--medium {
    min-width: 5.5em
  }

  .p-receptionInfo_data {
    font-size: 16px;
    font-size: 1.6rem;
    float: none;
    padding-top: 0
  }
}

.p-listBlock {
  margin: 20px -5px
}

.p-listBlock_item {
  float: left;
  width: calc((100% - 10px * 2)/ 2);
  margin: 0 5px 10px
}

.p-listBlock_link {
  display: block;
  overflow: hidden;
  height: 100%;
  text-decoration: none;
  border: 1px solid #d9d9d9;
  border-radius: 3px;
  background: #fff
}

.p-listBlock_thumb {
  margin: -1px -1px 0
}

.p-listBlock_thumb img {
  width: 100%
}

.p-listBlock_text {
  font-size: 14px;
  font-size: 1.4rem;
  margin: 15px 14px 14px
}

.p-listBlock_title {
  font-weight: 700;
  position: relative;
  margin: 0 0 10px;
  padding-left: 10px;
  color: #134089
}

.p-listBlock_title:before {
  position: absolute;
  top: .48em;
  left: 0;
  display: block;
  width: 4px;
  height: 4px;
  content: '';
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  border-top: 2px solid #134089;
  border-right: 2px solid #134089
}

.p-listBlock_desc {
  color: #333
}

@media screen and (max-width:768px) {
  .p-listBlock {
    margin: 20px 0
  }

  .p-listBlock_item {
    float: none;
    width: auto;
    margin: 0 0 10px
  }

  .p-listBlock_link {
    display: table;
    width: 100%
  }

  .p-listBlock_thumb {
    display: table-cell;
    width: 78px;
    margin: 0;
    padding: 9px;
    vertical-align: middle
  }

  .p-listBlock_thumb img {
    width: 60px;
    height: auto
  }

  .p-listBlock_text {
    position: relative;
    display: table-cell;
    margin: 0;
    padding: 9px 25px 9px 0;
    vertical-align: top
  }

  .p-listBlock_text:after,
  .p-listBlock_text:before {
    position: absolute;
    top: 50%;
    display: block;
    content: ''
  }

  .p-listBlock_text:before {
    right: 10px;
    width: 12px;
    height: 12px;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    border-radius: 50%;
    background: #134089
  }

  .p-listBlock_text:after {
    right: 15px;
    width: 3px;
    height: 3px;
    -webkit-transform: translateY(-50%) rotate(45deg);
    -ms-transform: translateY(-50%) rotate(45deg);
    transform: translateY(-50%) rotate(45deg);
    border-top: 1px solid #fff;
    border-right: 1px solid #fff
  }

  .p-listBlock_title {
    margin: 0;
    padding-left: 0
  }

  .p-listBlock_title:before {
    display: none
  }

  .p-listBlock_desc {
    font-size: 13px;
    font-size: 1.3rem
  }
}

.p-boxContact {
  padding: 10px;
  text-align: center;
  color: #134089;
  border: 1px solid #134089;
  border-radius: 3px
}

.p-boxContact_caption {
  font-size: 12px;
  font-size: 1.2rem;
  margin: 0 0 5px
}

.p-boxContact_phone {
  font-size: 32px;
  font-size: 3.2rem;
  line-height: 1;
  margin: 0
}

.p-boxContact_phone:before {
  display: inline-block;
  width: 32px;
  height: 32px;
  margin-right: 8px;
  content: '';
  vertical-align: top;
  background: url(/common/img/ico_phone.svg) no-repeat;
  background-size: cover
}

@media screen and (max-width:768px) {
  .p-boxContact_caption {
    font-size: 11px;
    font-size: 1.1rem
  }

  .p-boxContact_phone {
    font-size: 28px;
    font-size: 2.8rem
  }

  .p-boxContact_phone:before {
    width: 21px;
    height: 21px;
    margin-right: 5px;
    vertical-align: baseline
  }
}

/*top お知らせ*/

.p-topicsTab {
  margin: 50px 0 0
}

.p-topicsTab_nav {
  display: table;
  width: 100%;
  table-layout: fixed
}

.p-topicsTab_nav_outer {
  margin: 0 0 10px;
  border-bottom: 3px solid #7D6A3E
}

.p-topicsTab_nav_item {
  display: table-cell;
  text-align: center
}

.p-topicsTab_nav_item:first-child a {
  border-radius: 5px 0 0
}

.p-topicsTab_nav_item:last-child a {
  border-radius: 0 5px 0 0
}

.p-topicsTab_nav_item + .p-topicsTab_nav_item {
  border-left: 1px solid #7D6A3E
}

.p-topicsTab_nav_item a {
  font-weight: 700;
  position: relative;
  display: block;
  padding: 1em 1em .75em;
  text-decoration: none;
  color: #7D6A3E;
  background: #F1EFE7
}

.p-topicsTab_nav_item a.isActive {
  color: #fff;
  background: #7D6A3E
}

.p-topicsTab_nav_item a.isActive:after {
  position: absolute;
  bottom: -10px;
  left: 50%;
  display: block;
  width: 0;
  height: 0;
  content: '';
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  border-width: 8px 8px 0;
  border-style: solid;
  border-color: #7D6A3E transparent transparent
}

@media screen and (max-width:768px) {
  .p-topicsTab {
    margin: 20px 0 0
  }

  .p-topicsTab_nav_outer {
    margin: 0 -10px;
    padding: 0 10px
  }

  .p-topicsTab_nav_item a {
    padding: .8em .5em .6em
  }
}

/*0221お知らせ左右余白*/

.p-topicsList {
  margin: 0 10px;
}

/*何文字分横にあけるか*/

.p-topicsList_item {
  position: relative;
  padding: 10px 0 18px 13em;
  border-bottom: 1px dotted #e6e6e6;
}

.p-topicsList_item_date {
  position: absolute;
  left: 0;
  display: flex;
}

.p-topicsList_item_text[data-ico=pdf]:after {
  display: inline-block;
  width: 18px;
  height: 20px;
  margin: 0 0 5px 5px;
  content: '';
  vertical-align: middle;
  background: url(/common/img/ico_doc-pdf.svg) no-repeat;
  background-size: cover
}

.p-topicsList--type02 {
  padding-top: 10px;
  border-top: 3px solid #134089
}

.p-topicsList--type02 .p-topicsList_item {
  padding-right: 10px;
  padding-left: 10em
}

.p-topicsList--type02 .p-topicsList_item_date {
  left: 10px
}


/*　news pc　リンクアイコン　*/

.p-topicsList_item_text[data-ico=external]:after {
  display: inline-block;
  width: 16px;
  height: 16px;

  margin: 0 0 5px 0px;
  content: '';
  vertical-align: middle;
  background: url(/common/img/ico_external2.svg) no-repeat;
  background-size: cover
}

.p-topicsList_item_text[data-ico=internal]:after {
  display: inline-block;
  width: 14px;
  height: 14px;

  margin: 0 0 5px 0px;
  content: '';
  vertical-align: middle;
  background: url(/common/img/ico_internal.svg) no-repeat;
  background-size: cover
}

.p-topics_date {
  order: 1;
  margin: 3px 0 0 0;
}

/*news 分類名*/

.p-topics_category {
  display: inline;
  margin: 0 0 0 4px;
  order: 2;
}

.p-topics_category span {
  padding: 3px 4px;
  color: #FFF;
  background: #7D6A3E;
  font-size: 12px;
  width: 80px;
  text-align: center;
  display: inline-block;
}

/*news タイトル*/

.p-topicsList_item a {
  font-weight: bolder;
  text-decoration: none;
  color: #000;
  opacity: 1;
}

.p-topicsList_item a:hover {
  opacity: 0.8;
  text-decoration: underline;
}


.p-topicsList_item p.news_text {
  margin: 0px 0 0 0;
}



@media screen and (max-width:768px) {

  /*お知らせ並び*/
  .p-topics_date {
    order: 2;
  }

  .p-topics_category {
    margin: 0 6px 0 0;
    order: 1;
  }



  /*　フォントサイズ設定 flexbox、新着情報、出演情報　*/
  .flex_box,
  .p-topicsList_item_date,
  .p-topicsList_item_text,
  .news_text {
    font-size: 16px;
  }


  .p-topicsList {
    margin: 0 6px
  }

  .p-topicsList_item {
    padding: 13px 25px 13px 10px;
    cursor: pointer
  }

  .p-topicsList_item_date {
    position: static;
    /*    display: block;*/
    display: flex;
    flex-wrap: wrap;


  }


  .p-topicsList_item_text:after,
  .p-topicsList_item_text:before {
    /*
    position: absolute;
    top: 50%;
    display: block;
    content: ''
*/
  }

  .p-topicsList_item_text {
    text-decoration: none
  }

  .p-topicsList_item_text:before {
    right: 10px;
    width: 12px;
    height: 12px;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    border-radius: 50%;
    background: #134089
  }

  .p-topicsList_item_text:after {
    /*
    right: 15px;
    width: 3px;
    height: 3px;

    -webkit-transform: translateY(-50%) rotate(45deg);
    -ms-transform: translateY(-50%) rotate(45deg);
    transform: translateY(-50%) rotate(45deg);
    border-top: 1px solid #FFF;
    border-right: 1px solid #FFF
*/
  }

  .p-topicsList_item_text[data-ico=pdf]:before {
    display: none
  }

  .p-topicsList_item_text[data-ico=pdf]:after {
    right: 10px;
    width: 11px;
    height: 12px;
    -webkit-transform: translateY(-50%) rotate(0);
    -ms-transform: translateY(-50%) rotate(0);
    transform: translateY(-50%) rotate(0);
    border: none
  }


  .p-topicsList_item_text[data-ico=external]:before,
  .p-topicsList_item_text[data-ico=internal]:before {
    display: none;
  }

  .p-topicsList_item_text[data-ico=external]:after {
    right: 6px;
    width: 14px;
    height: 14px;
  }

  .p-topicsList_item_text[data-ico=internal]:after {
    right: 6px;
    width: 11px;
    height: 12px;
  }


  .p-topicsList--type02 {
    padding-top: 5px;
    border-top: 3px solid #134089
  }

  .p-topicsList--type02 .p-topicsList_item {
    padding: 13px 25px 13px 10px
  }

  .p-topicsList--type02 .p-topicsList_item_date {
    left: 10px
  }
}

.topics_path {
  padding: 20px 10px
}

.topics_path_list {
  font-size: 0;
  width: 100%;
  max-width: 988px;
  margin: 0 auto
}

.topics_path_list_item {
  font-size: 12px;
  font-size: 1.2rem;
  float: left
}

.topics_path_list_item:last-child a {
  text-decoration: none;
  color: #333
}

.topics_path_list_item + .topics_path_list_item:before {
  display: inline-block;
  width: 4px;
  height: 4px;
  margin: 0 9px;
  content: '';
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  vertical-align: middle;
  border-top: 1px solid #7f7f7f;
  border-right: 1px solid #7f7f7f
}

@media screen and (max-width:768px) {
  .topics_path {
    padding: 10px
  }

  .topics_path_list_item {
    font-size: 9px;
    font-size: .9rem
  }
}

.page_header {
  position: relative;
  margin: 0 -10px;
  /*border-bottom: 1px solid #e6e6e6;
  border-bottom: 1px solid #ECE2DB background: url(../images/common/bg_page-header_default.jpg) 100% 0 no-repeat #eef9fe;*/
  background: url(/common/img/header_contact.png) 100% 0 no-repeat #ECE2DB;
  background-size: auto 100%;
  background-size: cover;
}

.page_header:before {
  /*position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 3px;
  content: '';
  opacity: .08;
  background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuNSIgeTE9IjAuMCIgeDI9IjAuNSIgeTI9IjEuMCI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzAwMDAwMCIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA==);
  background: -webkit-gradient(linear, 50% 0, 50% 100%, color-stop(0, #000), color-stop(100%, #fff));
  background: -webkit-linear-gradient(top, #000, #fff);
  background: linear-gradient(to bottom, #000, #fff)*/
}

.page_header_title {
  font-size: 32px;
  font-size: 3.2rem;
  line-height: 1;
  width: 100%;
  max-width: 988px;
  margin: 0 auto;
  padding: 1.4em 20px 1.3em
}


@media screen and (max-width:768px) {
  .page_header {
    /*background-image: none*/
  }

  .page_header_title {
    font-size: 24px;
    font-size: 2.4rem;
    padding: 15px 10px 10px
  }
}

.p-categoryList {
  margin-bottom: -20px
}

.p-categoryList_item {
  margin-bottom: 20px;
  border-radius: 4px;
  background: #fff;
  box-shadow: 0 0 2px 1px rgba(0, 0, 0, .08)
}

.p-categoryList_item_inner {
  display: block;
  padding: 20px;
  text-decoration: none
}

.p-categoryList_item_thumb {
  margin: -20px -20px 20px
}

.p-categoryList_item_thumb img {
  width: 100%;
  height: auto
}

.p-categoryList_item_label {
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: 700;
  position: relative;
  padding-left: 24px;
  color: #003fa8
}

.p-categoryList_item_label:after,
.p-categoryList_item_label:before {
  position: absolute;
  top: .67em;
  display: block;
  content: ''
}

.p-categoryList_item_label:before {
  left: 0;
  width: 18px;
  height: 18px;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  border-radius: 50%;
  background: #134089
}

.p-categoryList_item_label:after {
  left: 5px;
  width: 4px;
  height: 4px;
  -webkit-transform: translateY(-50%) rotate(45deg);
  -ms-transform: translateY(-50%) rotate(45deg);
  transform: translateY(-50%) rotate(45deg);
  border-top: 2px solid #fff;
  border-right: 2px solid #fff
}

@media screen and (max-width:768px) {
  .p-categoryList {
    margin-bottom: -10px
  }

  .p-categoryList_item {
    margin-bottom: 10px
  }

  .p-categoryList_item_inner {
    padding: 10px 10px 7px
  }

  .p-categoryList_item_thumb {
    margin: -10px -10px 10px
  }

  .p-categoryList_item_label {
    padding-left: 15px
  }

  .p-categoryList_item_label:before {
    width: 12px;
    height: 12px
  }

  .p-categoryList_item_label:after {
    left: 3px;
    width: 3px;
    height: 3px;
    border-top-width: 1px;
    border-right-width: 1px
  }
}

.box_Linklist {
  margin-bottom: -20px
}

.box_Linklist_item {
  margin-bottom: 20px;
  border-radius: 4px;
  box-shadow: 0 0 2px 1px rgba(0, 0, 0, .08)
}

.box_Linklist_item a {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  padding: 16px 20px 12px 33px;
  -webkit-transition: .2s linear;
  transition: .2s linear;
  text-decoration: none;
  color: #003fa8;
  background: #fff;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}

.box_Linklist_item a:hover {
  opacity: 1;
  background: #eef9fe
}

.box_Linklist_item a:before {
  position: absolute;
  top: 50%;
  left: 18px;
  display: block;
  width: 4px;
  height: 4px;
  content: '';
  -webkit-transform: rotate(45deg) translateY(-50%);
  -ms-transform: rotate(45deg) translateY(-50%);
  transform: rotate(45deg) translateY(-50%);
  border-top: 2px solid #134089;
  border-right: 2px solid #134089
}

.box_Linklist_item a[data-ico=pdf]:after {
  display: inline-block;
  width: 16px;
  height: 18px;
  margin-left: 5px;
  content: '';
  vertical-align: middle;
  background: url(/common/img/ico_doc-pdf.svg) no-repeat;
  background-size: cover
}

@media screen and (max-width:768px) {

  .box_Linklist_item a:after,
  .box_Linklist_item a:before {
    position: absolute;
    top: 50%;
    display: block;
    content: ''
  }

  .box_Linklist {
    margin: 0 -5px -10px
  }

  .box_Linklist_item {
    width: calc((100% / 2) - 10px);
    margin: 0 5px 10px !important
  }

  .box_Linklist_item a {
    padding: 12px 30px 9px 10px
  }

  .box_Linklist_item a:before {
    right: 10px;
    left: inherit;
    width: 12px;
    height: 12px;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    border: none;
    border-radius: 50%;
    background: #134089
  }

  .box_Linklist_item a:after {
    right: 15px;
    width: 3px;
    height: 3px;
    -webkit-transform: translateY(-50%) rotate(45deg);
    -ms-transform: translateY(-50%) rotate(45deg);
    transform: translateY(-50%) rotate(45deg);
    border-top: 1px solid #fff;
    border-right: 1px solid #fff
  }

  .box_Linklist_item a[data-ico=pdf]:before {
    display: none
  }

  .box_Linklist_item a[data-ico=pdf]:after {
    right: 10px;
    width: 11px;
    height: 12px;
    -webkit-transform: translateY(-50%) rotate(0);
    -ms-transform: translateY(-50%) rotate(0);
    transform: translateY(-50%) rotate(0)
  }
}

.box_Linklist02 {
  margin-bottom: -20px
}

.box_Linklist02_item {
  margin-bottom: 20px;
  border-radius: 4px
}

.box_Linklist02_item_thumb {
  margin: -11px -11px 10px
}

.box_Linklist02_item_thumb img {
  width: 100%
}

.box_Linklist02_item a {
  font-weight: 700;
  position: relative;
  display: block;
  height: 100%;
  padding: 10px 10px 8px;
  text-decoration: none;
  color: #003fa8;
  border: 1px solid #ECE2DB;
  border-radius: 4px;
  background: #fff
}

.box_Linklist02_item a[data-ico=pdf]:after {
  display: inline-block;
  width: 16px;
  height: 18px;
  margin-left: 5px;
  content: '';
  vertical-align: middle;
  background: url(/common/img/ico_doc-pdf.svg) no-repeat;
  background-size: cover
}

.price {
  color: #c00
}

.price_num {
  font-size: 20px;
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.3
}

@media screen and (max-width:768px) {
  .box_Linklist02 {
    margin-bottom: 0
  }

  .box_Linklist02_item {
    margin: 0
  }

  .box_Linklist02_item + .box_Linklist02_item {
    margin-top: 10px
  }

  .box_Linklist02_item_thumb {
    margin: 0 20px 0 0
  }

  .box_Linklist02_item_thumb img {
    width: 97px
  }

  .box_Linklist02_item a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 10px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
  }

  .box_Linklist02_item a[data-ico=pdf]:after {
    width: 11px;
    height: 12px
  }

  .price_num {
    font-size: 19px;
    font-size: 1.9rem
  }
}

.career_block {
  display: table;
  width: 100%
}

.career_block_image,
.career_block_outline {
  display: table-cell;
  vertical-align: top
}

.career_block_image {
  width: 142px;
  padding: 0 20px 0 0;
  text-align: center
}

.career_block_image_caption {
  font-size: 13px;
  font-size: 1.3rem;
  margin-top: 7px
}

.career_block_outline_table {
  width: 100%;
  border-collapse: collapse
}

.career_block_outline_table td,
.career_block_outline_table th {
  padding: 10px;
  border-top: 1px dotted #e6e6e6;
  border-bottom: 1px dotted #e6e6e6
}

.career_block_outline_table th {
  width: 8.5em;
  text-align: left
}

@media screen and (max-width:768px) {

  .career_block_image,
  .career_block_outline_table td,
  .career_block_outline_table th {
    display: block;
    width: auto
  }

  .career_block {
    display: block
  }

  .career_block_image {
    margin: 0 0 15px;
    padding: 0;
    text-align: center
  }

  .career_block_outline {
    display: block
  }

  .career_block_outline_table {
    border-bottom: 1px dotted #e6e6e6
  }

  .career_block_outline_table td {
    padding-top: 0;
    border: none
  }

  .career_block_outline_table th {
    padding-bottom: 0;
    border-bottom: none
  }
}

.faq_question:before {
  top: 0.7em;
  left: 20px;
  width: 40px;
  height: 40px;
  content: '';
  display: block
}

.faq_answer:before {
  top: 0em;
  left: 20px;
  width: 40px;
  height: 40px;
  content: '';
  display: block
}



.faq_question {
  font-weight: 700;
  position: relative;
  padding: 20px 90px 0px 80px;
  border-radius: 4px;
  /*  background: #f6f6f6;*/

}

.faq_question:before {
  position: absolute;
  background: url(/common/img/ico_question.png) no-repeat;
  background-size: cover
}

.faq_answer {
  position: relative;
  padding: 4px 90px 26px 80px
}

.faq_answer:before {
  position: absolute;
  background: url(/common/img/ico_answer.png) no-repeat;
  background-size: cover
}

h3.faq_question {
  font-size: 20px;
  font-size: 2.0rem;
}

.faq_answer p {
  font-size: 20px;
  font-size: 2.0rem;
}


@media screen and (max-width:768px) {

  .faq_question:before {
    top: 0.1em;
    left: 10px;
    width: 20px;
    height: 20px;
  }

  .faq_answer:before {
    top: 0.08em;
    left: 10px;
    width: 20px;
    height: 20px;
  }





  .faq_question {
    padding: 0px 50px 0px 38px;
  }

  h3.faq_question {
    font-size: 15px;
    font-size: 1.5rem;
  }

  .faq_answer {
    padding: 0px 20px 20px 40px;
  }

  .faq_answer p {
    font-size: 15px;
    font-size: 1.5rem;
  }

}

.mgz_intro {
  margin: 0 0 50px;
  padding: 30px 30px 27px;
  background: #f6f6f6
}

.mgz_archives td,
.mgz_archives th {
  padding: 20px;
  vertical-align: top;
  border: 1px solid #e6e6e6
}

.mgz_intro_image {
  position: relative;
  margin: -30px -30px 30px
}

.mgz_intro_image:after {
  position: absolute;
  right: 0;
  bottom: 0;
  display: block;
  width: 44%;
  height: 100%;
  margin-right: -2%;
  content: '';
  background: url(../images/info/mgz/bg_mgz-covers.png) 0 100% no-repeat;
  background-size: 100% auto
}

.mgz_archives {
  margin: 0 0 50px;
  background: #fff
}

.mgz_archives th {
  font-weight: 400;
  width: 140px;
  text-align: center;
  background: #ebf6ff
}

.p-accessInfo_title,
.p-floorMap_group_title {
  font-weight: 700
}

.mgz_archives_cover {
  display: block;
  margin: 0 auto
}

.mgz_archives_title {
  margin-left: -6px
}

.mgz_archives_btn {
  font-size: 13px;
  font-size: 1.3rem;
  margin: 10px 0 0
}

.mgz_archives_btn .c-btn_label {
  padding: 7px 10px
}

@media screen and (max-width:768px) {
  .mgz_intro {
    margin: 0 0 30px;
    padding: 20px 20px 17px
  }

  .mgz_intro_image {
    margin: -20px -20px 20px
  }

  .mgz_intro_image:after {
    display: none
  }

  .mgz_archives {
    margin: 0 0 30px;
    border-top: 1px solid #e6e6e6
  }

  .mgz_archives td,
  .mgz_archives th {
    border-top: none;
    display: block
  }

  .mgz_archives th {
    position: relative;
    width: auto
  }

  .mgz_archives_cover {
    display: block;
    margin: 0
  }

  .mgz_archives_btn {
    position: absolute;
    top: 20px;
    right: 20px;
    min-width: 80px;
    margin: 0
  }
}

.profile {
  display: table;
  overflow: hidden;
  width: 100%;
  border: 1px solid #e6e6e6;
  border-radius: 4px
}

.profile_detail,
.profile_image {
  display: table-cell;
  padding: 30px;
  vertical-align: top
}

.profile + .profile {
  margin-top: 20px
}

.profile_image {
  width: 250px;
  text-align: center;
  background: #fff;
}




.profile_detail {
  background: #fff
}

.profile_name {
  font-size: 20px;
  font-size: 2rem;
  line-height: 1;
  margin: 0 0 30px;
  padding: 0 0 15px;
  border-bottom: 1px solid #e6e6e6
}

.profile_info {
  margin: 0 -30px -30px 0
}

.profile_info_list {
  float: left;
  margin: 0 30px 30px 0
}

.profile_info_item {
  display: table;
  margin: 0
}

.profile_info_item--vertical {
  display: block;
  margin-top: 30px
}

.profile_info_item--vertical .profile_info_cat {
  display: block
}

.profile_info_item--vertical .profile_info_data {
  display: block;
  padding: 20px 0 0
}

.profile_info_cat,
.profile_info_data {
  display: table-cell;
  vertical-align: top
}

.profile_info_data {
  padding: 4px 0 0 10px
}

.profile_info_label {
  font-weight: 700;
  line-height: 1;
  display: inline-block;
  padding: 7px 10px 4px;
  white-space: nowrap;
  border: 1px solid #e6e6e6;
  background: #f7f7f7
}

@media screen and (max-width:768px) {

  .profile_detail,
  .profile_image {
    padding: 20px;
    display: block
  }

  .profile {
    display: block
  }

  .profile + .profile {
    margin-top: 10px
  }

  .profile_image {
    width: auto
  }

  .profile_name {
    font-size: 16px;
    font-size: 1.6rem;
    margin: 0 0 20px;
    padding: 0 0 10px
  }

  .profile_info {
    display: block;
    margin: 0
  }

  .profile_info_list {
    float: none;
    margin: 0
  }

  .profile_info_item--vertical,
  .profile_info_list + .profile_info_list {
    margin-top: 10px
  }

  .profile_info_item--vertical .profile_info_data {
    padding: 15px 0 0
  }
}

.p-boxPink {
  padding: 30px;
  background: #fff5f8
}

@media screen and (max-width:768px) {
  .p-boxPink {
    padding: 20px
  }
}

.num_box_flow {
  margin: 0 -20px;
  counter-reset: step-number 0
}

.num_box_flow_step {
  position: relative;
  float: left;
  width: calc((100% - 40px * 2)/ 2);
  margin: 0 20px 40px;
  padding: 20px;
  border: 1px solid #e6e6e6;
  border-radius: 4px
}

.num_box_flow_step:after,
.num_box_flow_step:before {
  position: absolute;
  display: block;
  content: ''
}

.num_box_flow_step:before {
  width: 18px;
  height: 3px;
  background: #ffa1b9
}

.num_box_flow_step:after {
  width: 14px;
  height: 14px
}

.num_box_flow_step:nth-child(odd):before {
  top: 50%;
  right: -28px;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%)
}

.num_box_flow_step:nth-child(odd):after {
  top: 50%;
  right: -28px;
  -webkit-transform: translateY(-50%) rotate(45deg);
  -ms-transform: translateY(-50%) rotate(45deg);
  transform: translateY(-50%) rotate(45deg);
  border-top: 3px solid #ffa1b9;
  border-right: 3px solid #ffa1b9
}

.num_box_flow_step:nth-child(even):before {
  bottom: -21px;
  left: -28px;
  -webkit-transform: rotate(135deg);
  -ms-transform: rotate(135deg);
  transform: rotate(135deg)
}

.num_box_flow_step:nth-child(even):after {
  bottom: -28px;
  left: -28px;
  border-bottom: 3px solid #ffa1b9;
  border-left: 3px solid #ffa1b9
}

.num_box_flow_step:last-child:after,
.num_box_flow_step:last-child:before {
  display: none
}

.num_box_flow_step_image {
  overflow: hidden;
  margin: 0 0 20px;
  border-radius: 4px
}

.num_box_flow_step_image img {
  width: 100%
}

.num_box_flow_step_desc {
  position: relative;
  min-height: 3.4em;
  padding-left: 4em
}

.num_box_flow_step_desc:before {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 2.75;
  position: absolute;
  left: 0;
  width: 2.75em;
  height: 2.75em;
  content: counter(step-number);
  counter-increment: step-number 1;
  text-align: center;
  color: #fff;
  border-radius: 50%;
  background: #ffa1b9
}

@media screen and (max-width:768px) {

  .num_box_flow_step:after,
  .num_box_flow_step:before {
    position: absolute;
    display: block;
    content: ''
  }

  .num_box_flow {
    margin: 0
  }

  .num_box_flow_step {
    float: none;
    width: auto;
    margin: 0
  }

  .num_box_flow_step + .num_box_flow_step {
    margin-top: 40px
  }

  .num_box_flow_step:before {
    width: 3px;
    height: 18px;
    background: #ffa1b9
  }

  .num_box_flow_step:after {
    width: 14px;
    height: 14px
  }

  .num_box_flow_step:nth-child(even):before,
  .num_box_flow_step:nth-child(odd):before {
    top: inherit;
    right: inherit;
    bottom: -28px;
    left: 50%;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0)
  }

  .num_box_flow_step:nth-child(even):after,
  .num_box_flow_step:nth-child(odd):after {
    top: inherit;
    right: inherit;
    bottom: -28px;
    left: 50%;
    margin-left: -15px;
    -webkit-transform: translateX(50%) rotate(45deg);
    -ms-transform: translateX(50%) rotate(45deg);
    transform: translateX(50%) rotate(45deg);
    border-top: none;
    border-right: 3px solid #ffa1b9;
    border-bottom: 3px solid #ffa1b9;
    border-left: none
  }
}

.p-accessInfo:before,
.contact:before {
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: cover;
  content: ''
}

.contact {
  position: relative;
  margin: 0;
  text-align: center;
  color: #134089
}

.contact:before {
  display: block;
  width: 64px;
  height: 64px;
  margin: 0 auto 10px
}

.contact_title {
  font-size: 12px;
  font-size: 1.2rem
}

.contact_data {
  font-size: 28px;
  font-size: 2.8rem;
  line-height: 1
}

.contact--phone:before {
  background-image: url(/common/img/ico_phone_02.svg)
}

.contact--fax:before {
  background-image: url(/common/img/ico_fax.svg)
}

.contact--email:before {
  background-image: url(/common/img/ico_email.svg)
}

.contact--email .contact_data {
  /*  font-size: 16px;*/
  /*  font-size: 1.6rem;*/
  padding-top: 5px
}

.contact--phone .contact_data {
  /*  font-size: 16px;*/
  /*  font-size: 1.6rem;*/
  padding-top: 5px
}

.contact--horizontal {
  min-height: 50px;
  padding-left: 60px;
  text-align: left
}

.contact--horizontal:before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 50px;
  height: 50px;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%)
}

.contact--horizontal + .contact--horizontal {
  margin-top: 10px
}


/*

.area-contact .box100 {
  width: 100px;
}
*/

.area-contact .box-mail {
  width: 47.5%;
}


.area-contact .box-small {
  width: 20%;
}

.area-contact .box-mid {
  width: 49.5%;
}

.area-contact .box-large,
.area-contact .box_txtarea {
  width: 90%;
}



@media screen and (max-width:768px) {
  .contact {
    min-height: 50px;
    margin: 0;
    padding-left: 60px;
    text-align: left
  }

  .contact:before {
    position: absolute;
    left: 0;
    width: 50px;
    height: 50px;
    margin: 0
  }


  .area-contact .box-mail {
    width: 90%;
  }

  .area-contact .box-mid {
    width: 90%;
  }

  .area-contact .box-large {
    width: 90%;
  }


}

.p-pagenation {
  display: table;
  margin: 0 auto
}

.p-pagenation_item {
  float: left;
  width: calc(((100% / 12) * 3) - 20px);
  min-width: calc(((712px / 12) * 3) - 20px);
  margin: 0 10px
}

@media screen and (max-width:768px) {
  .p-pagenation {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 20px -5px 0;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
  }

  .p-pagenation_item {
    float: none;
    width: calc((100% / 2) - 10px);
    min-width: 0;
    margin: 0 5px
  }
}

.p-accessInfo {
  position: relative;
  min-height: 74px;
  margin: 0;
  padding: 0 0 0 90px
}

.p-accessInfo:before {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 74px;
  height: 74px
}

.mfp-bg,
.mfp-wrap {
  position: fixed;
  top: 0;
  left: 0
}

.p-accessInfo--train:before {
  background-image: url(/common/img/ico_train.svg)
}

.p-accessInfo--bus:before {
  background-image: url(/common/img/ico_bus.svg)
}

.p-accessInfo--car:before {
  background-image: url(/common/img/ico_car.svg)
}

.p-accessInfo + .p-accessInfo {
  margin-top: 30px
}

@media screen and (max-width:768px) {
  .p-accessInfo {
    min-height: 50px;
    padding: 0 0 0 60px
  }

  .p-accessInfo:before {
    width: 50px;
    height: 50px
  }

  .p-accessInfo + .p-accessInfo {
    margin-top: 20px
  }
}

.p-floorMap {
  margin: 0 -2px 48px
}

.p-floorMap table {
  width: 100%;
  table-layout: fixed;
  text-align: center
}

.p-floorMap td,
.p-floorMap th {
  border: 2px solid #fff
}

.p-floorMap td {
  vertical-align: top
}

.p-floorMap_heading {
  font-size: 20px;
  font-size: 2rem;
  padding: 15px 40px 12px;
  color: #fff
}

.p-floorMap_heading--east {
  background: #ef9981
}

.p-floorMap_heading--west {
  background: #6cc1d8
}

.p-floorMap_label {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1;
  padding: 10px 40px;
  background: #f1f2f1
}

.p-floorMap_data {
  padding: 20px 40px;
  background: #f9f5eb
}

.p-floorMap_data--east {
  background: #fceee9
}

.p-floorMap_data--west {
  background: #e6f4f9
}

.p-floorMap_group {
  margin: 0
}

.p-floorMap_other {
  margin: 20px 0 0;
  padding: 5px;
  text-align: center;
  background: #fff
}

@media screen and (max-width:768px) {
  .p-floorMap {
    margin: 0 -2px 30px
  }

  .p-floorMap_heading {
    font-size: 18px;
    font-size: 1.8rem;
    padding: 15px 15px 12px
  }

  .p-floorMap_label {
    font-size: 16px;
    font-size: 1.6rem;
    padding: 10px 15px
  }

  .p-floorMap_data {
    padding: 15px
  }

  .p-floorMap_group_data {
    text-align: left
  }

  .p-floorMap_other {
    margin-top: 15px
  }
}

.mfp-bg {
  z-index: 1042;
  overflow: hidden;
  width: 100%;
  height: 100%;
  opacity: .8;
  background: #0b0b0b
}

.mfp-wrap {
  z-index: 1043;
  width: 100%;
  height: 100%;
  outline: 0 !important;
  -webkit-backface-visibility: hidden
}

.mfp-container {
  position: absolute;
  top: 0;
  left: 0;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  padding: 0 8px;
  text-align: center
}

.mfp-container:before {
  display: inline-block;
  height: 100%;
  content: '';
  vertical-align: middle
}

.mfp-align-top .mfp-container:before {
  display: none
}

.mfp-content {
  position: relative;
  z-index: 1045;
  display: inline-block;
  margin: 0 auto;
  text-align: left;
  vertical-align: middle
}

.mfp-close,
.mfp-preloader {
  text-align: center;
  position: absolute
}

.mfp-ajax-holder .mfp-content,
.mfp-inline-holder .mfp-content {
  width: 100%;
  cursor: auto
}

.mfp-ajax-cur {
  cursor: progress
}

.mfp-zoom-out-cur,
.mfp-zoom-out-cur .mfp-image-holder .mfp-close {
  cursor: zoom-out
}

.mfp-zoom {
  cursor: pointer;
  cursor: zoom-in
}

.mfp-auto-cursor .mfp-content {
  cursor: auto
}

.mfp-arrow,
.mfp-close,
.mfp-counter,
.mfp-preloader {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none
}

.mfp-loading.mfp-figure {
  display: none
}

.mfp-hide {
  display: none !important
}

.mfp-preloader {
  z-index: 1044;
  top: 50%;
  right: 8px;
  left: 8px;
  width: auto;
  margin-top: -.8em;
  color: #ccc
}

.mfp-preloader a {
  color: #ccc
}

.mfp-close,
.mfp-preloader a:hover {
  color: #fff
}

.mfp-s-error .mfp-content,
.mfp-s-ready .mfp-preloader {
  display: none
}

button.mfp-arrow,
button.mfp-close {
  z-index: 1046;
  display: block;
  overflow: visible;
  padding: 0;
  cursor: pointer;
  border: 0;
  outline: 0;
  background: 0 0;
  box-shadow: none;
  -webkit-appearance: none;
  -ms-touch-action: manipulation;
  touch-action: manipulation
}

button::-moz-focus-inner {
  padding: 0;
  border: 0
}

.mfp-close {
  font-family: Arial, Baskerville, monospace;
  font-size: 28px;
  font-style: normal;
  line-height: 44px;
  top: 0;
  right: 0;
  width: 44px;
  height: 44px;
  padding: 0 0 18px 10px;
  text-decoration: none;
  opacity: .65
}

.mfp-close:focus,
.mfp-close:hover {
  opacity: 1
}

.mfp-close:active {
  top: 1px
}

.mfp-close-btn-in .mfp-close {
  color: #333
}

.mfp-iframe-holder .mfp-close,
.mfp-image-holder .mfp-close {
  right: -6px;
  width: 100%;
  padding-right: 6px;
  text-align: right;
  color: #fff
}

.mfp-counter {
  font-size: 12px;
  line-height: 18px;
  position: absolute;
  top: 0;
  right: 0;
  white-space: nowrap;
  color: #ccc
}

.mfp-arrow {
  position: absolute;
  top: 50%;
  width: 90px;
  height: 110px;
  margin: -55px 0 0;
  padding: 0;
  opacity: .65;
  -webkit-tap-highlight-color: transparent
}

.mfp-arrow:active {
  margin-top: -54px
}

.mfp-arrow:focus,
.mfp-arrow:hover {
  opacity: 1
}

.mfp-arrow:after,
.mfp-arrow:before {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 0;
  height: 0;
  margin-top: 35px;
  margin-left: 35px;
  content: '';
  border: inset transparent
}

.mfp-arrow:after {
  top: 8px;
  border-top-width: 13px;
  border-bottom-width: 13px
}

.mfp-arrow:before {
  opacity: .7;
  border-top-width: 21px;
  border-bottom-width: 21px
}

.mfp-arrow-left {
  left: 0
}

.mfp-arrow-left:after {
  margin-left: 31px;
  border-right: 17px solid #fff
}

.mfp-arrow-left:before {
  margin-left: 25px;
  border-right: 27px solid #3f3f3f
}

.mfp-arrow-right {
  right: 0
}

.mfp-arrow-right:after {
  margin-left: 39px;
  border-left: 17px solid #fff
}

.mfp-arrow-right:before {
  border-left: 27px solid #3f3f3f
}

.mfp-iframe-holder {
  padding-top: 40px;
  padding-bottom: 40px
}

.mfp-iframe-holder .mfp-content {
  line-height: 0;
  width: 100%;
  max-width: 900px
}

.mfp-iframe-holder .mfp-close {
  top: -40px
}

.mfp-iframe-scaler {
  overflow: hidden;
  width: 100%;
  height: 0;
  padding-top: 56.25%
}

.mfp-iframe-scaler iframe {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  background: #000;
  box-shadow: 0 0 8px rgba(0, 0, 0, .6)
}

img.mfp-img {
  line-height: 0;
  display: block;
  box-sizing: border-box;
  width: auto;
  max-width: 100%;
  height: auto;
  margin: 0 auto
}

.mfp-figure {
  line-height: 0;
  padding: 20px;
  background: #fff
}

p-figure small {
  font-size: 12px;
  line-height: 14px;
  display: block;
  color: #bdbdbd
}

.mfp-figure figure {
  margin: 0
}

.mfp-bottom-bar {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  margin-top: -36px;
  cursor: auto
}

.mfp-title {
  line-height: 18px;
  padding-right: 36px;
  text-align: left;
  color: #f3f3f3
}

.mfp-image-holder .mfp-content {
  width: 100%;
  max-width: 988px
}

.mfp-gallery .mfp-image-holder .mfp-figure {
  cursor: pointer
}

.mfp-fade.mfp-bg {
  -webkit-transition: all .15s ease-out;
  transition: all .15s ease-out;
  opacity: 0
}

.mfp-fade.mfp-bg.mfp-ready {
  opacity: .8
}

.mfp-fade.mfp-bg.mfp-removing {
  opacity: 0
}

.mfp-fade.mfp-wrap .mfp-content {
  -webkit-transition: all .15s ease-out;
  transition: all .15s ease-out;
  opacity: 0
}

.mfp-fade.mfp-wrap.mfp-ready .mfp-content {
  opacity: 1
}

.mfp-fade.mfp-wrap.mfp-removing .mfp-content {
  opacity: 0
}

@media screen and (max-width:800px) and (orientation:landscape),
screen and (max-height:300px) {
  .mfp-img-mobile .mfp-image-holder {
    padding-right: 0;
    padding-left: 0
  }

  .mfp-img-mobile img.mfp-img {
    padding: 0
  }

  .mfp-img-mobile .mfp-figure:after {
    top: 0;
    bottom: 0
  }

  .mfp-img-mobile .mfp-figure small {
    display: inline;
    margin-left: 5px
  }

  .mfp-img-mobile .mfp-bottom-bar {
    position: fixed;
    top: auto;
    bottom: 0;
    box-sizing: border-box;
    margin: 0;
    padding: 3px 5px;
    background: rgba(0, 0, 0, .6)
  }

  .mfp-img-mobile .mfp-bottom-bar:empty {
    padding: 0
  }

  .mfp-img-mobile .mfp-counter {
    top: 3px;
    right: 5px
  }

  .mfp-img-mobile .mfp-close {
    line-height: 35px;
    position: fixed;
    top: 0;
    right: 0;
    width: 35px;
    height: 35px;
    padding: 0;
    text-align: center;
    background: rgba(0, 0, 0, .6)
  }
}

@media all and (max-width:900px) {
  .mfp-arrow {
    -webkit-transform: scale(.75);
    -ms-transform: scale(.75);
    transform: scale(.75)
  }

  .mfp-arrow-left {
    -webkit-transform-origin: 0;
    -ms-transform-origin: 0;
    transform-origin: 0
  }

  .mfp-arrow-right {
    -webkit-transform-origin: 100%;
    -ms-transform-origin: 100%;
    transform-origin: 100%
  }

  .mfp-container {
    padding-right: 6px;
    padding-left: 6px
  }
}

@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:768px) {
  .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*/

.gmap {
  width: 96%;
  margin: 0 auto;
}

.gmap iframe {
  width: 100%;
  height: 360px;
}

@media screen and (max-width:768px) {
  .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:768px) {

  .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;
  margin: 0 auto;
  font-size: 14px;
}

@media screen and (max-width:768px) {
  .breadcrumb_list {
    display: none;
  }
}

.breadcrumb_list li {
  display: inline;
}

.breadcrumb_list li:after {
  content: "\f105";
  font-family: FontAwesome;
  padding: 0 0 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;
  border-bottom: 3px solid #9B8262;
}

/*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クラスに対して追加する場合

*************************************************/

.acMenu_h_close {
  border-bottom: 1px solid #ccc;
  margin-bottom: 10px;
}

.sec_plan > .acMenu_h_close {
  border-bottom: none;
  margin-bottom: 10px;
}

.acMenu_h_close:last-child {
  margin-bottom: 40px;
}


.acMenu_h_close .open,
.acMenu_h_open .open,
#acMenu_h_close .open,
#acMenu_h_open .open {
  text-align: left;
  cursor: pointer;
  position: relative;
  width: 100%;
  display: block;
}

/*qa 20190521追加*/

.faq.acMenu_h_close .open:after {
  content: "\f067";
  font-family: FontAwesome;
  color: #9B8262;
  color: #2D2522;
  position: absolute;
  top: 50%;
  right: 6px;
  font-size: 12px;
  background: #F1B8B8;
  border-radius: 4px;
  padding: 2px 4px;
  width: 52px;
  text-align: center;
}

.acMenu_h_close h3.open:after,
#acMenu_h_close h3.open:after {
  position: absolute;
  top: 38%;
  right: 6px;
  content: url(/common/img/icon_qa_open.png);
  /*  border-radius: 4px;*/
  padding: 2px 4px;
  width: 52px;
  text-align: center;
}

.acMenu_h_close h2.open:after,
#acMenu_h_close h2.open:after {
  position: absolute;
  top: 20%;
  right: 8px;
  content: url(/common/img/icon_qa_open.png);
  padding: 0px 4px;
  width: 52px;
  text-align: center;
}

.sec_plan .acMenu_h_close h2.open:after {
  position: absolute;
  top: 24%;
  right: 8px;
  content: url(/common/img/icon_plan_open.png);
  padding: 0px 4px;
  width: 52px;
  text-align: center;
}

.acMenu_h_close .open.active:after,
#acMenu_h_close .open.active:after {
  content: url(/common/img/icon_qa_close.png);
}

.sec_plan .acMenu_h_close .open.active:after {
  content: url(/common/img/icon_plan_close.png);
}


.acMenu_h_close .acmenu_data,
#acMenu_h_close .acmenu_data {
  width: 100%;
  display: none;
  border: none;
  margin-top: 10px;
}


/*初期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:768px) {

  .acMenu_h_close h3.open:after {
    position: absolute;
    top: 20%;
    right: 0px;
    content: url(/common/img/icon_plan_open_sp.png);
    padding: 0px 2px;
    width: 30px;
    text-align: center;
  }


  .acMenu_h_close .open.active:after {
    content: url(/common/img/icon_plan_close_sp.png);
  }




  /*icon 縦位置*/
  .acMenu_h_close h2.open:after,
  .acMenu_h_close h3.open:after,
  #acMenu_h_close h2.open:after,
  #acMenu_h_close h3.open:after,
  .acMenu_h_open h2.open:after,
  .acMenu_h_open h3.open:after,
  #acMenu_h_open h2.open:after,
  #acMenu_h_open h3.open:after,
  .sec_plan .acMenu_h_close h2.open:after,
  .sec_plan .acMenu_h_open h2.open:after {
    top: 46%;
    margin-top: -.5em;
    /*「アイコンフォント一文字の半分」のネガティブマージン*/
  }
}

.detail_btn {
  margin: 20px 0 30px;
}

.detail_btn_left {
  margin: 20px 0 30px 20px;
}



.underline {
  text-align: left;
  background-color: #FBCF37;
  color: #464646;
  text-decoration: none;
  font-weight: normal;
  padding: 16px 60px;
  border-radius: 0px;

  display: inline-block;
  position: relative;
}

.underline::after {
  background-color: #464646;
  bottom: 50%;
  content: '';
  display: block;
  height: 1px;
  left: -50px;
  position: absolute;
  transition: .5s all;
  width: 0px;
}

.underline:hover::after {
  width: 30%;
  opacity: 0.8;
}



@media screen and (max-width:768px) {

  .detail_btn {
    margin: 10px 0 10px;
  }

  .detail_btn_left {
    margin: 10px 0 10px 20px;
  }



  .underline {
    text-align: left;
    background-color: #FBCF37;

    color: #464646;
    text-decoration: none;
    font-weight: normal;
    padding: 10px 60px;
    border-radius: 0px;

    display: inline-block;
    position: relative;
  }
}


/*================================================
 *  お問い合わせ
 ================================================*/

.checkbox01 input.checkbox01-input,
.checkbox02 input.checkbox02-input {
  margin: 0 -2px;
}

.checkbox01 .checkbox01-parts,
.checkbox01 .checkbox02-parts {
  margin-right: 20px;
}


.checkbox02 .checkbox_vertical {
  display: block;
}

/*news 分類名*/

.contact_icon {
  display: inline;
  margin: 0 0 0 2px;
  order: 2;
}

.contact_icon span {
  padding: 1px 8px;
  color: #FFF;
  background: #FF7BA6;
  font-size: 13px;
  /*  width: 50px;*/
  text-align: center;
  display: inline-block;
}

@media screen and (max-width:768px) {
  .contact_icon {
    margin: 0 4px 0 0;
    order: 1;
  }
}

/*連絡先追随*/
div#reservation {
  width: 52px;
  position: absolute;
  right: 0px;
  top: 200px;
  z-index: 100;
  border-radius: 5px;
}


div#reservation img {
  margin-bottom: 0px;
}

/*plan*/


.sec_plan {
  width: 80%;
  margin: 0 auto;
}

.sec_plan .table--type02 ul,
.sec_plan .table--type02 ol {
  margin-left: 20px;

}

.sec_plan .table--type02 ul li {
  list-style: disc;
  list-style-position: outside;
  padding: 0;
}

.sec_plan .table--type02 ol li {
  list-style: decimal;
  list-style-position: outside;

  padding: 0 0 10px 4px;
}

.flex-container {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
}

.flex-container > li {
  width: 30%;
  margin: 0px 0%;
}

@media screen and (max-width:768px) {

  .sec_plan {
    width: 96%;
    margin: 0 auto;
  }



  .flex-container > li {
    width: 50%;
    margin: 0px 0%;
  }

}


.sec_plan .accordion {
  text-align: center;
}

sec_plan .accordion li {
  list-style: none !important;
  list-style: none;
  list-style-type: none;
}

.accordion .inner {
  display: none;
}


.accordion .inner li {
  padding: 10px 0;
  position: relative;
  list-style: none;
}

.accordion .inner li .close {
  padding: 4px 5px;
  background: #fff;
  border: 1px solid #f0f0f0;
  border-radius: 10px;
  position: absolute;
  top: 6px;
  right: 10px;
  font-size: 14px;
  cursor: pointer;
}


.accordion .open {
  text-align: left;
  cursor: pointer;
  position: relative;
  width: 100%;
  display: block;
}

.sec_plan .accordion h2.open:after {
  position: absolute;
  top: 24%;
  right: 8px;
  content: url(/common/img/icon_plan_open.png);
  padding: 0px 4px;
  width: 52px;
  text-align: center;
}

.sec_plan .accordion h2.active:after {
  content: url(/common/img/icon_plan_close.png);
}

@media screen and (max-width:768px) {
  .sec_plan .accordion h2.open:after {
    position: absolute;
    top: 22%;
    right: 8px;
    content: url(/common/img/icon_plan_open_sp.png);
    padding: 0px 4px;
    width: 20px;
    text-align: center;
  }

  .sec_plan .accordion h2.active:after {
    content: url(/common/img/icon_plan_close_sp.png);
    top: 19%;
    right: 8px;
  }

}

.maru {
  display: inline;
  height: 50px;
  width: 100px;
  border-radius: 50%;
  /*  line-height: 50px;*/
  text-align: center;
  background: pink;
  font-size: 24px;
  margin-left: 20px;
}


/*
.flow_stepbox {
  display: -webkit-inline-flex;
  display: inline-flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: nowrap;
  flex-wrap: nowrap;
  align-items: center;

  width: 100%;
  margin: 0 0 20px 0;
}

.fstep_num {
  background: #FF9966;
  text-align: center;
  padding: 16px 6px;
  width: 90px;
  border-radius: 100%;
  line-height: 1.4em;
  color: #fff;
}

.step_num {
  display: block;
  font-size: 24px;
  font-size: 2.4rem;
  font-weight: 600;
}


.fstep_txt {
  padding: 10px 10px;
  width: 80%;
  justify-content: center;
}
*/
