@charset "UTF-8";
/*
Theme Name: ao beauty labo orijin(画像転用対策)
Theme URI: 
Description: ao beauty labo orijin
Version: 7.0
Author: huevo
*/
/*////////////////////////////////////////////////////////////

Layout CSS

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

 clearfix

////////////////////////////////////////////////////////////*/
/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
/**
* 1. Set default font family to sans-serif.
* 2. Prevent iOS text size adjust after orientation change, without disabling
*    user zoom.
*/
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}
/**
* Remove default margin.
*/
body {
  margin: 0;
}
/* HTML5 display definitions
========================================================================== */
/**
* Correct `block` display not defined for any HTML5 element in IE 8/9.
* Correct `block` display not defined for `details` or `summary` in IE 10/11
* and Firefox.
* Correct `block` display not defined for `main` in IE 11.
*/
article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display: block;
}
/**
* 1. Correct `inline-block` display not defined in IE 8/9.
* 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
*/
audio, canvas, progress, video {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */
}
/**
* Prevent modern browsers from displaying `audio` without controls.
* Remove excess height in iOS 5 devices.
*/
audio:not([controls]) {
  display: none;
  height: 0;
}
/**
* Address `[hidden]` styling not present in IE 8/9/10.
* Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
*/
[hidden], template {
  display: none;
}
/* Links
========================================================================== */
/**
* Remove the gray background color from active links in IE 10.
*/
a {
  background-color: transparent;
}
/**
* Improve readability when focused and also mouse hovered in all browsers.
*/
a:active, a:hover {
  outline: 0;
}
/* Text-level semantics
========================================================================== */
/**
* Address styling not present in IE 8/9/10/11, Safari, and Chrome.
*/
abbr[title] {
  border-bottom: 1px dotted;
}
/**
* Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
*/
b, strong {
  font-weight: bold;
}
/**
* Address styling not present in Safari and Chrome.
*/
dfn {
  font-style: italic;
}
/**
* Address variable `h1` font-size and margin within `section` and `article`
* contexts in Firefox 4+, Safari, and Chrome.
*/
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}
/**
* Address styling not present in IE 8/9.
*/
mark {
  background: #ff0;
  color: #000;
}
/**
* Address inconsistent and variable font size in all browsers.
*/
small {
  font-size: 80%;
}
/**
* Prevent `sub` and `sup` affecting `line-height` in all browsers.
*/
sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sup {
  top: -0.5em;
}
sub {
  bottom: -0.25em;
}
/* Embedded content
========================================================================== */
/**
* Remove border when inside `a` element in IE 8/9/10.
*/
img {
  border: 0;
  pointer-events: none;
}
a img {
  pointer-events: auto;
}
/**
* Correct overflow not hidden in IE 9/10/11.
*/
svg:not(:root) {
  overflow: hidden;
}
/* Grouping content
========================================================================== */
/**
* Address margin not present in IE 8/9 and Safari.
*/
figure {
  margin: 1em 40px;
}
/**
* Address differences between Firefox and other browsers.
*/
hr {
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  height: 0;
}
/**
* Contain overflow in all browsers.
*/
pre {
  overflow: auto;
}
/**
* Address odd `em`-unit font size rendering in all browsers.
*/
code, kbd, pre, samp {
  font-family: monospace, monospace;
  font-size: 1em;
}
/* Forms
========================================================================== */
/**
* Known limitation: by default, Chrome and Safari on OS X allow very limited
* styling of `select`, unless a `border` property is set.
*/
/**
* 1. Correct color not being inherited.
*    Known issue: affects color of disabled elements.
* 2. Correct font properties not being inherited.
* 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
*/
button, input, optgroup, select, textarea {
  color: inherit;
  /* 1 */
  font: inherit;
  /* 2 */
  margin: 0;
  /* 3 */
}
/**
* Address `overflow` set to `hidden` in IE 8/9/10/11.
*/
button {
  overflow: visible;
}
/**
* Address inconsistent `text-transform` inheritance for `button` and `select`.
* All other form control elements do not inherit `text-transform` values.
* Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
* Correct `select` style inheritance in Firefox.
*/
button, select {
  text-transform: none;
}
/**
* 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
*    and `video` controls.
* 2. Correct inability to style clickable `input` types in iOS.
* 3. Improve usability and consistency of cursor style between image-type
*    `input` and others.
*/
button, html input[type="button"], input[type="reset"], input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */
}
/**
* Re-set default cursor for disabled elements.
*/
button[disabled], html input[disabled] {
  cursor: default;
}
/**
* Remove inner padding and border in Firefox 4+.
*/
button::-moz-focus-inner, input::-moz-focus-inner {
  border: 0;
  padding: 0;
}
/**
* Address Firefox 4+ setting `line-height` on `input` using `!important` in
* the UA stylesheet.
*/
input {
  line-height: normal;
}
/**
* It's recommended that you don't attempt to style these elements.
* Firefox's implementation doesn't respect box-sizing, padding, or width.
*
* 1. Address box sizing set to `content-box` in IE 8/9/10.
* 2. Remove excess padding in IE 8/9/10.
*/
input[type="checkbox"], input[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}
/**
* Fix the cursor style for Chrome's increment/decrement buttons. For certain
* `font-size` values of the `input`, it causes the cursor style of the
* decrement button to change from `default` to `text`.
*/
input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button {
  height: auto;
}
/**
* 1. Address `appearance` set to `searchfield` in Safari and Chrome.
* 2. Address `box-sizing` set to `border-box` in Safari and Chrome
*    (include `-moz` to future-proof).
*/
input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
  /* 2 */
  box-sizing: content-box;
}
/**
* Remove inner padding and search cancel button in Safari and Chrome on OS X.
* Safari (but not Chrome) clips the cancel button when the search input has
* padding (and `textfield` appearance).
*/
input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}
/**
* Define consistent border, margin, and padding.
*/
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}
/**
* 1. Correct `color` not being inherited in IE 8/9/10/11.
* 2. Remove padding so people aren't caught out if they zero out fieldsets.
*/
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */
}
/**
* Remove default vertical scrollbar in IE 8/9/10/11.
*/
textarea {
  overflow: auto;
}
/**
* Don't inherit the `font-weight` (applied by a rule above).
* NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
*/
optgroup {
  font-weight: bold;
}
/* Tables
========================================================================== */
/**
* Remove most spacing between table cells.
*/
table {
  border-collapse: collapse;
  border-spacing: 0;
}
td, th {
  padding: 0;
}
/*////////////////////////////////////////////////////////////

clearfix

////////////////////////////////////////////////////////////*/
/* clearfix
------------------------------------------------------------*/
header .fixeditems, .contents._single .post .pagenavi_single, .sidebar .categorylist li, form .formitem {
  zoom: 1;
}
header .fixeditems:after, .contents._single .post .pagenavi_single:after, .sidebar .categorylist li:after, form .formitem:after {
  content: "";
  display: block;
  clear: both;
}
/* ul reset
------------------------------------------------------------*/
.header_nav ul, .footer_nav ul, .topvisual ul, .contents._qa .qaitems ul.qaitem li, .contents._blog .catlist, .categories .catitems, .sidebar .categorylist, .sidebar .postitems, .archivelist, .archivelist li ul {
  margin: 0;
  padding: 0;
  list-style-type: none;
}
/* inner
------------------------------------------------------------*/
header .inner, footer .inner, .index_concept .inner, .index_beginner .baloon .inner, .index_beginner .point .pointitems, .index_menu .menuitems, .beginner_about .inner {
  padding: 0 20px;
  width: 100%;
}
@media only screen and (min-width: 768px) {
  header .inner, footer .inner, .index_concept .inner, .index_beginner .baloon .inner, .index_beginner .point .pointitems, .index_menu .menuitems, .beginner_about .inner {
    margin: 0 auto;
    padding: 0;
    width: 960px;
  }
}
/* フォント
------------------------------------------------------------*/
.index_concept .inner h3, .index_beginner .point .pointitems .pointitem h4, .menubox .menuitems .textbox h3 {
  font-family: "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
header .fixeditems .contact_btns .tel .telnum, header .fixeditems .contact_btns .mail, .header_nav .headeritems_sp .tel, .header_nav .headeritems_sp .mail, .ttl_lv1, .ttl_lv2._quicksand, .more, .back, .contents._voice_single .voicesingleitem .voicesinglecontent h3 .num, .contents._qa .qaitems ul.qaitem h4 span, .contents._qa .qaitems ul.qaitem .ans .ansin span, .staffitems .staffitem .titles .num, .sidebar .sidebar_ttl, .contents._contact .tels .num, .contents .reserve .reserveitems .reserveitem .btn_contact {
  font-family: 'Quicksand', sans-serif;
  letter-spacing: 0.15rem;
}
.note {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 20px;
  line-height: 2rem;
}
.note a {
  text-decoration: underline;
}
.note a:hover {
  text-decoration: none;
}
/* ロールオーバーの処理
------------------------------------------------------------*/
header .fixeditems .reserve span:hover, header .fixeditems .net span:hover, header .fixeditems .shop span:hover, header .fixeditems .contact_btns .mail:hover, .header_nav ul li a:hover, .footeritems .net span:hover, .footeritems .mail span:hover, .thisinfo:hover, .footer_btns a._reserve span:hover, .footer_btns a._net span:hover, .more:hover em:hover, .back:hover em:hover, .btn_blog span em:hover, .index_beginner .point .pointitems .index_beginner_link:hover, .index_media .mediaitems .itemimg a:hover, .index_blog .blogitems .blogitem .blogimg:hover, .index_blog .blogitems .blogitem .category:hover span:hover, .index_insta .btn_insta:hover, .beginner_reservebox .yoyakuzyoukyou:hover, .menu_chiryo a.chiryouin:hover, .pricebox .pricelink span:hover, .contents._voice .voiceitems .voiceitem .voiceimg:hover, .contents._voice .voiceitems .voiceitem h3 a:hover, .contents._blog .blogitems .blogitem._first .meta h3 a:hover, .contents._blog .blogitems .blogitem .blogimg:hover, .contents._blog .blogitems .blogitem .meta .category:hover span:hover, .contents._blog .blogitems .blogitem h3 a:hover, .contents._single .post .category a span:hover, .contents._single .post .pagenavi_single .pre a:hover, .contents._single .post .pagenavi_single .next a:hover, .contents._single .recent .recentitems .recentitem .recentimg:hover, .contents._single .recent .recentitems .recentitem .content .title:hover, .contents._single .recent .recentitems .recentitem .content .category:hover, .categories .catttl a:hover, .categories .catitems .catitem .catimg:hover, .categories .catitems .catitem .title a:hover, .sidebar .categorylist li a:hover, .sidebar .search .searchsubmit:hover, .sidebar .postitems .postitem .postimg:hover, .sidebar .postitems .postitem .content .title:hover, .sidebar .postitems .postitem .content .category:hover, .archivelist li span:hover, .contents._contact .tels .num:hover, .contents .reserve .reserveitems .reserveitem .btn_contact:hover em:hover, form .contact_btn .confirm span input:hover {
  opacity: 0.5;
  -moz-transition: opacity, 0.2s, ease-in;
  -o-transition: opacity, 0.2s, ease-in;
  -webkit-transition: opacity, 0.2s, ease-in;
  transition: opacity, 0.2s, ease-in;
  text-decoration: none !important;
}
/* デバイスによる表示の制御
------------------------------------------------------------*/
.dsppc {
  display: none;
}
@media only screen and (min-width: 768px) {
  .dsppc {
    display: block;
  }
}
.dspsp {
  display: block;
}
@media only screen and (min-width: 768px) {
  .dspsp {
    display: none;
  }
}
/*/////////////////////////////////////////////////////////////

structures

///////////////////////////////////////////////////////////////

共通の設定

=============================================================*/
body, article, aside, details, div, figcaption, figure, footer, h1, h2, h3, h4, h5, h6, p, header, hgroup, main, menu, nav, section, summary, ul, ol, li, dl, dt, dd, span, table, th, td, a, input, textarea {
  box-sizing: border-box !important;
}
h1, h2, h3, h4, h5, h6, p {
  margin: 0;
  padding: 0;
}
h1, h2, h3, h4, h5, h6 {
  letter-spacing: 0.1rem;
  line-height: 2rem;
  font-weight: normal;
}
h1 img, h2 img, h3 img, h4 img, h5 img, h6 img {
  display: block;
}
a {
  color: #666666;
  text-decoration: none;
  outline: none;
}
a:visited {
  color: #666666;
}
a:hover {
  text-decoration: underline;
  color: #3972b7;
}
/*=============================================================

html, body, wrapper

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -*/
html {
  font-size: 62.5%;
  /* 10px相当 */
  line-height: 62.5%;
  font-family: YuGothic, "游ゴシック", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
}
body {
  margin: 0;
  padding: 0;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 28px;
  line-height: 2.8rem;
  letter-spacing: 0.1rem;
  color: #666666;
}
.wrapper {
  margin: 0 auto;
  position: relative;
  width: 100%;
}
/*=============================================================

header

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -*/
header {
  margin: 0;
  padding: 0;
  width: 100%;
  position: relative;
}
@media only screen and (min-width: 768px) {
  header {
    padding: 20px;
  }
}
header .inner {
  position: relative;
}
header._fixed {
  position: fixed;
  z-index: 9900;
}
header .fixeditems {
  display: none;
}
@media only screen and (min-width: 768px) {
  header .fixeditems {
    color: #3972b7;
    position: fixed;
    display: block;
    top: 0;
    right: 0;
    z-index: 12;
  }
}
header .fixeditems .link {
  margin: 26px 0 0 20px;
  border: 1px solid #3972b7;
  background-color: #fff;
  border-radius: 3px;
  font-size: 10px;
  font-size: 1rem;
  line-height: 35px;
  line-height: 3.5rem;
  text-align: center;
  color: #3972b7;
  font-weight: bold;
  position: relative;
}
header .fixeditems .link:before {
  content: '';
  margin: 0 auto;
  width: 120px;
  height: 37px;
  display: block;
  border-left: 3px solid #3972b7;
  border-right: 3px solid #3972b7;
  position: absolute;
  top: -37px;
  left: 0;
  right: 0;
}
header .fixeditems .reserve, header .fixeditems .net, header .fixeditems .shop {
  width: 160px;
  display: block;
  font-weight: bold;
  text-decoration: none;
  float: left;
}
header .fixeditems .reserve span, header .fixeditems .net span, header .fixeditems .shop span {
  display: block;
}
header .fixeditems .reserve span:after, header .fixeditems .net span:after, header .fixeditems .shop span:after {
  content: url(images/arrow_r_3x6_b.png);
  width: 5px;
  height: 8px;
  padding-left: 10px;
}
header .fixeditems .reserve span:before {
  content: url(images/header_icon_reserve.png);
  margin-right: 10px;
  width: 16px;
  height: 11px;
  display: inline;
  position: relative;
  top: 2px;
}
header .fixeditems .net span:before {
  content: url(images/header_icon_net.png);
  margin-right: 10px;
  width: 16px;
  height: 11px;
  display: inline;
  position: relative;
  top: 2px;
}
header .fixeditems .shop span:before {
  content: url(images/header_icon_shop.png);
  margin-right: 10px;
  width: 13px;
  height: 16px;
  display: inline;
  position: relative;
  top: 6px;
}
header .fixeditems .contact_btns {
  margin-left: 20px;
  padding: 10px 0 5px 0;
  background-color: #fff;
  float: left;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-direction: normal;
  -webkit-box-orient: horizontal;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  justify-content: space-between;
}
header .fixeditems .contact_btns .tel {
  padding: 5px 15px;
  width: 310px;
  border-right: 1px dotted #3972b7;
}
header .fixeditems .contact_btns .tel .telnum {
  margin-bottom: 5px;
  font-size: 23px;
  font-size: 2.3rem;
  line-height: 23px;
  line-height: 2.3rem;
  letter-spacing: 0;
  font-weight: 500;
}
header .fixeditems .contact_btns .tel .telnum span {
  font-size: 10px;
  font-size: 1rem;
  line-height: 10px;
  line-height: 1rem;
}
header .fixeditems .contact_btns .tel .btime {
  font-size: 10px;
  font-size: 1rem;
  line-height: 13px;
  line-height: 1.3rem;
}
header .fixeditems .contact_btns .mail {
  padding: 20px 0 0;
  width: 110px;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 16px;
  line-height: 1.6rem;
  color: #3972b7;
  font-weight: 500;
  text-align: center;
  display: block;
  text-decoration: none;
}
header .fixeditems .contact_btns .mail:after {
  content: url(images/arrow_dw_4x8_b.png);
  margin: 0 auto;
  width: 4px;
  height: 8px;
  display: block;
  bottom: 0;
  left: 0;
  right: 0;
}
.header_nav {
  width: 100%;
  height: 100vh;
  background-color: #3972b7;
  display: none;
  top: 0;
  left: 0;
  position: fixed;
  z-index: 9998;
  overflow: scroll !important;
}
@media only screen and (min-width: 768px) {
  .header_nav {
    margin: -50px auto 0;
    width: 980px;
    height: 160px;
    background-color: transparent;
    display: block;
    position: static;
    overflow: hidden !important;
  }
}
.header_nav ul {
  margin-bottom: 15px;
  padding: 0 30px;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media only screen and (min-width: 768px) {
  .header_nav ul {
    margin-bottom: 0;
    padding: 0;
    border-top: none;
  }
}
.header_nav ul li {
  width: 47%;
  padding: 10px 0;
  border-bottom: 1px solid #fff;
  position: relative;
}
.header_nav ul li::after {
  content: url(images/arrow_r_4x8_wh.png);
  width: 4px;
  height: 8px;
  display: block;
  position: absolute;
  top: 10px;
  right: 5px;
}
@media only screen and (min-width: 768px) {
  .header_nav ul li {
    width: auto;
    padding: 0 0 20px;
    border-bottom: none;
    text-align: center;
    align-self: flex-end;
    position: relative;
  }
  .header_nav ul li::after {
    content: '';
    width: 2px;
    height: 35px;
    display: block;
    background-color: #d5d5d5;
    transform: skew(-20deg, -20deg);
    position: absolute;
    top: 0;
    right: -21px;
  }
  .header_nav ul li:nth-of-type(10)::after {
    display: none;
  }
}
.header_nav ul li a {
  color: #fff;
}
@media only screen and (min-width: 768px) {
  .header_nav ul li a {
    display: block;
    font-size: 10px;
    font-size: 1rem;
    line-height: 10px;
    line-height: 1rem;
    color: #808080;
    letter-spacing: 0.1rem;
  }
}
.header_nav ul li a span {
  display: none;
}
@media only screen and (min-width: 768px) {
  .header_nav ul li a span {
    margin-bottom: 10px;
    font-size: 13px;
    font-size: 1.3rem;
    line-height: 13px;
    line-height: 1.3rem;
    color: #3972b7;
    display: block;
  }
}
.header_nav ul .logo {
  padding: 30px 0 20px;
  width: 100%;
  border-bottom: 0;
}
@media only screen and (min-width: 768px) {
  .header_nav ul .logo {
    width: 112px;
    height: 150px;
    padding: 0;
    width: auto;
  }
}
.header_nav ul .logo:after {
  display: none;
}
.header_nav ul .logo a {
  margin: 0 auto;
  width: 60px;
  height: 78px;
  display: block;
}
@media only screen and (min-width: 768px) {
  .header_nav ul .logo a {
    width: 101px;
    height: 152px;
  }
}
.header_nav ul .logo a img {
  width: 100%;
  height: auto;
  display: block;
}
.header_nav .headeritems_sp {
  color: #fff;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .header_nav .headeritems_sp {
    display: none;
  }
}
.header_nav .headeritems_sp .teltext {
  padding: 17px 0;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 12px;
  line-height: 1.2rem;
  display: block;
}
.header_nav .headeritems_sp .tel {
  font-size: 26px;
  font-size: 2.6rem;
  line-height: 26px;
  line-height: 2.6rem;
  color: #fff;
  font-weight: 500;
}
.header_nav .headeritems_sp p {
  margin-bottom: 20px;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 18px;
  line-height: 1.8rem;
}
.header_nav .headeritems_sp .mail {
  margin: 10px auto;
  padding: 1px 0;
  width: 200px;
  height: 36px;
  background-color: #fff;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 34px;
  line-height: 3.4rem;
  color: #fff;
  display: block;
  position: relative;
}
.header_nav .headeritems_sp .mail:before, .header_nav .headeritems_sp .mail:after {
  content: "";
  position: absolute;
  top: 0;
  border-top: 18px solid transparent;
  border-bottom: 18px solid transparent;
  transform: scaleX(0.7);
}
.header_nav .headeritems_sp .mail:before {
  left: -18px;
  border-right: 18px solid #fff;
  transform-origin: right top;
}
.header_nav .headeritems_sp .mail:after {
  right: -18px;
  border-left: 18px solid #fff;
  transform-origin: left top;
}
.header_nav .headeritems_sp .mail span {
  height: 34px;
  background: #3972b7 url(images/arrow_r_4x8_wh.png) no-repeat 150px center;
  display: block;
  position: relative;
}
.header_nav .headeritems_sp .mail span:before, .header_nav .headeritems_sp .mail span:after {
  content: "";
  position: absolute;
  top: 0;
  border-top: 17px solid transparent;
  border-bottom: 17px solid transparent;
  transform: scaleX(0.7);
  z-index: 999;
}
.header_nav .headeritems_sp .mail span:before {
  left: -17px;
  border-right: 17px solid #3972b7;
  transform-origin: right top;
}
.header_nav .headeritems_sp .mail span:after {
  right: -17px;
  border-left: 17px solid #3972b7;
  transform-origin: left top;
}
.header_nav .close {
  width: 50px;
  height: 50px;
  display: block;
  position: fixed;
  top: 10px;
  right: 10px;
  z-index: 9999;
}
@media only screen and (min-width: 768px) {
  .header_nav .close {
    display: none;
  }
}
.header_nav .close img {
  width: 100%;
  height: auto;
  display: block;
}
@media only screen and (min-width: 768px) {
  nav.global {
    display: block;
  }
}
.btn_sp_nav {
  width: 50px;
  height: 50px;
  display: block;
  position: fixed;
  top: 10px;
  right: 10px;
  z-index: 10;
}
.btn_sp_nav img {
  display: block;
}
@media only screen and (min-width: 768px) {
  .btn_sp_nav {
    display: none;
  }
}
/*=============================================================

main, contents, sidebar

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -*/
.main {
  padding: 80px 0 0 0;
  width: 100%;
}
.contents {
  margin: 0 auto;
  padding: 90px 0 60px;
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .contents {
    padding: 90px 20px 100px;
  }
}
.contents._index {
  padding-top: 60px;
}
/*=============================================================

footer

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -*/
.totop {
  display: block;
  position: fixed;
  right: 50px;
  bottom: 50px;
}
.totop img {
  display: block;
}
footer {
  padding: 50px 0 50px;
  width: 100%;
  background-color: #3972b7;
}
@media only screen and (min-width: 768px) {
  footer {
    padding: 50px 0 0;
  }
}
.googlemap {
  margin: 0 auto 40px;
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .googlemap {
    width: 940px;
  }
}
.googlemap iframe {
  margin: 0 auto;
  display: block;
}
.footeritems {
  margin: 0 auto 58px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-direction: normal;
  -webkit-box-orient: horizontal;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  justify-content: space-between;
}
@media only screen and (min-width: 768px) {
  .footeritems {
    width: 940px;
  }
}
.footeritems .footeritem {
  padding-right: 20px;
  padding-left: 20px;
  width: 100%;
  color: #fff;
}
@media only screen and (min-width: 768px) {
  .footeritems .footeritem {
    margin-bottom: 30px;
    width: 48%;
  }
}
@media only screen and (min-width: 980px) {
  .footeritems .footeritem {
    padding-right: 0;
    padding-left: 0;
  }
}
.footeritems .footeritem .cals {
  width: 100%;
  margin-bottom: 50px;
  order: 2;
}
.footeritems .footeritem .cals div {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-direction: normal;
  -webkit-box-orient: horizontal;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  justify-content: space-between;
  -webkit-box-align: start;
  -ms-flex-align: start;
  -webkit-align-items: flex-start;
  -moz-align-items: flex-start;
  align-items: flex-start;
}
.footeritems .footeritem .cals div .biz_calendar {
  margin: 0 auto 20px;
  width: 220px;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  -webkit-justify-content: flex-start;
  -moz-justify-content: flex-start;
  justify-content: flex-start;
}
.footeritems .footeritem .cals div .biz_calendar table.bizcal {
  width: 100%;
  /*  background-color: #ffffff;*/
  /*  table-layout: fixed;*/
  /*  border: 1px #B5B5B6 solid;*/
  border-collapse: separate;
  border-spacing: 2px;
  line-height: 1.6;
  cursor: default;
}
.footeritems .footeritem .cals div .biz_calendar table.bizcal th {
  text-align: center;
  border-width: 0;
  padding: 2px;
  color: #3972b7;
  background-color: #DEDEDE;
}
.footeritems .footeritem .cals div .biz_calendar table.bizcal th:first-child {
  color: #3972b7;
}
.footeritems .footeritem .cals div .biz_calendar table.bizcal th:nth-last-of-type(1) {
  color: #3972b7;
}
.footeritems .footeritem .cals div .biz_calendar table.bizcal td {
  text-align: center;
  border-width: 0;
  padding: 2px;
  color: #fff;
  background-color: #7097D7;
}
.footeritems .footeritem .cals div .biz_calendar table.bizcal .calmonth {
  text-align: center;
  font-weight: bold;
  padding: 2px 7px;
  background-color: transparent;
  border: none;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 16px;
  line-height: 1.6rem;
  color: #fff;
  font-family: 'Quicksand', sans-serif !important;
}
.footeritems .footeritem .cals div .biz_calendar table.bizcal .calbtn {
  border: none;
  cursor: pointer;
}
.footeritems .footeritem .cals div .biz_calendar table.bizcal .holiday {
  background-color: #4E5071;
  color: #ffffff;
}
.footeritems .footeritem .cals div .biz_calendar table.bizcal .eventday {
  background-color: #64BDEB;
  color: #ffffff;
}
.footeritems .footeritem .cals div .biz_calendar table.bizcal .eventday a {
  color: #ffffff;
}
.footeritems .footeritem .cals div .biz_calendar table.bizcal .today {
  font-weight: bold;
  color: #fff;
}
.footeritems .footeritem .cals div .biz_calendar table.bizcal .today a {
  font-weight: bold;
  color: #000000;
}
.footeritems .footeritem .cals div .biz_calendar table.bizcal img {
  vertical-align: middle;
  box-shadow: none;
  margin: 0;
}
.footeritems .footeritem .cals div .biz_calendar table.bizcal .down-img {
  text-align: right;
}
.footeritems .footeritem .cals div .biz_calendar table.bizcal .today-img {
  text-align: center;
}
.footeritems .footeritem .cals div .biz_calendar table.bizcal .up-img {
  text-align: left;
}
.footeritems .footeritem .comname {
  margin-bottom: 10px;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 16px;
  line-height: 1.6rem;
}
.footeritems .footeritem address {
  margin-bottom: 20px;
  font-size: 13px;
  font-size: 1.3rem;
  line-height: 26px;
  line-height: 2.6rem;
  font-style: normal;
}
.footeritems .footeritem .access {
  margin-bottom: 20px;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 28px;
  line-height: 2.8rem;
}
.footeritems .footeritem .link_access {
  color: #fff;
  font-size: 12px;
  text-decoration: underline;
}
.footeritems .footeritem .access2 {
  font-size: 12px;
}
.footeritems .footeritem .telcatch {
  margin-bottom: 10px;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 20px;
  line-height: 2rem;
  font-weight: bold;
  letter-spacing: 0.32rem;
}
.footeritems .footeritem .tel {
  margin-bottom: 12px;
  font-size: 26px;
  font-size: 2.6rem;
  line-height: 26px;
  line-height: 2.6rem;
  letter-spacing: 0.1rem;
}
.footeritems .footeritem .tel a {
  color: #fff;
}
.footeritems .footeritem .tel a:visited {
  color: #fff;
}
.footeritems .footeritem .tel span {
  font-size: 13px;
  font-size: 1.3rem;
  line-height: 13px;
  line-height: 1.3rem;
}
.footeritems .footeritem .btime {
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 20px;
  line-height: 2rem;
}
.footer__btns {
  display: none;
}
@media only screen and (min-width: 768px) {
  .footer__btns {
    margin-bottom: 10px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}
.footer__btn {
  display: none;
}
@media only screen and (min-width: 768px) {
  .footer__btn {
    width: 100%;
    background-color: #fff;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 50px;
    line-height: 5rem;
    color: #3972b7;
    text-align: center;
    font-weight: bold;
    text-decoration: none;
    display: block;
  }
}
.footer__btn span {
  display: block;
  position: relative;
}
.footer__btn span::after {
  content: '';
  margin: auto 0;
  width: 7px;
  height: 12px;
  display: block;
  background: url(images/arrow_r_7x12_b.png);
  background-size: contain;
  position: absolute;
  top: 0;
  right: 15px;
  bottom: 0;
}
.footer__btn--half {
  width: 48.7%;
}
.footer__btn:visited {
  color: #3972b7;
}
.footer__alert{
  margin: 0 auto 58px;
  padding: 0 20px;
  text-align: center;
  color: #fff;
}
@media only screen and (min-width: 768px) {
  .footer__alert{
    padding: 0;
  }
}

.footeritems .net i, .footeritems .mail i {
  font-size: 18px;
  font-size: 1.8rem;
}
.footeritems .net span, .footeritems .mail span {
  display: block;
  position: relative;
}
.footeritems .net span:after, .footeritems .mail span:after {
  content: '';
  margin: auto 0;
  width: 7px;
  height: 12px;
  display: block;
  background: url(images/arrow_r_7x12_b.png);
  background-size: contain;
  position: absolute;
  top: 0;
  right: 15px;
  bottom: 0;
}
@media only screen and (min-width: 768px) {
  .footeritems .net span:after, .footeritems .mail span:after {
    top: 0;
    right: 100px;
    bottom: 0;
  }
}
.footeritems .net span img, .footeritems .mail span img {
  position: relative;
  top: 1px;
}
.footeritems .net {
  order: 3;
}
.footeritems .mail {
  order: 4;
}
.footeritems .calcolor {
  margin: 0 auto;
  width: 220px;
  justify-content: flex-start !important;
}
@media only screen and (min-width: 768px) {
  .footeritems .calcolor {
    margin: 0 0 0 10px;
  }
}
.footeritems .calcolor p {
  margin: 0 10px 0 0;
  line-height: 170%;
}
.footeritems .calcolor p span.boxholiday {
  background-color: #7097D7;
  padding-left: 25px;
  margin-right: 10px;
}
.footeritems .calcolor p span.boxeventday {
  background-color: #4E5071;
  padding-left: 25px;
  margin-right: 10px;
}
.footer__shop {
  margin: 0 auto 60px;
  padding-right: 20px;
  padding-left: 20px;
  width: 100%;
  max-width: 940px;
}
@media only screen and (min-width: 980px) {
  .footer__shop {
    padding-right: 0;
    padding-left: 0;
  }
}
@media only screen and (min-width: 768px) {
  .footer__shop .shop__row {
    margin-right: -25px;
    margin-left: -25px;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
  }
}
.footer__shop .shop__col {
  margin-bottom: 40px;
  width: 100%;
}
.footer__shop .shop__col:last-of-type {
  margin-bottom: 0;
}
@media only screen and (min-width: 768px) {
  .footer__shop .shop__col {
    margin-bottom: 0;
    padding: 25px;
    width: 50%;
    display: flex;
    flex-direction: column;
  }
}
.footer__shop .shop__text {
  margin-bottom: 20px;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 24px;
  line-height: 2.4rem;
  color: #fff;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .footer__shop .shop__text {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 28px;
    line-height: 2.8rem;
  }
}
.footer__shop .shop__text-s {
  font-size: 1.2rem;
  line-height: 1.6;
  display: block;
  padding: 10px 0;
}
.footer__shop .shop__anchor {
  color: #fff;
  text-align: center;
  text-decoration: underline;
}
.footer__shop .shop__anchor:hover {
  text-decoration: none;
}
.footer__shop .shop__compass {
  width: 100%;
  margin-top: auto;
}
.footer__chubu {
  padding: 40px 20px 10px;
  background-color: #fff;
}
@media only screen and (min-width: 768px) {
  .footer__chubu {
    padding-bottom: 0;
  }
}
@media only screen and (min-width: 980px) {
  .footer__chubu {
    padding-right: 0;
    padding-left: 0;
  }
}
.footer__chubu .chubu__card {
  margin: 0 auto;
  padding: 20px;
  width: 100%;
  max-width: 940px;
  border: 1px dotted #86be24;
  display: block;
}
@media only screen and (min-width: 768px) {
  .footer__chubu .chubu__card {
    padding: 30px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    transition: opacity .2s linear;
  }
}
.footer__chubu .chubu__card:hover {
  text-decoration: none;
  color: #666;
  opacity: 0.6;
}
.footer__chubu .chubu__heading {
  margin-bottom: 25px;
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 18px;
  line-height: 1.8rem;
  color: #86be24;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .footer__chubu .chubu__heading {
    text-align: left;
  }
}
.footer__chubu .chubu__heading span {
  border-bottom: 1px solid #86be24;
}
.footer__chubu .chubu__body {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .footer__chubu .chubu__body {
    width: 47.72727%;
  }
}
.footer__chubu .chubu__text {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 28px;
  line-height: 2.8rem;
  text-align: justify;
}
.footer__chubu .chubu__figure {
  display: none;
}
@media only screen and (min-width: 768px) {
  .footer__chubu .chubu__figure {
    width: 48.86364%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
  }
}
.footer__chubu .chubu__figure .figure__col {
  width: 31.39535%;
  margin-bottom: 0;
  display: block;
}
.footer__chubu .chubu__figure .figure__img {
  margin: 0 auto 20px;
  width: 60px;
  height: 60px;
  display: block;
}
.footer__chubu .chubu__figure .figure__text {
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 20px;
  line-height: 2rem;
  text-align: center;
}
.footer_nav {
  display: none;
}
@media only screen and (min-width: 768px) {
  .footer_nav {
    padding-top: 25px;
    background-color: #fff;
    display: block;
  }
}
.footer_nav ul {
  display: flex;
  justify-content: center;
}
.footer_nav ul li {
  margin: 0 10px;
  font-size: 12px;
  font-size: 1.2rem;
}
.copy {
  padding: 15px 0 15px;
  background-color: #fff;
  font-size: 10px;
  font-size: 1rem;
  line-height: 14px;
  line-height: 1.4rem;
  color: #000;
  text-align: center;
  display: block;
}
@media only screen and (min-width: 768px) {
  .copy {
    color: #666;
  }
  .copy br {
    display: none;
  }
}
.footer_btns {
  width: 100%;
  height: 50px;
  background-color: #3972b7;
  border-top: 1px solid #fff;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-direction: normal;
  -webkit-box-orient: horizontal;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: nowrap;
  -moz-flex-wrap: nowrap;
  -ms-flex-wrap: none;
  flex-wrap: nowrap;
  position: fixed;
  z-index: 10;
  bottom: 0;
}
@media only screen and (min-width: 768px) {
  .footer_btns {
    display: none;
  }
}
.footer_btns a {
  width: 50%;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 50px;
  line-height: 5rem;
  color: #fff;
  font-weight: bold;
  text-align: center;
  text-decoration: none;
  display: block;
}
.footer_btns a:first-of-type {
  border-right: 1px solid #fff;
}
.footer_btns a:hover {
  text-decoration: none;
}
.footer_btns a._reserve, .footer_btns a._net {
  display: block;
  font-weight: bold;
  text-decoration: none;
  float: left;
}
.footer_btns a._reserve span:before {
  content: url(images/footer_icon_net_wh.png);
  margin-right: 10px;
  width: 16px;
  height: 11px;
  display: inline;
  position: relative;
  top: 2px;
}
.footer_btns a._net span:before {
  content: url(images/footer_icon_net_wh.png);
  margin-right: 10px;
  width: 16px;
  height: 11px;
  display: inline;
  position: relative;
  top: 2px;
}
/*/////////////////////////////////////////////////////////////

pages

///////////////////////////////////////////////////////////////

/* 共通
-------------------------------------------------------------*/
.ttl_lv1 {
  padding-top: 92px;
  width: 100%;
  height: 220px;
  background-size: cover;
  text-align: center;
  color: #3972b7;
}
@media only screen and (min-width: 768px) {
  .ttl_lv1 {
    height: 220px;
    font-size: 36px;
    font-size: 3.6rem;
    line-height: 36px;
    line-height: 3.6rem;
  }
}
.ttl_lv2 {
  margin-bottom: 50px;
  width: 100%;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 28px;
  line-height: 2.8rem;
  color: #4d4d4d;
  text-align: center;
  font-weight: bold;
  position: relative;
}
.ttl_lv2:after {
  content: '';
  margin: 0 auto;
  width: 70px;
  height: 1px;
  background-color: #4e5071;
  display: block;
  position: absolute;
  bottom: -10px;
  left: 0;
  right: 0;
}
.ttl_lv2._wh {
  color: #fff;
}
.ttl_lv2._wh:after {
  background-color: #fff;
}
.ttl_lv2._quicksand {
  font-size: 20px;
  font-size: 2rem;
  line-height: 20px;
  line-height: 2rem;
  font-weight: 400;
}
@media only screen and (min-width: 768px) {
  .ttl_lv2 {
    margin-bottom: 50px;
  }
}
.hexa {
  margin: 50px auto;
  padding: 1px 0;
  height: 36px;
  background-color: #fff;
  display: block;
  position: relative;
}
.hexa:before, .hexa:after {
  content: "";
  position: absolute;
  top: 0;
  border-top: 18px solid transparent;
  border-bottom: 18px solid transparent;
  transform: scaleX(0.7);
}
.hexa:before {
  left: -18px;
  border-right: 18px solid #fff;
  transform-origin: right top;
}
.hexa:after {
  right: -18px;
  border-left: 18px solid #fff;
  transform-origin: left top;
}
.hexa span {
  height: 34px;
  display: block;
  position: relative;
  background-color: #3972b7;
}
.hexa span:before, .hexa span:after {
  content: "";
  position: absolute;
  top: 0;
  border-top: 17px solid transparent;
  border-bottom: 17px solid transparent;
  transform: scaleX(0.7);
  z-index: 10;
}
.hexa span:before {
  left: -17px;
  border-right: 17px solid #3972b7;
  transform-origin: right top;
}
.hexa span:after {
  right: -17px;
  border-left: 17px solid #3972b7;
  transform-origin: left top;
}
.hexa._wh {
  background-color: #3972b7;
}
.hexa._wh:before {
  border-right: 18px solid #3972b7;
}
.hexa._wh:after {
  border-left: 18px solid #3972b7;
}
.hexa._wh span {
  background-color: #fff;
}
.hexa._wh span:before {
  border-right: 17px solid #fff;
}
.hexa._wh span:after {
  border-left: 17px solid #fff;
}
.hexa._beginner {
  width: 200px;
  height: 50px;
}
@media only screen and (min-width: 768px) {
  .hexa._beginner {
    display: none;
  }
}
.hexa._beginner em {
  color: #fff;
}
.hexa._beginner em:after {
  content: '';
  margin: auto 0;
  width: 7px;
  height: 12px;
  background: url(images/arrow_r_10x18_w.png) no-repeat center center;
  display: block;
  position: absolute;
  top: 0;
  right: 20px;
  bottom: 0;
}
.more {
  width: 120px;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 34px;
  line-height: 3.4rem;
  font-weight: 500;
  text-align: left;
}
.more:hover {
  text-decoration: none;
}
.more span {
  color: #3972b7;
}
.more span em {
  padding-left: 20px;
  display: block;
  font-style: normal;
  position: relative;
}
.more span em:after {
  content: '';
  margin: auto 0;
  width: 7px;
  height: 12px;
  background: url(images/arrow_r_7x12_b.png) no-repeat;
  background-size: contain;
  display: block;
  position: absolute;
  top: 0;
  right: 20px;
  bottom: 0;
}
.back {
  width: 120px;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 34px;
  line-height: 3.4rem;
  flex-wrap: 500;
  text-align: left;
}
.back:hover {
  text-decoration: none;
}
.back span {
  color: #3972b7;
}
.back span em {
  display: block;
  font-style: normal;
  position: relative;
  text-align: center;
}
.back span em:before {
  content: '';
  margin: auto 0;
  width: 7px;
  height: 12px;
  background: url(images/arrow_l_7x12_b.png) no-repeat;
  background-size: contain;
  display: block;
  position: absolute;
  top: 0;
  left: 10px;
  bottom: 0;
}
.btn_blog {
  margin: 0 auto;
  padding: 1px;
  width: 250px;
  height: 60px;
  display: block;
  position: relative;
  background-color: #3972b7;
}
@media only screen and (min-width: 768px) {
  .btn_blog {
    width: 280px;
  }
}
.btn_blog:hover {
  text-decoration: none;
}
.btn_blog:before, .btn_blog:after {
  content: "";
  position: absolute;
  top: 0;
  border-top: 30px solid transparent;
  border-bottom: 30px solid transparent;
  transform: scaleX(0.7);
}
.btn_blog:before {
  left: -18px;
  border-right: 18px solid #3972b7;
  transform-origin: right top;
}
.btn_blog:after {
  right: -18px;
  border-left: 18px solid #3972b7;
  transform-origin: left top;
}
.btn_blog span {
  height: 58px;
  display: block;
  position: relative;
  background-color: #fff;
}
.btn_blog span:before, .btn_blog span:after {
  content: "";
  position: absolute;
  top: 0;
  border-top: 29px solid transparent;
  border-bottom: 29px solid transparent;
  transform: scaleX(0.7);
  z-index: 999;
}
.btn_blog span:before {
  left: -18px;
  border-right: 18px solid #fff;
  transform-origin: right top;
}
.btn_blog span:after {
  right: -18px;
  border-left: 18px solid #fff;
  transform-origin: left top;
}
.btn_blog span em {
  background: url(images/arrow_l_7x12_b.png) no-repeat 40px center;
  display: block;
  text-align: center;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 58px;
  line-height: 5.8rem;
  color: #3972b7;
  font-weight: bold;
  font-style: normal;
}
.shinqcompass_box {
  display: none;
}
@media only screen and (min-width: 768px) {
  .shinqcompass_box {
    display: block;
    background-color: #e2e0df;
    padding: 50px 0;
    text-align: center;
  }
  .shinqcompass_review_widget {
    overflow: auto;
    width: 940px;
    height: 300px;
    border: solid 1px #E0DFDF;
    background: #fff;
    padding: 10px;
    margin: 0 auto;
  }
}
/* トップページ
-------------------------------------------------------------*/
/* オーバーレイ
- - - - - - - - - - - - - - - - - - */
.overlay__open {
  padding: 20px;
  width: 100%;
  height: 100%;
  background-color: rgba(69, 112, 177, 0.2);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 89;
  display: none;
}
.overlay__open .open__flex {
  width: 100%;
  height: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
.overlay__open .open__card {
  margin: 0 auto;
  width: 100%;
  max-width: 700px;
  padding: 20px;
  background-color: #fff;
  position: relative;
  align-self: center;
}
@media only screen and (min-width: 768px) {
  .overlay__open .open__card {
    width: auto;
    padding: 60px 70px;
  }
}
.overlay__open .open__date {
  margin-bottom: 30px;
  font-size: 30px;
  font-size: 3rem;
  line-height: 30px;
  line-height: 3rem;
  font-family: 'quicksand', sans-serif;
  color: #3572b7;
  text-align: center;
  font-weight: bold;
}
@media only screen and (min-width: 768px) {
  .overlay__open .open__date {
    margin-bottom: 40px;
    font-size: 40px;
    font-size: 4rem;
    line-height: 40px;
    line-height: 4rem;
  }
}
.overlay__open .open__date span {
  border-bottom: 1px solid #3572b7;
}
.overlay__open .open__date em {
  font-size: 28px;
  font-size: 2.8rem;
  line-height: 28px;
  line-height: 2.8rem;
  font-style: normal;
}
.overlay__open .open__heading {
  margin-bottom: 20px;
  font-size: 20px;
  font-size: 2rem;
  line-height: 20px;
  line-height: 2rem;
  font-family: serif;
  color: #3572b7;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .overlay__open .open__heading {
    margin-bottom: 30px;
    font-size: 30px;
    font-size: 3rem;
    line-height: 30px;
    line-height: 3rem;
  }
}
.overlay__open .open__img {
  margin: 0 auto 15px;
  width: auto;
  height: 160px;
  display: block;
}
@media only screen and (min-width: 768px) {
  .overlay__open .open__img {
    height: 400px;
    height: 30vh;
  }
}
.overlay__open .open__lead {
  margin-bottom: 20px;
  font-size: 11px;
  font-size: 1.1rem;
  line-height: 20px;
  line-height: 2rem;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .overlay__open .open__lead {
    margin-bottom: 30px;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 28px;
    line-height: 2.8rem;
  }
}
.overlay__open .open__lead--blue {
  color: #3572b7;
}
.overlay__open .open__balloon {
  margin: 0 auto 20px;
  padding: 5px;
  width: 100%;
  max-width: 560px;
  background-color: #3572b7;
  border-radius: 5px;
  font-size: 13px;
  font-size: 1.3rem;
  line-height: 20px;
  line-height: 2rem;
  color: #fff;
  text-align: center;
  font-weight: bold;
  position: relative;
}
.overlay__open .open__balloon::after {
  content: '';
  width: 0;
  height: 0;
  border-top-width: 12px;
  border-top-style: solid;
  border-top-color: #3572b7;
  border-right: 12px solid transparent;
  border-bottom: 12px solid transparent;
  border-left: 12px solid transparent;
  display: block;
  position: absolute;
  bottom: -24px;
  left: 50%;
  transform: translateX(-50%);
}
@media only screen and (min-width: 768px) {
  .overlay__open .open__balloon {
    font-size: 20px;
    font-size: 2rem;
    line-height: 50px;
    line-height: 5rem;
  }
}
.overlay__open .open__balloon em {
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 20px;
  line-height: 2rem;
  font-style: normal;
}
.overlay__open .open__button {
  margin: 0 auto;
  width: calc(100% - 20px);
  max-width: 250px;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 35px;
  line-height: 3.5rem;
  color: #3572b7;
}
.overlay__open .open__close {
  width: 30px;
  height: 30px;
  display: block;
  position: absolute;
  top: 10px;
  right: 10px;
}
.overlay__open .open__close::before, .overlay__open .open__close::after {
  content: '';
  width: 1px;
  height: 30px;
  background-color: #3572b7;
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}
.overlay__open .open__close::before {
  transform: rotate(45deg);
}
.overlay__open .open__close::after {
  transform: rotate(-45deg);
}
@media only screen and (min-width: 768px) {
  .overlay__open .open__close {
    top: 20px;
    right: 20px;
  }
}
/* トップビジュアル
- - - - - - - - - - - - - - - - -*/
.topvisual {
  width: 100%;
  height: 100vh;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .topvisual {
    height: 540px;
    overflow: hidden;
  }
}
.topvisual ul {
  height: 50vh;
}
.topvisual ul li {
  height: 50vh;
  position: relative;
  overflow: hidden;
}
@media only screen and (min-width: 768px) {
  .topvisual ul li {
    height: 540px;
  }
  .topvisual ul li::after {
    content: url(images/topvisual_bg.png);
    width: 321px;
    height: 192px;
    display: block;
    position: absolute;
    bottom: 0;
    right: 0;
  }
}
.topvisual ul li img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
.topvisual .logo_tv {
  margin: -50px auto 30px;
  width: auto;
  display: block;
  position: relative;
  z-index: 9;
}
@media only screen and (min-width: 768px) {
  .topvisual .logo_tv {
    display: none;
  }
}
.topvisual p {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 36px;
  line-height: 3.6rem;
  color: #666;
  text-align: center;
  letter-spacing: 0.34rem;
}
@media only screen and (min-width: 768px) {
  .topvisual p {
    position: absolute;
    top: 110px;
    right: 190px;
    text-align: left;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
  }
}
.topvisual .thislink {
  display: none;
  padding-top: 5px;
  width: 130px;
  height: 130px;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 24px;
  line-height: 2.4rem;
  color: #fff;
  text-align: center;
  position: absolute;
  z-index: 10;
  top: 90px;
  right: 15px;
}
@media only screen and (min-width: 768px) {
  .topvisual .thislink {
    display: block;
  }
}
.topvisual .thislink span {
  padding-bottom: 5px;
  font-size: 10px;
  font-size: 1rem;
  line-height: 20px;
  line-height: 2rem;
}
.topvisual .thislink span:first-of-type {
  font-size: 10px;
  font-size: 1rem;
  line-height: 40px;
  line-height: 4rem;
  border-bottom: 1px solid #fff;
}
.topvisual .thislink:before {
  content: '';
  width: 100%;
  height: 100%;
  background-color: #85b755;
  border-radius: 50%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  opacity: 1.0;
  transition: .4s ease-in-out;
  -webkit-transition: .4s ease-in-out;
  -moz-transition: .4s ease-in-out;
  -o-transition: .4s ease-in-out;
  -ms-transition: .4s ease-in-out;
  transform: scale(1, 1);
  -webkit-transform: scale(1, 1);
  -moz-transform: scale(1, 1);
  -o-transform: scale(1, 1);
  -ms-transition: scale(1, 1);
}
.topvisual .thislink:after {
  content: url(images/arrow_r_4x8_wh.png);
  margin: 0 auto;
  width: 4px;
  height: 8px;
  display: block;
}
.topvisual .thislink:hover {
  text-decoration: none;
}
.topvisual .thislink:hover:before {
  opacity: 0.7;
  transform: scale(1.1, 1.1);
  -webkit-transform: scale(1.1, 1.1);
  -moz-transform: scale(1.1, 1.1);
  -o-transform: scale(1.1, 1.1);
  -ms-transition: scale(1.1, 1.1);
}
/* コンセプト
- - - - - - - - - - - - - - - - -*/
.index_concept {
  margin: 0 auto 40px;
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .index_concept {
    margin-bottom: 85px;
  }
}
.index_concept .inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-direction: normal;
  -webkit-box-orient: horizontal;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
@media only screen and (min-width: 768px) {
  .index_concept .inner {
    padding: 0 40px 0 30px;
    -webkit-box-direction: normal;
    -webkit-box-orient: horizontal;
    -webkit-flex-direction: row;
    -moz-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    -moz-justify-content: space-between;
    justify-content: space-between;
  }
}
.index_concept .inner h3, .index_concept .inner p {
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .index_concept .inner h3, .index_concept .inner p {
    width: 180px;
    text-align: left;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
  }
}
.index_concept .inner h3 {
  margin-bottom: 30px;
  width: 100%;
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 40px;
  line-height: 4rem;
  font-weight: 500;
  color: #666;
  text-align: center;
  letter-spacing: 0.24rem;
  order: 2;
}
@media only screen and (min-width: 768px) {
  .index_concept .inner h3 {
    margin-bottom: 0;
    width: auto;
    font-size: 26px;
    font-size: 2.6rem;
    line-height: 54px;
    line-height: 5.4rem;
    text-align: left;
    order: 3;
  }
}
.index_concept .inner p {
  width: 100%;
  order: 3;
}
@media only screen and (min-width: 768px) {
  .index_concept .inner p {
    width: auto;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 32px;
    line-height: 3.2rem;
    order: 1;
  }
}
.index_concept .inner .conceptimg {
  margin-bottom: 20px;
  width: 100%;
  order: 1;
  display: block;
}
.index_concept .inner .conceptimg img {
  width: 100%;
  height: auto;
  display: block;
}
@media only screen and (min-width: 768px) {
  .index_concept .inner .conceptimg {
    width: 511px;
    height: 314px;
    order: 2;
  }
}
/* 初めての方へ
- - - - - - - - - - - - - - - - -*/
.index_beginner .baloon {
  padding: 30px 20px 35px;
  width: 100%;
  background-color: #3972b7;
  color: #fff;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .index_beginner .baloon {
    padding: 65px 0 55px;
  }
}
.index_beginner .baloon .inner {
  position: relative;
}
@media only screen and (min-width: 768px) {
  .index_beginner .baloon .inner {
    width: 940px;
  }
  .index_beginner .baloon .inner:before, .index_beginner .baloon .inner:after {
    content: '';
    width: 190px;
    height: 142px;
    display: block;
    position: absolute;
  }
  .index_beginner .baloon .inner:before {
    background: url(images/index_beginner_bf.png) no-repeat top left;
    background-size: contain;
    top: -80px;
    left: 0;
  }
  .index_beginner .baloon .inner:after {
    background: url(images/index_beginner_af.png) no-repeat top left;
    background-size: contain;
    top: -80px;
    right: 0;
  }
}
.index_beginner .baloon:after {
  margin: 0 auto;
  content: url(images/index_beginner_arrow.png);
  width: 114px;
  height: 29px;
  display: block;
  position: absolute;
  right: 0;
  left: 0;
  bottom: -29px;
}
.index_beginner .baloon h3 {
  margin: 0 auto;
  width: 230px;
  margin-bottom: 30px;
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 28px;
  line-height: 2.8rem;
  text-align: center;
  font-weight: bold;
  letter-spacing: 0.34rem;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .index_beginner .baloon h3 {
    width: 456px;
    font-size: 22px;
    font-size: 2.2rem;
    line-height: 22px;
    line-height: 2.2rem;
  }
}
.index_beginner .baloon h3:before, .index_beginner .baloon h3:after {
  content: '';
  width: 15px;
  height: 35px;
  display: block;
  position: absolute;
}
.index_beginner .baloon h3:before {
  background: url(images/index_beginner_ttl_bf_sp.png) no-repeat top left;
  background-size: contain;
  bottom: 0;
  left: 0;
}
.index_beginner .baloon h3:after {
  background: url(images/index_beginner_ttl_af_sp.png) no-repeat top left;
  background-size: contain;
  bottom: 0;
  right: 0;
}
@media only screen and (min-width: 768px) {
  .index_beginner .baloon h3 {
    width: 456px;
  }
  .index_beginner .baloon h3:before, .index_beginner .baloon h3:after {
    content: '';
    width: 7px;
    height: 18px;
    display: block;
    position: absolute;
  }
  .index_beginner .baloon h3:before {
    background: url(images/index_beginner_ttl_bf.png) no-repeat top left;
    bottom: 0;
    left: 0;
    background-size: contain;
  }
  .index_beginner .baloon h3:after {
    background: url(images/index_beginner_ttl_af.png) no-repeat top left;
    background-size: contain;
    bottom: 0;
    right: 0;
  }
}
@media only screen and (min-width: 768px) {
  .index_beginner .baloon p {
    text-align: center;
  }
}
.index_beginner .point {
  margin-bottom: 50px;
  padding: 50px 0 40px 0;
}
@media only screen and (min-width: 768px) {
  .index_beginner .point {
    margin-bottom: 130px;
    padding: 80px 0 40px 0;
    background: url(images/index_beginner_point_bg.png) no-repeat center center;
    background-size: cover;
  }
}
.index_beginner .point h3 {
  margin: 0 auto 40px;
  width: 169px;
  height: 48px;
}
@media only screen and (min-width: 768px) {
  .index_beginner .point h3 {
    margin: 0 auto 80px;
    width: 371px;
    height: 108px;
  }
}
.index_beginner .point h3 img {
  width: 100%;
  height: auto;
  display: block;
}
.index_beginner .point .pointitems {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-direction: normal;
  -webkit-box-orient: horizontal;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  justify-content: space-between;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .index_beginner .point .pointitems {
    width: 900px;
  }
}
.index_beginner .point .pointitems .index_beginner_link {
  display: none;
}
@media only screen and (min-width: 768px) {
  .index_beginner .point .pointitems .index_beginner_link {
    width: 160px;
    height: 160px;
    display: block;
    position: absolute;
    top: -220px;
    right: 0;
  }
}
.index_beginner .point .pointitems .index_beginner_link img {
  width: 100%;
  height: auto;
  display: block;
}
.index_beginner .point .pointitems .pointitem {
  margin: 0 auto 50px;
  width: 300px;
  padding: 30px 10px;
  background-color: #fff;
  border: 1px solid #808080;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .index_beginner .point .pointitems .pointitem {
    margin: 0 0 70px;
    width: 31.5%;
  }
}
.index_beginner .point .pointitems .pointitem .num {
  margin: -51px auto 20px;
  width: 138px;
  height: 62px;
  display: block;
}
.index_beginner .point .pointitems .pointitem .pimg {
  margin: 0 auto 12px;
  width: 106px;
  height: 106px;
  display: block;
}
.index_beginner .point .pointitems .pointitem .catch {
  margin-bottom: 15px;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 12px;
  line-height: 1.2rem;
}
.index_beginner .point .pointitems .pointitem h4 {
  margin-bottom: 20px;
  font-size: 20px;
  font-size: 2rem;
  line-height: 20px;
  line-height: 2rem;
  color: #3972b7;
}
@media only screen and (min-width: 768px) {
  .index_beginner .point .pointitems .pointitem h4 {
    font-size: 24px;
    font-size: 2.4rem;
    line-height: 24px;
    line-height: 2.4rem;
  }
}
.index_beginner .point .pointitems .pointitem p {
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 24px;
  line-height: 2.4rem;
}
@media only screen and (min-width: 768px) {
  .index_beginner .point .pointitems .pointitem p {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 28px;
    line-height: 2.8rem;
  }
}
/* メニュー
- - - - - - - - - - - - - - - - -*/
.index_menu .ttl_lv2 {
  margin-bottom: 130px;
}
@media only screen and (min-width: 768px) {
  .index_menu .ttl_lv2 {
    margin-bottom: 60px;
  }
}
.index_menu .menuitems {
  margin-bottom: 50px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-direction: normal;
  -webkit-box-orient: horizontal;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-pack: distribute;
  -webkit-justify-content: space-around;
  -moz-justify-content: space-around;
  justify-content: space-around;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .index_menu .menuitems {
    margin-bottom: 100px;
  }
}
.index_menu .menuitems .option {
  margin: 0 auto;
  width: 180px;
  height: auto;
  display: block;
  position: absolute;
  top: -80px;
  left: 0;
  right: 0;
}
@media only screen and (min-width: 768px) {
  .index_menu .menuitems .option {
    margin: 0;
    width: spx;
    height: 70px;
    top: -120px;
    left: auto;
    right: 0;
  }
}
.index_menu .menuitems .menuitem {
  margin-bottom: 50px;
  padding-bottom: 30px;
  width: 45%;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .index_menu .menuitems .menuitem {
    margin-bottom: 0;
    padding-bottom: 30px;
    width: 215px;
  }
}
.index_menu .menuitems .menuitem .catch {
  display: none;
}
@media only screen and (min-width: 768px) {
  .index_menu .menuitems .menuitem .catch {
    border-right: 1px solid #666;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 30px;
    line-height: 3rem;
    color: #4d4d4d;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    display: block;
    position: absolute;
    top: -20px;
    right: 18px;
  }
}
.index_menu .menuitems .menuitem img {
  margin-bottom: 30px;
  width: 100%;
  height: auto;
  display: block;
}
@media only screen and (min-width: 768px) {
  .index_menu .menuitems .menuitem img {
    width: 215px;
    height: 180px;
  }
}
.index_menu .menuitems .menuitem h3 {
  margin-bottom: 25px;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0.2rem;
}
@media only screen and (min-width: 768px) {
  .index_menu .menuitems .menuitem h3 {
    margin-bottom: 25px;
    font-size: 20px;
    font-size: 2rem;
    line-height: 20px;
    line-height: 2rem;
  }
}
.index_menu .menuitems .menuitem .text {
  margin-bottom: 30px;
  text-align: justify;
}
.index_menu .menuitems .menuitem .more {
  margin: 0 auto;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}
/* クリニック
- - - - - - - - - - - - - - - - -*/
.index_clinic {
  margin-bottom: 80px;
  padding-right: 20px;
  padding-left: 20px;
}
@media only screen and (min-width: 768px) {
  .index_clinic {
    margin-bottom: 100px;
  }
}
@media only screen and (min-width: 980px) {
  .index_clinic {
    padding-right: 0;
    padding-left: 0;
  }
}
.index_clinic .clinic__heading--lv1 {
  width: 125px;
  background-color: #fff;
  position: absolute;
  top: -10px;
  left: 50%;
  transform: translateX(-50%);
}
.index_clinic .clinic__heading--lv2 {
  margin-bottom: 10px;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 40px;
  line-height: 4rem;
  font-family: serif;
  color: #3572b7;
  border-bottom: 1px solid #666;
}
.index_clinic .clinic__card {
  margin: 0 auto;
  padding: 40px 20px 30px;
  width: 100%;
  max-width: 980px;
  border: 1px dotted #000;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .index_clinic .clinic__card {
    padding: 55px 60px;
  }
}
.index_clinic .clinic__lead {
  margin-bottom: 20px;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 28px;
  line-height: 2.8rem;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .index_clinic .clinic__lead {
    margin-bottom: 45px;
  }
}
@media only screen and (min-width: 768px) {
  .index_clinic .clinic__row {
    margin-right: -20px;
    margin-left: -20px;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
  }
}
.index_clinic .clinic__col {
  margin-bottom: 40px;
}
.index_clinic .clinic__col:last-of-type {
  margin-bottom: 0;
}
@media only screen and (min-width: 768px) {
  .index_clinic .clinic__col {
    margin-bottom: 0;
    padding-right: 20px;
    padding-left: 20px;
    width: 50%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}
.index_clinic .clinic__img {
  margin-top: 12px;
  margin-bottom: 5px;
}
@media only screen and (min-width: 768px) {
  .index_clinic .clinic__img {
    width: 47%;
  }
}
.index_clinic .clinic__img img {
  width: 100%;
  height: auto;
  display: block;
}
.index_clinic .clinic__body {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .index_clinic .clinic__body {
    width: 47%;
  }
}
.index_clinic .clinic__text {
  margin-bottom: 12px;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 22px;
  line-height: 2.2rem;
}
.index_clinic .clinic__access {
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 22px;
  line-height: 2.2rem;
  text-indent: -18px;
  margin-left: 18px;
  position: relative;
}
.index_clinic .clinic__access::before {
  content: '\f239';
  margin-right: 5px;
  width: 16px;
  height: 16px;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 16px;
  line-height: 1.6rem;
  font-family: FontAwesome;
  color: #3572b7;
}
.clinic__interphone{
  margin-top: 12px;
  font-size: 1.2rem;
  line-height: 2.2rem;
}
@media only screen and (min-width: 768px) {
  .clinic__interphone{
    font-size: 1.0rem;
    line-height: 1.8;
  }
}
/* メディア
- - - - - - - - - - - - - - - - -*/
.index_media {
  margin: 0 auto 60px;
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .index_media {
    margin-bottom: 150px;
    width: 940px;
  }
}
.index_media .mediaitems {
  padding: 0 20px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-direction: normal;
  -webkit-box-orient: horizontal;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  justify-content: space-between;
}
@media only screen and (min-width: 768px) {
  .index_media .mediaitems {
    padding: 30px 0 50px 0;
    -webkit-flex-wrap: nowrap;
    -moz-flex-wrap: nowrap;
    -ms-flex-wrap: none;
    flex-wrap: nowrap;
  }
}
.index_media .mediaitems .itemimg {
  margin: 0 auto 50px;
  width: 85%;
  box-shadow: 25px 25px #3972b7;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .index_media .mediaitems .itemimg {
    width: 380px;
    height: 285px;
  }
}
.index_media .mediaitems .itemimg:before {
  content: '';
  width: 85px;
  height: 82px;
  background: url(images/index_media_new.png) no-repeat top left;
  background-size: contain;
  display: block;
  position: absolute;
  top: -30px;
  left: -30px;
}
.index_media .mediaitems .itemimg a {
  display: block;
}
.index_media .mediaitems .itemimg img {
  width: 100%;
  height: auto;
  display: block;
}
.index_media .mediaitems .content {
  width: 100%;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .index_media .mediaitems .content {
    width: 400px;
  }
}
.index_media .mediaitems .content .media_ttl {
  display: none;
}
@media only screen and (min-width: 768px) {
  .index_media .mediaitems .content .media_ttl {
    width: 328px;
    height: 101px;
    position: relative;
    top: -30px;
    display: block;
  }
  .index_media .mediaitems .content .media_ttl img {
    width: 100%;
    height: auto;
    display: block;
  }
}
.index_media .mediaitems .content h3 {
  margin-bottom: 40px;
  font-size: 20px;
  font-size: 2rem;
  line-height: 36px;
  line-height: 3.6rem;
  font-weight: bold;
}
.index_media .mediaitems .content h3 a {
  color: #3972b7;
  text-decoration: underline;
}
.index_media .mediaitems .content h3 a:hover {
  text-decoration: none;
}
.index_media .mediaitems .content .text {
  margin-bottom: 20px;
  text-align: justify;
  height: 8.4rem;
  overflow: hidden;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .index_media .mediaitems .content .text {
    margin-bottom: 0;
  }
}
.index_media .mediaitems .content .text:before, .index_media .mediaitems .content .text:after {
  background: #fff;
  position: absolute;
  width: 1.4rem;
  height: 1.4rem;
}
.index_media .mediaitems .content .text:before {
  content: '…';
  bottom: 0.7rem;
  right: 0;
}
.index_media .mediaitems .content .text:after {
  content: '';
}
@media only screen and (min-width: 768px) {
  .index_media .mediaitems .content .more {
    position: absolute;
    bottom: 0;
    right: 17px;
  }
}
.index_media .media_ttl_sp {
  margin: 0 auto 45px;
  width: 244px;
  height: 20px;
  display: block;
}
@media only screen and (min-width: 768px) {
  .index_media .media_ttl_sp {
    display: none;
  }
}
.index_media .media_ttl_sp img {
  width: 100%;
  height: auto;
  display: block;
}
/* スタッフ
- - - - - - - - - - - - - - - - -*/
.index__staff {
  margin-top: -105px;
  margin-bottom: 60px;
  padding-top: 105px;
  padding-right: 20px;
  padding-left: 20px;
}
@media only screen and (min-width: 768px) {
  .index__staff {
    margin-bottom: 80px;
  }
}
@media only screen and (min-width: 980px) {
  .index__staff {
    padding-right: 0;
    padding-left: 0;
  }
}
.index__staff .staff__inner {
  margin: 0 auto;
  width: 100%;
  max-width: 980px;
}
.index__staff .staff__heading--lv1 {
  margin-bottom: 40px;
  text-align: center;
}
.index__staff .staff__heading--lv1 span {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 16px;
  line-height: 1.6rem;
  font-weight: bold;
  position: relative;
}
.index__staff .staff__heading--lv1 span::before, .index__staff .staff__heading--lv1 span::after {
  content: '';
  width: 11px;
  height: 19px;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  display: block;
  position: absolute;
  top: 0;
}
.index__staff .staff__heading--lv1 span::before {
  background-image: url(images/index_staff_heading_l.png);
  left: -20px;
}
.index__staff .staff__heading--lv1 span::after {
  background-image: url(images/index_staff_heading_r.png);
  right: -20px;
}
@media only screen and (min-width: 768px) {
  .index__staff .staff__heading--lv1 span {
    margin-bottom: 50px;
  }
}
.index__staff .staff__heading--lv1 span img {
  margin-left: 5px;
  width: 88px;
  height: auto;
  display: inline-block;
}
.index__staff .staff__tabs {
  list-style-type: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.index__staff .staff__tab {
  margin: 0 10px;
  width: 40%;
  border: 1px solid #3572b7;
  border-bottom: none;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 40px;
  line-height: 4rem;
  color: #3572b7;
  font-weight: bold;
  text-align: center;
  cursor: pointer;
}
.index__staff .staff__tab._active {
  background-color: #3572b7;
  color: #fff;
}
@media only screen and (min-width: 768px) {
  .index__staff .staff__tab {
    max-width: 260px;
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 50px;
    line-height: 5rem;
  }
}
.index__staff .staff__contents {
  list-style-type: none;
  margin: 0 0 80px;
  padding: 0;
  position: absolute;
  background-color: #dfdddc;
  border-top: 5px solid #3572b7;
  position: relative;
  opacity: 0;
}
@media only screen and (min-width: 768px) {
  .index__staff .staff__contents {
    padding-top: 100px;
    width: 100%;
  }
}
.index__staff .staff__content {
  margin: 0 auto;
  padding: 35px 20px 0;
  width: 100%;
  background-color: #dfdddc;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
}
@media only screen and (min-width: 768px) {
  .index__staff .staff__content {
    padding: 50px 0 0;
    width: 980px;
  }
}
.index__staff .staff__content._select {
  z-index: 2;
}
@media only screen and (min-width: 768px) {
  .index__staff .staff__slide {
    margin-bottom: 60px;
  }
}
.index__staff .staff__slide .slick-list {
  padding-bottom: 30px;
}
.index__staff .staff__slide .slick-slide {
  height: 100%;
}
.index__staff .staff__slide .slick-arrow {
  margin-top: -8px;
  position: absolute;
  top: 50%;
  cursor: pointer;
  z-index: 3;
}
.index__staff .staff__slide .slick__prev {
  left: -20px;
}
.index__staff .staff__slide .slick__prev::after {
  content: '';
  width: 16px;
  height: 16px;
  border: 2px solid;
  border-color: transparent transparent #3972b7 #3972b7;
  transform: rotate(45deg);
  display: block;
}
.index__staff .staff__slide .slick__next {
  right: -20px;
}
.index__staff .staff__slide .slick__next::after {
  content: '';
  width: 16px;
  height: 16px;
  border: 2px solid;
  border-color: #3972b7 #3972b7 transparent transparent;
  transform: rotate(45deg);
  display: block;
}
.index__staff .staff__row {
  list-style-type: none;
  margin: 0;
  padding: 0;
}
.index__staff .staff__col {
  margin: 0 10px 48px;
  padding: 25px 25px 40px;
  width: 100%;
  background-color: #fff;
  box-shadow: 5px 5px #3972b7;
  display: block;
  position: relative;
  z-index: 10;
}
@media only screen and (min-width: 768px) {
  .index__staff .staff__col {
    margin: 0 10px;
    width: 210px;
  }
}
.index__staff .staff__col .more {
  margin: 0 auto;
  position: absolute;
  bottom: -18px;
  left: 0;
  right: 0;
}
.index__staff .staff__meta {
  margin-bottom: 10px;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
}
@media only screen and (min-width: 768px) {
  .index__staff .staff__meta {
    display: block;
  }
}
.index__staff .staff__img {
  width: 42.5%;
}
@media only screen and (min-width: 768px) {
  .index__staff .staff__img {
    margin-bottom: 20px;
    width: 100%;
  }
}
.index__staff .staff__img img {
  width: 100%;
  height: auto;
  border-radius: 50%;
  display: block;
}
.index__staff .staff__info {
  width: 50%;
}
@media only screen and (min-width: 768px) {
  .index__staff .staff__info {
    width: 100%;
  }
}
.index__staff .staff__name {
  margin-bottom: 5px;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 14px;
  line-height: 1.4rem;
  font-weight: bold;
}
@media only screen and (min-width: 768px) {
  .index__staff .staff__name {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 18px;
    line-height: 1.8rem;
    text-align: center;
  }
}
.index__staff .staff__shop {
  margin-bottom: 15px;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 24px;
  line-height: 2.4rem;
  color: #3972b7;
  text-align: center;
}
.index__staff .staff__situation {
  margin-bottom: 15px;
  background-color: #e2e0df;
  text-align: center;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 25px;
  line-height: 2.5rem;
  font-weight: bold;
  color: #666;
}
@media only screen and (min-width: 768px) {
  .index__staff .staff__situation {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 30px;
    line-height: 3rem;
  }
}
.index__staff .staff__time {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 28px;
  line-height: 2.8rem;
  color: #3972b7;
}
@media only screen and (min-width: 768px) {
  .index__staff .staff__time {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 28px;
    line-height: 2.8rem;
    text-align: center;
  }
}
.index__staff .staff__treat {
  width: 100%;
}
.index__staff .staff__treat-heading {
  margin-bottom: 14px;
  border-top: 1px solid #4d4d4d;
  border-bottom: 1px solid #4d4d4d;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 35px;
  line-height: 3.5rem;
  font-weight: bold;
  text-align: center;
}
.index__staff .staff__treat-text {
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 24px;
  line-height: 2.4rem;
}
@media only screen and (min-width: 768px) {
  .index__staff .staff__treat-text {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 28px;
    line-height: 2.8rem;
  }
}
.index__staff .staff__reserve {
  display: none;
}
@media only screen and (min-width: 768px) {
  .staff__contents {
    height: auto;
  }
  .index__staff .staff__reserve {
    display: block;
    background: none;
  }
  /*.index__staff .staff__reserve-pc {
		display: none;
	}*/
  .index__staff .staff__reserve a {
    display: block;
    max-width: 700px;
    width: 100%;
    margin: 0 auto 50px;
    padding: 40px 5px;
    background: #3972b7;
    background-image: url(images/arrow_r_10x18_w.png);
    background-repeat: no-repeat;
    background-position: center right 170px;
    color: #FFF;
    text-align: center;
    font-size: 1.8rem;
    letter-spacing: 0.3rem;
    transition: 0.3s;
  }
  .index__staff .staff__reserve a:hover {
    opacity: 0.6;
    transition: 0.3s;
    text-decoration: none;
  }
  .index__staff .staff__reserve a span {
    position: relative;
  }
  .index__staff .staff__reserve a span::before {
    position: absolute;
    content: "";
    width: 30px;
    height: 30px;
    left: 0;
    top: 50%;
    transform: translate(-150%, -50%);
    background-image: url(images/index_reserve_icon_pc_w.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% auto;
  }
}
@media only screen and (min-width: 1200px) {
  .index__staff .staff__reserve {
    margin: 0 auto;
    width: 960px;
    display: block;
  }
  /*.index__staff .staff__reserve iframe {
		width: 960px;
		height: 1340px;
	}*/
  /*.index__staff .staff__reserve-tablet {
		display: none;
	}*/
}
/* ブログ
- - - - - - - - - - - - - - - - -*/
.index_blog {
  padding: 0 20px;
  margin-bottom: 50px;
}
@media only screen and (min-width: 768px) {
  .index_blog {
    padding: 0;
    margin-bottom: 100px;
  }
}
.index_blog .ttl_lv2 {
  margin-bottom: 60px;
}
.index_blog .blogitems {
  margin: 0 auto;
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-direction: normal;
  -webkit-box-orient: horizontal;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  justify-content: center;
}
@media only screen and (min-width: 768px) {
  .index_blog .blogitems {
    width: 940px;
  }
}
.index_blog .blogitems .blogitem {
  margin: 0 2.5% 25px;
  width: 45%;
}
@media only screen and (min-width: 768px) {
  .index_blog .blogitems .blogitem {
    margin: 0 15px 25px;
    width: 200px;
    position: relative;
  }
}
.index_blog .blogitems .blogitem .blogimg {
  margin-bottom: 15px;
  display: block;
}
.index_blog .blogitems .blogitem .blogimg img {
  width: 100%;
  height: auto;
  display: block;
}
.index_blog .blogitems .blogitem .category {
  margin-bottom: 15px;
  background-color: #fff;
  border: 1px solid #bbb;
  font-size: 11px;
  font-size: 1.1rem;
  line-height: 25px;
  line-height: 2.5rem;
  text-align: center;
  font-weight: bold;
  display: block;
}
.index_blog .blogitems .blogitem .category:hover {
  text-decoration: none;
  color: #666;
}
@media only screen and (min-width: 768px) {
  .index_blog .blogitems .blogitem .category {
    margin: 0 auto;
    width: 146px;
    height: 30px;
    font-size: 11px;
    font-size: 1.1rem;
    line-height: 30px;
    line-height: 3rem;
    letter-spacing: 0.32rem;
    position: absolute;
    top: -15px;
    left: 0;
    right: 0;
  }
}
.index_blog .blogitems .blogitem .category span {
  display: block;
}
.index_blog .blogitems .blogitem .date {
  margin-bottom: 10px;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 12px;
  line-height: 1.2rem;
}
.index_blog .blogitems .blogitem h3 {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 20px;
  line-height: 2rem;
  font-weight: bold;
}
@media only screen and (min-width: 768px) {
  .index_blog .blogitems .blogitem h3 {
    margin-bottom: 10px;
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 24px;
    line-height: 2.4rem;
  }
}
.index_blog .blogitems .blogitem h3 a {
  color: #3972b7;
  text-decoration: underline;
}
.index_blog .blogitems .blogitem h3 a:hover {
  text-decoration: none;
}
.index_blog .blogitems .blogitem .text {
  display: none;
}
@media only screen and (min-width: 768px) {
  .index_blog .blogitems .blogitem .text {
    height: 8.4rem;
    text-align: justify;
    overflow: hidden;
    display: block;
    position: relative;
  }
  .index_blog .blogitems .blogitem .text:before, .index_blog .blogitems .blogitem .text:after {
    background: #fff;
    position: absolute;
    width: 1.4rem;
    height: 1.4rem;
  }
  .index_blog .blogitems .blogitem .text:before {
    content: '…';
    bottom: 0.7rem;
    right: 0;
  }
  .index_blog .blogitems .blogitem .text:after {
    content: '';
  }
}
/* sns
- - - - - - - - - - - - - - - - -*/
.index_sns_wrap {
  max-width: 940px;
  width: 100%;
  margin: 0 auto;
}
.index_sns {
  width: 50%;
  float: left;
  padding: 20px 0;
}
@media only screen and (max-width: 768px) {
  .index_sns {
    width: 100%;
    float: none;
    padding: 0;
    margin-top: 100px;
  }
}
.index_sns .ttl_lv2 {
  margin-bottom: 40px;
}
.index_sns h3 {
  margin: 0 auto 30px;
  width: 300px;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 28px;
  line-height: 2.8rem;
  text-align: center;
  font-weight: bold;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .index_sns h3 {
    width: 330px;
  }
}
.index_sns h3:before, .index_sns h3:after {
  content: '';
  width: 20px;
  height: 23px;
  display: block;
  position: absolute;
  bottom: 0;
}
.index_sns h3:before {
  background: url(images/index_insta_ttl_bf.png) no-repeat;
  background-size: contain;
  left: 0;
}
.index_sns h3:after {
  background: url(images/index_insta_ttl_af.png) no-repeat;
  background-size: contain;
  right: 0;
}
.index_sns h3 span {
  display: block;
}
.index_sns h4 {
  font-size: 1.1rem;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0.2rem;
  margin-top: 20px;
}
/* Instagramm
- - - - - - - - - - - - - - - - -*/
.index_insta {
  border-right: 1px solid #E2E0DF;
}
@media only screen and (max-width: 640px) {
  .index_insta {
    border-right: none;
    margin-bottom: 50px;
  }
}
.index_insta .icon {
  margin: 0 auto 20px;
  width: 30px;
  height: 30px;
  display: block;
}
.index_insta .btn_insta {
  margin: 0 auto;
  display: block;
  width: 75px;
  height: 81px;
}
.index_insta .btn_insta img {
  width: 100%;
  height: auto;
  display: block;
}
.index_sns h4 span {
  color: #3572B7;
}
/* LINE
- - - - - - - - - - - - - - - - -*/
.index_line .btn_line {
  margin: 0 auto;
  display: block;
  width: 156px;
  height: 81px;
}
@media only screen and (max-width: 640px) {
  .index_line .btn_line {
    height: 70px;
  }
}
.index_line .btn_line img {
  width: 100%;
  height: auto;
  display: block;
}
.index_line h4 span {
  color: #00B900;
}
/* beginner 初めての方へ
-------------------------------------------------------------*/
.ttl_lv1._beginner {
  background: url(images/beginner_img.png) no-repeat center center;
}
/* CSS Document */
/*大枠*/
/*aoはり治療院とは
- - - - - - - - - - - - - - - - -*/
.beginner_about {
  margin: 0 auto 40px;
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .beginner_about {
    margin-bottom: 85px;
  }
}
.beginner_about .inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-direction: normal;
  -webkit-box-orient: horizontal;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
@media only screen and (min-width: 768px) {
  .beginner_about .inner {
    width: 940px;
    -webkit-box-direction: normal;
    -webkit-box-orient: horizontal;
    -webkit-flex-direction: row;
    -moz-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    -moz-justify-content: space-between;
    justify-content: space-between;
  }
}
.beginner_about .inner h3, .beginner_about .inner p {
  margin: 0 auto 20px;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .beginner_about .inner h3, .beginner_about .inner p {
    text-align: left;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
  }
}
.beginner_about .inner h3 {
  margin-bottom: 30px;
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 40px;
  line-height: 4rem;
  font-weight: normal;
  color: #666;
  letter-spacing: 0.24rem;
  order: 2;
  font-family: serif;
}
@media only screen and (min-width: 768px) {
  .beginner_about .inner h3 {
    margin-bottom: 0;
    font-size: 26px;
    font-size: 2.6rem;
    line-height: 54px;
    line-height: 5.4rem;
    order: 3;
    width: 180px;
  }
}
.beginner_about .inner p {
  order: 2;
}
.beginner_about .inner p.two {
  order: 1;
}
@media only screen and (min-width: 768px) {
  .beginner_about .inner p {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 32px;
    line-height: 3.2rem;
    order: 2;
    margin-left: 20px;
    width: 170px;
  }
  .beginner_about .inner p.two {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 32px;
    line-height: 3.2rem;
    order: 1;
    margin: 0 0 0 45px;
    width: 240px;
  }
}
.beginner_about .inner img {
  margin-bottom: 20px;
  width: 100%;
  height: 100%;
  order: 2;
  display: block;
}
@media only screen and (min-width: 768px) {
  .beginner_about .inner img {
    width: 555px;
    height: 349px;
    width: auto;
    order: 1;
  }
  .beginner_about .inner img.two {
    width: 544px;
    height: 342px;
    width: auto;
    order: 2;
  }
}
/* 美容鍼について 質問
- - - - - - - - - - - - - - - - -*/
.beginner_biyoubari {
  background-color: #EEF3FA;
  padding: 50px 0 100px;
  margin-bottom: 80px;
}
.beginner_biyoubari .inner {
  margin: 0 auto;
  width: 100%;
  padding: 0 20px;
}
@media only screen and (min-width: 768px) {
  .beginner_biyoubari .inner {
    width: 900px;
    padding: 0 20px;
  }
}
@media only screen and (min-width: 980px) {
  .beginner_biyoubari .inner {
    padding: 0;
  }
}
.beginner_biyoubari .inner span.one {
  display: block;
  margin: 50px auto 0 auto;
}
@media only screen and (min-width: 768px) {
  .beginner_biyoubari .inner span.one {
    width: 278px;
  }
}
.beginner_biyoubari .effect {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-direction: normal;
  -webkit-box-orient: horizontal;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  justify-content: space-between;
}
@media only screen and (min-width: 768px) {
  .beginner_biyoubari .effect {
    -webkit-flex-wrap: nowrap;
    -moz-flex-wrap: nowrap;
    -ms-flex-wrap: none;
    flex-wrap: nowrap;
  }
}
.beginner_biyoubari .effect .imgbox {
  margin-bottom: 10px;
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .beginner_biyoubari .effect .imgbox {
    width: 439px;
    height: 288px;
  }
}
.beginner_biyoubari .effect .imgbox img {
  width: 100%;
  height: auto;
  display: block;
}
.beginner_biyoubari .effect .textbox {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .beginner_biyoubari .effect .textbox {
    width: 430px;
  }
}
.beginner_biyoubari .effect .textbox h4 {
  margin-bottom: 30px;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 38px;
  line-height: 3.8rem;
  font-weight: bold;
  color: #666;
  letter-spacing: 0.24rem;
}
@media only screen and (min-width: 768px) {
  .beginner_biyoubari .effect .textbox h4 {
    margin-bottom: 20px;
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 38px;
    line-height: 3.8rem;
  }
}
.beginner_biyoubari .effect .textbox p {
  text-align: justify;
}
.beginner_biyoubari h3.konna_koe {
  color: #3972B7;
  border-bottom: 2px dotted #3972B7;
  margin: 65px auto 15px auto;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 40px;
  line-height: 4rem;
  font-weight: bold;
  text-align: center;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .beginner_biyoubari h3.konna_koe {
    width: 350px;
    font-size: 21px;
    font-size: 2.1rem;
    line-height: 54px;
    line-height: 5.4rem;
  }
}
.beginner_biyoubari h3.konna_koe:before {
  content: "";
  background: url(images/beginner_beginnerkoukaimg1@2x.png) no-repeat;
  background-size: contain;
  width: 279px;
  height: 20px;
  display: block;
  position: absolute;
  top: -22px;
  right: 0;
  left: 0;
  margin: 0 auto;
}
/* こんな声あります。
- - - - - - - - - - - - - - - - -*/
.beginner_voice .voiceitems {
  margin-bottom: 100px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-direction: normal;
  -webkit-box-orient: horizontal;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  justify-content: space-between;
}
@media only screen and (min-width: 768px) {
  .beginner_voice .voiceitems {
    padding: 20px;
  }
}
.beginner_voice .voiceitems .voiceitem {
  margin-bottom: 20px;
  position: relative;
  width: 150px;
  height: 120px;
  margin: 0 auto 20px;
  background: url(images/beginner_beginnerkoukaimg2.png) no-repeat center center;
  background-size: contain;
}
@media only screen and (min-width: 768px) {
  .beginner_voice .voiceitems .voiceitem {
    margin-bottom: 50px;
    width: 210px;
    height: 188px;
  }
}
.beginner_voice .voiceitems .voiceitem .catch {
  margin: 0 auto;
  color: #3972B7;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 18px;
  line-height: 1.8rem;
  display: block;
  position: absolute;
  top: 25px;
  left: 0;
  right: 0;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .beginner_voice .voiceitems .voiceitem .catch {
    top: 50px;
    left: 0px;
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 25px;
    line-height: 2.5rem;
  }
}
.beginner_voice .voiceitems .voiceitem .catchtwo {
  margin: 0 auto;
  color: #3972B7;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 18px;
  line-height: 1.8rem;
  display: block;
  position: absolute;
  top: 15px;
  left: 0;
  right: 0;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .beginner_voice .voiceitems .voiceitem .catchtwo {
    top: 50px;
    left: 0px;
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 25px;
    line-height: 2.5rem;
  }
}
/* よくある質問
- - - - - - - - - - - - - - - - -*/
.questionbox {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .questionbox {
    margin: 0 auto 50px auto;
    padding: 0;
    width: 900px;
  }
}
.questionbox .beginnerqa {
  margin: 0 auto;
  padding: 100px 20px 20px;
  width: 91%;
  border: 1px dotted #3972B7;
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-direction: normal;
  -webkit-box-orient: horizontal;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  justify-content: space-between;
}
@media only screen and (min-width: 768px) {
  .questionbox .beginnerqa {
    padding: 60px 50px 20px 50px;
    width: 100%;
    -webkit-flex-wrap: nowrap;
    -moz-flex-wrap: nowrap;
    -ms-flex-wrap: none;
    flex-wrap: nowrap;
  }
}
.questionbox .beginnerqa .textbox {
  width: 100%;
  margin-bottom: 30px;
}
@media only screen and (min-width: 768px) {
  .questionbox .beginnerqa .textbox {
    width: 48%;
  }
}
.questionbox .beginnerqa .more {
  margin: 0 auto;
  position: absolute;
  bottom: -18px;
  left: 0;
  right: 0;
}
.questionbox .beginnerqa h4 {
  background: url(images/beginner_beginnerimgq.png) no-repeat;
  color: #3972B7;
  padding: 0 0 5% 30px;
  border-bottom: 1px solid #DDDBDA;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 28px;
  line-height: 2.8rem;
  letter-spacing: 0.24em;
  font-weight: 700;
}
@media only screen and (min-width: 768px) {
  .questionbox .beginnerqa h4 {
    padding: 0 0 5% 7%;
  }
}
.questionbox .beginnerqa p {
  background: url(images/beginner_beginnerimga.png) no-repeat;
  padding: 0 0 0 30px;
  margin: 4% 0 0 0;
}
.questionbox .beginnerqa .question {
  background-color: #FFFFFF;
  position: absolute;
  border: 2px solid #3972B7;
  top: -30px;
  left: 0;
  right: 0;
  margin: 0 auto;
  box-shadow: 2px 2px #3972b7;
  width: 86%;
}
@media only screen and (min-width: 768px) {
  .questionbox .beginnerqa .question {
    width: 75%;
  }
}
.questionbox .beginnerqa .question img {
  margin: -51px auto 5px;
  width: 114px;
  height: 63px;
  display: block;
}
.questionbox .beginnerqa .question p {
  background: none;
  margin: 0 5% 1% 5%;
  padding: 0;
  text-align: center;
}
/* メッセージ
- - - - - - - - - - - - - - - - -*/
.beginner_taioubox_background {
  background-color: #f9fbfd;
}
.beginner_taioubox {
  padding: 0 0 0 0;
  width: 100%;
  margin-bottom: 20px;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .beginner_taioubox {
    margin: 0 auto 80px auto;
    width: 940px;
  }
}
.beginner_taioubox:before {
  content: "";
  background: url(images/beginner_beginnerimgtaiou@2x.png) no-repeat;
  background-size: contain;
  width: 245px;
  height: 86px;
  display: block;
  position: absolute;
  top: -62px;
  right: 0;
  left: 0;
  margin: 0 auto;
}
.beginner_taioubox img {
  margin: 0 auto;
  width: 94%;
  height: auto;
  display: block;
}
@media only screen and (min-width: 768px) {
  .beginner_taioubox img {
    display: block;
    margin: 0 auto;
    padding: 0;
    width: 768px;
  }
}
.beginner_taioubox .left {
  margin: 15px auto 0;
  padding: 0 20px;
  width: 80%;
}
@media only screen and (min-width: 768px) {
  .beginner_taioubox .left {
    position: absolute;
    left: 20px;
    top: 60px;
    width: 250px;
    margin: 0;
    padding: 0;
    font-size: 13px;
    font-size: 1.3rem;
    line-height: 24px;
    line-height: 2.4rem;
    letter-spacing: 0.14em;
  }
}
.beginner_taioubox .right {
  margin: 15px auto 0;
  padding: 0 20px 20px 20px;
  width: 80%;
}
@media only screen and (min-width: 768px) {
  .beginner_taioubox .right {
    position: absolute;
    right: 20px;
    top: 60px;
    width: 250px;
    margin: 0;
    padding: 0;
    font-size: 13px;
    font-size: 1.3rem;
    line-height: 24px;
    line-height: 2.4rem;
    letter-spacing: 0.14em;
  }
}
@media only screen and (min-width: 768px) {
  .beginner_taioubox div.left img, .beginner_taioubox div.right img {
    width: 250px;
    height: auto;
  }
}
/* メニュー
- - - - - - - - - - - - - - - - -*/
.beginner_menubox {
  padding: 0 20px;
  width: 100%;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .beginner_menubox {
    margin: 0 auto 50px auto;
    padding: 0;
    width: 940px;
  }
}
.beginner_menubox p.lead {
  margin: 0 auto;
  width: 100%;
  text-align: center;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .beginner_menubox p.lead {
    width: 540px;
  }
  .beginner_menubox p.lead:before, .beginner_menubox p.lead:after {
    content: '';
    display: block;
    position: absolute;
    width: 1px;
    height: 45px;
    background-color: #9e9e9e;
    bottom: 4px;
  }
  .beginner_menubox p.lead:before {
    left: 0;
    transform: rotate(-30deg);
  }
  .beginner_menubox p.lead:after {
    right: 0;
    transform: rotate(30deg);
  }
}
.beginner_menubox .beginner_menuitems {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-direction: normal;
  -webkit-box-orient: horizontal;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  justify-content: space-between;
  padding: 90px 0 50px 0;
}
.beginner_menubox .beginner_menuitems .beginner_menuitem {
  width: 222px;
  text-align: center;
  margin: 0 auto 50px;
  position: relative;
  padding-bottom: 30px;
}
.beginner_menubox .beginner_menuitems .beginner_menuitem img {
  width: 100%;
  height: auto;
  display: block;
}
.beginner_menubox .beginner_menuitems .beginner_menuitem h4 {
  position: relative;
  font-size: 19px;
  font-size: 1.9rem;
  letter-spacing: 0.16em;
  line-height: 40px;
  line-height: 4rem;
  color: #3972B7;
  font-weight: bold;
  margin: 35px 0 20px 0;
}
.beginner_menubox .beginner_menuitems .beginner_menuitem h4.one:after {
  content: "";
  background: url(images/beginner_underline104x13@2x.png) no-repeat;
  background-size: contain;
  width: 104px;
  height: 13px;
  display: block;
  position: absolute;
  bottom: 0px;
  left: 0;
  right: 0;
  margin: 0 auto;
}
.beginner_menubox .beginner_menuitems .beginner_menuitem h4.two:after, .beginner_menubox .beginner_menuitems .beginner_menuitem h4.four:after {
  content: "";
  background: url(images/beginner_underline223x13@2x.png) no-repeat;
  background-size: contain;
  width: 223px;
  height: 13px;
  display: block;
  position: absolute;
  bottom: 0px;
  left: 0;
  right: 0;
  margin: 0 auto;
}
.beginner_menubox .beginner_menuitems .beginner_menuitem h4.three:after {
  content: "";
  background: url(images/beginner_underline164x13@2x.png) no-repeat;
  background-size: contain;
  width: 164px;
  height: 13px;
  display: block;
  position: absolute;
  bottom: 0px;
  left: 0;
  right: 0;
  margin: 0 auto;
}
.beginner_menubox .beginner_menuitems .beginner_menuitem p {
  margin-bottom: 30px;
  font-size: 14px;
  font-size: 1.4rem;
  letter-spacing: 0.24em;
  line-height: 28px;
  line-height: 2.8rem;
  font-weight: bold;
}
.beginner_menubox .beginner_menuitems .beginner_menuitem .more {
  margin: 0 auto;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}
@media only screen and (min-width: 768px) {
  .beginner_menubox .beginner_menuitems {
    -webkit-flex-wrap: nowrap;
    -moz-flex-wrap: nowrap;
    -ms-flex-wrap: none;
    flex-wrap: nowrap;
    margin-bottom: 80px;
  }
}
@media only screen and (min-width: 768px) {
  .beginner_menubox .beginner_menuitems .beginner_menuitem h4 {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 44px;
    line-height: 4.4rem;
  }
}
/* 施術の流れ
- - - - - - - - - - - - - - - - -*/
.beginner_flowbox_background {
  background-color: #eeeded;
  margin-bottom: 50px;
}
.beginner_flowbox {
  margin-bottom: 50px;
  width: 100%;
  padding: 50px 20px;
}
@media only screen and (min-width: 768px) {
  .beginner_flowbox {
    margin: 0 auto;
    padding: 50px 20px;
    width: 940px;
  }
}
.beginner_flowbox .beginner_flowbox_inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-direction: normal;
  -webkit-box-orient: horizontal;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  -webkit-justify-content: flex-start;
  -moz-justify-content: flex-start;
  justify-content: flex-start;
  margin: 30px 0 0 0;
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .beginner_flowbox .beginner_flowbox_inner {
    -webkit-flex-wrap: nowrap;
    -moz-flex-wrap: nowrap;
    -ms-flex-wrap: none;
    flex-wrap: nowrap;
    margin-top: 50px;
  }
}
@media only screen and (min-width: 768px) {
  .beginner_flowbox .beginner_flowbox_inner:nth-of-type(even) {
    padding-left: 150px;
  }
}
.beginner_flowbox .beginner_flowbox_inner .beginner_flowbox_imgbox {
  width: 80%;
  margin: 0 auto 10px auto;
}
@media only screen and (min-width: 768px) {
  .beginner_flowbox .beginner_flowbox_inner .beginner_flowbox_imgbox {
    width: 320px;
    margin: 0;
  }
}
.beginner_flowbox .beginner_flowbox_inner .beginner_flowbox_imgbox img {
  width: 100%;
  height: auto;
  display: block;
}
.beginner_flowbox .beginner_flowbox_inner .beginner_flowbox_textbox {
  width: 80%;
  margin: 0 auto;
}
@media only screen and (min-width: 768px) {
  .beginner_flowbox .beginner_flowbox_inner .beginner_flowbox_textbox {
    width: 500px;
    margin: 0 0 0 20px;
  }
}
.beginner_flowbox .beginner_flowbox_inner .beginner_flowbox_textbox img {
  margin: 0 auto;
  width: 40%;
  height: auto;
  display: block;
}
@media only screen and (min-width: 768px) {
  .beginner_flowbox .beginner_flowbox_inner .beginner_flowbox_textbox img {
    margin: 0;
    width: 98px;
    height: 61px;
  }
}
.beginner_flowbox .beginner_flowbox_inner .beginner_flowbox_textbox p {
  margin: 15px 0 0 0;
  text-align: justify;
}
@media only screen and (min-width: 768px) {
  .beginner_flowbox .beginner_flowbox_inner .beginner_flowbox_textbox p {
    margin: 35px 0 0 0;
  }
}
@media only screen and (min-width: 768px) {
  div.contents div.beginner_flowbox div.beginner_flowbox_inner:nth-of-type(1) > div.beginner_flowbox_textbox {
    position: relative;
  }
  div.contents div.beginner_flowbox div.beginner_flowbox_inner:nth-of-type(1) > div.beginner_flowbox_textbox:after {
    content: "";
    background: url(images/beginner_beginnerimg_osusume@2x.png) no-repeat;
    background-size: contain;
    width: 204px;
    height: 81px;
    display: block;
    position: absolute;
    top: 0px;
    right: 15px;
  }
}
/* 予約
- - - - - - - - - - - - - - - - -*/
.beginner__reserve {
  margin: 0 auto;
  width: 100%;
  max-width: 980px;
  padding-right: 20px;
  padding-left: 20px;
}
@media only screen and (min-width: 980px) {
  .beginner__reserve {
    padding-right: 0;
    padding-left: 0;
  }
}
.beginner__reserve .reserve__lead {
  margin-bottom: 80px;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 28px;
  line-height: 2.8rem;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .beginner__reserve .reserve__lead {
    margin-bottom: 100px;
  }
}
@media only screen and (min-width: 768px) {
  .beginner__reserve .reserve__row {
    margin-right: -20px;
    margin-left: -20px;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
  }
}
.beginner__reserve .reserve__col {
  margin-bottom: 100px;
  width: 100%;
}
.beginner__reserve .reserve__col:last-of-type {
  margin-bottom: 0;
}
@media only screen and (min-width: 768px) {
  .beginner__reserve .reserve__col {
    width: 50%;
    margin: 0;
    padding: 20px 20px 100px;
  }
  .beginner__reserve .reserve__col:nth-of-type(n+3) {
    padding-bottom: 0;
  }
}
.beginner__reserve .reserve__card {
  padding: 40px 20px 20px;
  width: 100%;
  height: 100%;
  border: 1px dotted #3972b7;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .beginner__reserve .reserve__card {
    padding: 40px 30px 30px;
  }
}
@media only screen and (min-width: 768px) {
  .beginner__reserve .reserve__card--flex {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}
.beginner__reserve .reserve__heading {
  margin-top: -50px;
  margin-bottom: 20px;
  font-size: 20px;
  font-size: 2rem;
  line-height: 20px;
  line-height: 2rem;
  color: #3572b7;
  text-align: center;
  font-weight: bold;
  position: relative;
}
.beginner__reserve .reserve__heading::before {
  content: '';
  width: 30px;
  height: 30px;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  display: block;
  position: absolute;
  top: -40px;
  left: 50%;
  transform: translateX(-50%);
}
.beginner__reserve .reserve__heading span {
  padding: 0 20px;
  background-color: #fff;
}
.beginner__reserve .reserve__heading--tel::before {
  background-image: url(images/beginner_reserve_icon_tel.png);
}
.beginner__reserve .reserve__heading--pc::before {
  background-image: url(images/beginner_reserve_icon_pc.png);
}
.beginner__reserve .reserve__heading--line::before {
  background-image: url(images/beginner_reserve_icon_line.png);
}
.beginner__reserve .reserve__heading--mail::before {
  background-image: url(images/beginner_reserve_icon_mail.png);
}
@media only screen and (min-width: 768px) {
  .beginner__reserve .reserve__body {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}
.beginner__reserve .reserve__text {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 28px;
  line-height: 2.8rem;
  text-align: justify;
}
.beginner__reserve .reserve__text--narrow {
  margin-bottom: 20px;
}
@media only screen and (min-width: 768px) {
  .beginner__reserve .reserve__text--narrow {
    margin-bottom: 0;
    width: 72%;
  }
}
.beginner__reserve .reserve__img {
  margin: 0 auto;
  width: 90px;
  height: 90px;
  display: block;
}
@media only screen and (min-width: 768px) {
  .beginner__reserve .reserve__img {
    margin: 0;
  }
}
.beginner__reserve .reserve__img img {
  width: 100%;
  height: auto;
  display: block;
}
.beginner__reserve .reserve__list {
  margin: 0;
  padding: 0 0 0 2.5rem;
}
.beginner__reserve .reserve__list li {
  color: #3572b7;
  font-weight: bold;
}
.beginner__reserve .reserve__button {
  width: 185px;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 36px;
  line-height: 3.6rem;
  color: #3572b7;
  position: absolute;
  font-style: normal;
  font-weight: normal;
  /*bottom: -18px;*/
  bottom: 0;
  left: 50%;
  transform: translateX(-50%) translateY(50%);
  margin: 0 auto;
}
/* MENU メニュー
-------------------------------------------------------------*/
.ttl_lv1._menu {
  background: url(images/menu_img.png) no-repeat center center;
}
.menubox {
  width: 100%;
  margin-bottom: 30px;
  padding: 0 20px;
}
@media only screen and (min-width: 768px) {
  .menubox {
    margin: 0 auto 50px auto;
    padding: 0;
    width: 940px;
  }
}
@media only screen and (min-width: 768px) {
  .menubox:nth-of-type(even) div.menuitems div.imgbox {
    order: 2;
  }
}
@media only screen and (min-width: 768px) {
  .menubox:nth-of-type(even) div.menuitems div.textbox {
    order: 1;
  }
}
.menubox .menuitems {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-direction: normal;
  -webkit-box-orient: horizontal;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  justify-content: space-between;
  border-bottom: 1px solid #CCCCCC;
  padding-bottom: 30px;
}
@media only screen and (min-width: 768px) {
  .menubox .menuitems {
    -webkit-flex-wrap: nowrap;
    -moz-flex-wrap: nowrap;
    -ms-flex-wrap: none;
    flex-wrap: nowrap;
  }
}
.menubox .menuitems .imgbox {
  width: 100%;
  margin: 0 auto 15px;
}
@media only screen and (min-width: 768px) {
  .menubox .menuitems .imgbox {
    width: 420px;
    height: auto;
  }
}
.menubox .menuitems .imgbox img {
  width: 100%;
  height: auto;
  display: block;
}
.menubox .menuitems .textbox {
  position: relative;
  width: 100%;
  margin: 0 auto 15px;
}
.menubox .menuitems .textbox .more {
  width: 160px;
}
@media only screen and (min-width: 768px) {
  .menubox .menuitems .textbox {
    width: 470px;
    padding-bottom: 50px;
  }
}
.menubox .menuitems .textbox .circle {
  color: #3972B7;
  border: 1px dashed #3972B7;
  padding: 0;
  margin: 0 10px 10px;
  width: 75px;
  height: 75px;
  line-height: 75px;
  text-align: center;
  display: inline-block;
  border-radius: 50%;
  display: block;
}
@media only screen and (min-width: 768px) {
  .menubox .menuitems .textbox .circle {
    margin: 0 10px 0;
  }
}
.menubox .menuitems .textbox .effectbox {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-direction: normal;
  -webkit-box-orient: horizontal;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  justify-content: center;
  margin: 4% 0;
}
@media only screen and (min-width: 768px) {
  .menubox .menuitems .textbox .effectbox {
    -webkit-flex-wrap: nowrap;
    -moz-flex-wrap: nowrap;
    -ms-flex-wrap: none;
    flex-wrap: nowrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    justify-content: center;
    margin: 4% -10px;
  }
}
.menubox .menuitems .textbox h3 {
  margin-bottom: 80px;
  font-size: 28px;
  font-size: 2.8rem;
  line-height: 30px;
  line-height: 3rem;
  text-align: center;
  font-weight: 500;
  color: #666;
  letter-spacing: 0.24rem;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .menubox .menuitems .textbox h3 {
    margin-bottom: 45px;
    text-align: left;
  }
}
.menubox .menuitems .textbox h3:after {
  margin: 0 auto;
  width: 204px;
  height: 47px;
  content: '';
  background: url(images/menu_menuimg6.png);
  background-size: contain;
  display: block;
  position: absolute;
  bottom: -60px;
  left: 0;
  right: 0;
}
@media only screen and (min-width: 768px) {
  .menubox .menuitems .textbox h3:after {
    top: 10px;
    bottom: auto;
    left: auto;
  }
}
.menubox .menuitems .textbox p {
  margin-bottom: 20px;
}
@media only screen and (min-width: 768px) {
  .menubox .menuitems .textbox .more {
    position: absolute;
    bottom: 0;
    right: 17px;
    margin: 0 0 25px;
  }
}
.herbpeeling {
  font-size: 12px;
}
.all_menu {
  display: none;
}
.all_menu_sp {
  width: 100%;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .all_menu {
    display: block;
    width: 166px;
    position: fixed;
    top: 320px;
    right: 0;
  }
  .all_menu a {
    display: inline-block;
  }
  .all_menu:hover {
    background-color: transparent;
    background: url(images/all_menu_on.png) no-repeat;
  }
  .all_menu:hover img {
    visibility: hidden;
  }
  .all_menu_sp {
    display: none;
  }
}
/* 初めての方向け
- - - - - - - - - - - - - - - - -*/
.recommendedbox {
  padding: 180px 20px 0;
  width: 100%;
  margin: 30px auto;
  background-position: center top;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .recommendedbox {
    background: url(images/menu_menuimg_hazimete.png) no-repeat;
    background-position: right top;
    margin: 0 auto;
    padding: 0;
    position: relative;
    width: 850px;
    padding-bottom: 46px;
  }
}
@media only screen and (min-width: 768px) {
  .recommendedbox p {
    position: relative;
    width: 670px;
    padding: 20px 0 40px 0;
  }
  .recommendedbox p:after {
    content: url(images/menu_menuimg_fukidasitate.png);
    position: absolute;
    top: 0;
    right: 0;
    display: block;
    width: 22px;
    height: 106px;
  }
}
.price_campaign2 {
  font-size: 12px;
}
/* メニューオプション
- - - - - - - - - - - - - - - - -*/
.menu_option {
  margin-bottom: 50px;
  padding: 50px 20px 30px;
  width: 100%;
  background-color: #eeeded;
}
.menu_option .optionitems {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-direction: normal;
  -webkit-box-orient: horizontal;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  justify-content: center;
}
@media only screen and (min-width: 768px) {
  .menu_option .optionitems {
    margin: 0 auto;
    padding: 0;
    width: 1000px;
  }
}
.menu_option .optionitems .optionitem {
  width: 100%;
  margin-bottom: 20px;
}
@media only screen and (min-width: 768px) {
  .menu_option .optionitems .optionitem {
    width: 230px;
    height: auto;
    margin: 0 20px 20px;
  }
}
.menu_option .optionitems .optionitem .optionimg {
  width: 100%;
  margin: 0 auto;
}
@media only screen and (min-width: 768px) {
  .menu_option .optionitems .optionitem .optionimg {
    width: 230px;
    height: 180px;
  }
}
.menu_option .optionitems .optionitem .optionimg img {
  width: 100%;
  height: auto;
  display: block;
}
.menu_option .optionitems .optionitem .optiontext {
  width: 100%;
}
.menu_option .optionitems .optionitem h3 {
  font-size: 20px;
  font-size: 2rem;
  line-height: 54px;
  line-height: 5.4rem;
  font-weight: bold;
  color: #666;
  letter-spacing: 0.24rem;
  text-align: center;
}
.menu_option .optionitems .optionitem .menulineup {
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-direction: normal;
  -webkit-box-orient: horizontal;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  justify-content: space-between;
  border-bottom: 1px dotted #BBBBBB;
  padding: 3% 0 2% 0;
  color: #3972B7;
}
/* 治療
- - - - - - - - - - - - - - - - -*/
.menu_chiryo {
  margin: 0 auto;
  border: 1px dotted #3972B7;
  padding: 20px;
  width: 91%;
  position: relative;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .menu_chiryo {
    padding: 50px 50px 20px 50px;
    width: 940px;
  }
}
.menu_chiryo .effectbox {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-direction: normal;
  -webkit-box-orient: horizontal;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  justify-content: center;
  margin: 4% auto;
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .menu_chiryo .effectbox {
    -webkit-flex-wrap: nowrap;
    -moz-flex-wrap: nowrap;
    -ms-flex-wrap: none;
    flex-wrap: nowrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    -moz-justify-content: space-between;
    justify-content: space-between;
    width: 60%;
  }
}
.menu_chiryo .effectbox .circle, .menu_chiryo .effectbox .circle2, .menu_chiryo .effectbox .circle3, .menu_chiryo .effectbox .circle4, .menu_chiryo .effectbox .circle5 {
  margin: 0 10px 36px 10px;
  color: #3972B7;
  border: 1px dashed #3972B7;
  padding: 0;
  width: 75px;
  height: 75px;
  display: inline-block;
  border-radius: 50%;
  display: block;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .menu_chiryo .effectbox .circle, .menu_chiryo .effectbox .circle2, .menu_chiryo .effectbox .circle3, .menu_chiryo .effectbox .circle4, .menu_chiryo .effectbox .circle5 {
    margin: 0 0 36px 0;
  }
}
.menu_chiryo .effectbox .circle em, .menu_chiryo .effectbox .circle2 em, .menu_chiryo .effectbox .circle3 em, .menu_chiryo .effectbox .circle4 em, .menu_chiryo .effectbox .circle5 em {
  font-style: normal;
  padding-top: 80px;
  display: block;
}
.menu_chiryo .effectbox .circle {
  background: url(images/menu_menuimg_humanicon.png) no-repeat 0 2px;
}
.menu_chiryo .effectbox .circle2 {
  background: url(images/menu_menuimg_humanicon2.png) no-repeat 0 2px;
}
.menu_chiryo .effectbox .circle3 {
  background: url(images/menu_menuimg_humanicon3.png) no-repeat 0 2px;
}
.menu_chiryo .effectbox .circle4 {
  background: url(images/menu_menuimg_humanicon4.png) no-repeat 0 2px;
}
.menu_chiryo .effectbox .circle5 {
  background: url(images/menu_menuimg_humanicon5.png) no-repeat 0 2px;
}
.menu_chiryo h3 {
  display: block;
  position: absolute;
  top: -11px;
  left: 0;
  right: 0;
}
@media only screen and (min-width: 768px) {
  .menu_chiryo h3 {
    font-size: 20px;
    font-size: 2.0rem;
  }
}
.menu_chiryo h3 img {
  margin: 0 auto;
  width: 200px;
  height: 22px;
  display: block;
}
.menu_chiryo h4 {
  margin-bottom: 35px;
  font-size: 20px;
  font-size: 2rem;
  line-height: 38px;
  line-height: 3.8rem;
  font-weight: bold;
  color: #666;
  letter-spacing: 0.24rem;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .menu_chiryo h4 {
    font-size: 20px;
    font-size: 2rem;
    line-height: 38px;
    line-height: 3.8rem;
  }
}
.menu_chiryo a.chiryouin {
  margin: 20px auto 10px;
  width: 100%;
  padding: 20px;
  background-color: #3972B7;
  background-image: url(images/arrow_r_10x18_w.png);
  background-repeat: no-repeat;
  background-position: 97% center;
  display: block;
  color: #FFFFFF;
}
@media only screen and (min-width: 768px) {
  .menu_chiryo a.chiryouin {
    width: 600px;
    background-position: 490px center;
    font-size: 20px;
    font-size: 2rem;
    line-height: 44px;
    line-height: 4.4rem;
  }
}
.menu_chiryo a.chiryouin span {
  font-style: normal;
  display: block;
}
/*  メニュー下層ページ　*/
.troublebox {
  padding: 20px 0 0 0;
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .troublebox {
    margin: 0 auto 80px auto;
    width: 940px;
  }
}
.troublebox h3 img {
  margin: 0 auto;
  width: auto;
  height: auto;
  display: block;
}
.troublebox .troubletypes {
  padding: 50px 20px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-direction: normal;
  -webkit-box-orient: horizontal;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  justify-content: space-between;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .troublebox .troubletypes {
    padding: 50px 0;
    -webkit-flex-wrap: nowrap;
    -moz-flex-wrap: nowrap;
    -ms-flex-wrap: none;
    flex-wrap: nowrap;
    position: relative;
    margin-bottom: 80px;
  }
  .troublebox .troubletypes:after {
    content: url(images/menu_menuimg_fukidasi.png);
    width: 904px;
    height: 72px;
    display: block;
    position: absolute;
    left: 20px;
    bottom: -20px;
  }
}
.troublebox .troubletypes .troubletype {
  margin: 0 auto 20px;
  width: 46%;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .troublebox .troubletypes .troubletype {
    width: 200px;
  }
}
.troublebox .troubletypes .troubletype img {
  width: 100%;
  height: auto;
  display: block;
}
.troublebox .effect {
  margin-bottom: 50px;
  padding: 0 20px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-direction: normal;
  -webkit-box-orient: horizontal;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  justify-content: space-between;
}
@media only screen and (min-width: 768px) {
  .troublebox .effect {
    padding: 0;
    -webkit-flex-wrap: nowrap;
    -moz-flex-wrap: nowrap;
    -ms-flex-wrap: none;
    flex-wrap: nowrap;
  }
}
.troublebox .effect .textbox {
  margin-bottom: 30px;
  padding: 30px 0 0 0;
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .troublebox .effect .textbox {
    margin-bottom: 30px;
    padding: 0;
    width: 420px;
  }
}
.troublebox .effect .textbox h3 {
  margin: 0 0 30px 0;
  font-size: 22px;
  font-size: 2.2rem;
  line-height: 30px;
  line-height: 3rem;
  text-align: center;
  font-weight: bold;
  letter-spacing: 0.24rem;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .troublebox .effect .textbox h3 {
    font-size: 26px;
    font-size: 2.6rem;
    line-height: 30px;
    line-height: 4rem;
    text-align: left;
  }
}
.troublebox .effect .textbox h3 span {
  margin-bottom: 20px;
  display: block;
}
.troublebox .effect .textbox h3 span img {
  margin: 0 auto;
  display: block;
}
@media only screen and (min-width: 768px) {
  .troublebox .effect .textbox h3 span img {
    margin: 0;
  }
}
.troublebox .effect .textbox p {
  text-align: justify;
}
.troublebox .effect .imgbox {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .troublebox .effect .imgbox {
    width: 480px;
    height: 320px;
  }
}
.troublebox .effect .imgbox img {
  width: 100%;
  height: auto;
  display: block;
}
/* 5つのいいこと
- - - - - - - - - - - - - - - - -*/
.fivepointbox {
  margin: 0 auto 20px;
  padding: 60px 20px 20px;
  width: 88.5%;
  border: 1px dotted #3972B7;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-direction: normal;
  -webkit-box-orient: horizontal;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  justify-content: space-between;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .fivepointbox {
    width: 940px;
    margin: 0 auto 90px;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    justify-content: center;
  }
}
.fivepointbox:before {
  content: url(images/menu_menuimg_fourpoint.png);
  width: 220px;
  height: 70px;
  display: block;
  position: absolute;
  top: -47px;
  left: 0;
  right: 0;
  margin: 0 auto;
}
.fivepointbox .pointitem {
  width: 265px;
  margin: 0 15px 40px;
}
.fivepointbox .pointitem2 {
  width: 300px;
  margin: 0 15px 40px;
}
.fivepointbox .pointitem h4 {
  color: #3972B7;
  font-size: 15px;
  font-size: 1.5rem;
  line-height: 40px;
  line-height: 4rem;
  font-weight: 500;
  position: relative;
  padding-top: 20px;
  text-align: center;
  margin: 20px 0;
}
.fivepointbox .pointitem2 h4 {
  color: #3972B7;
  font-size: 15px;
  font-size: 1.5rem;
  line-height: 40px;
  line-height: 2.5rem;
  font-weight: 500;
  position: relative;
  padding-top: 20px;
  text-align: center;
  margin: 20px 0;
}
@media only screen and (min-width: 768px) {
  .fivepointbox .pointitem h4 {
    color: #3972B7;
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 40px;
    line-height: 4rem;
    font-weight: 700;
  }
}
@media only screen and (min-width: 768px) {
  .fivepointbox .pointitem2 h4 {
    color: #3972B7;
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 40px;
    line-height: 2.5rem;
    font-weight: 700;
  }
}
.fivepointbox .pointitem h4:before {
  width: 32px;
  height: 32px;
  display: block;
  position: absolute;
  top: -10px;
  left: 0;
  right: 0;
  margin: 0 auto;
}
.fivepointbox .pointitem h4.one:before {
  content: url(images/menu_menuimg_point1.png);
}
.fivepointbox .pointitem h4.two:before {
  content: url(images/menu_menuimg_point2.png);
}
.fivepointbox .pointitem h4.three:before {
  content: url(images/menu_menuimg_point3.png);
}
.fivepointbox .pointitem h4.four:before {
  content: url(images/menu_menuimg_point4.png);
}
.fivepointbox .pointitem h4.five:before {
  content: url(images/menu_menuimg_point5.png);
}
.fivepointbox .pointitem p {
  width: 100%;
  margin: 0 auto;
  text-align: justify;
}
.fivepointbox .pointitem2 h4:before {
  width: 32px;
  height: 32px;
  display: block;
  position: absolute;
  top: -20px;
  left: 0;
  right: 0;
  margin: 0 auto;
}
.fivepointbox .pointitem2 h4.one:before {
  content: url(images/menu_menuimg_point1.png);
}
.fivepointbox .pointitem2 h4.two:before {
  content: url(images/menu_menuimg_point2.png);
}
.fivepointbox .pointitem2 h4.three:before {
  content: url(images/menu_menuimg_point3.png);
}
.fivepointbox .pointitem2 h4.four:before {
  content: url(images/menu_menuimg_point4.png);
}
.fivepointbox .pointitem2 h4.five:before {
  content: url(images/menu_menuimg_point5.png);
}
.fivepointbox .pointitem2 p {
  width: 100%;
  margin: 0 auto;
  text-align: justify;
}
/* Before After
- - - - - - - - - - - - - - - - -*/
.beforeafterbox {
  margin-bottom: 20px;
  padding: 0 20px;
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-direction: normal;
  -webkit-box-orient: horizontal;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  justify-content: space-between;
}
@media only screen and (min-width: 768px) {
  .beforeafterbox {
    margin: 0 auto 170px;
    padding: 0;
    width: 980px;
  }
}
.beforeafterbox .left, .beforeafterbox .right {
  margin: 0 auto 80px;
  width: 80%;
}
.beforeafterbox .left img, .beforeafterbox .zright img {
  width: 100%;
  height: auto;
  display: block;
}
@media only screen and (min-width: 768px) {
  .beforeafterbox .left, .beforeafterbox .right {
    margin: 0;
    width: 420px;
  }
}
.beforeafterbox .left {
  position: relative;
}
.beforeafterbox .left:before {
  content: url(images/menu_menuimg_beforecap.png);
  width: 116px;
  height: 20px;
  display: block;
  position: absolute;
  margin: 0 auto;
  left: 0;
  right: 0;
  bottom: -10px;
}
.beforeafterbox .left:after {
  content: url(images/arrow_r_33x60_b.png);
  margin: 0 auto;
  width: 33px;
  height: 60px;
  display: block;
  position: absolute;
  bottom: -75px;
  left: 0;
  right: 0;
  transform: rotate(90deg);
  color: #3972B7;
}
@media only screen and (min-width: 768px) {
  .beforeafterbox .left:after {
    margin: auto 0;
    top: 0;
    right: -90px;
    bottom: 0;
    left: auto;
    transform: rotate(0deg);
  }
}
.beforeafterbox .right {
  position: relative;
}
.beforeafterbox .right:before {
  content: url(images/menu_menuimg_aftercap.png);
  width: 116px;
  height: 20px;
  display: block;
  position: absolute;
  margin: 0 auto;
  left: 0;
  right: 0;
  bottom: -10px;
}
/* 料金表
- - - - - - - - - - - - - - - - -*/
.pricebox {
  margin-bottom: 50px;
  width: 100%;
  background-color: #eeeded;
  padding: 40px 20px 60px 20px;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .pricebox {
    width: 100%;
    margin: 0 auto 100px;
    padding: 40px 0 60px 0;
    position: relative;
  }
}
.pricebox .menulineup {
  margin: 10px auto;
  padding: 2% 0 1% 0;
  width: 100%;
  border-bottom: 1px dotted #3972B7;
  color: #3972B7;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-direction: normal;
  -webkit-box-orient: horizontal;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  justify-content: space-between;
}
@media only screen and (min-width: 768px) {
  .pricebox .menulineup {
    width: 900px;
  }
}
.pricebox .menusecond {
  text-align: center;
  font-size: 12px;
  padding-top: 40px;
}
.pricebox .menusecond p {
  text-align: center;
}
.pricebox .menusecond img {
  width: 100%;
  height: auto;
}
.pricebox .pricelink {
  width: 120px;
  height: 124px;
  background: url(images/menu_menuimg_fukidasitwo_bg.png) no-repeat top left;
  background-size: contain;
  display: block;
  position: absolute;
  top: -60px;
  right: 20px;
}
.pricebox .pricelink span {
  display: block;
}
.pricebox .pricelink span img {
  width: 100%;
  height: auto;
  display: block;
}
@media only screen and (min-width: 768px) {
  .pricebox .menusecond img {
    width: 700px;
    height: 200px;
  }
  .pricebox .pricelink {
    width: 166px;
    height: 171px;
    top: -90px;
    right: 120px;
  }
}
/*マッサージオプション---------------------------------*/
.pricebox .menusecond2 {
  text-align: center;
  font-size: 12px;
  padding-top: 40px;
}
.pricebox .menusecond2 p {
  text-align: center;
}
.pricebox .menusecond2 img {
  width: 100%;
  height: auto;
}
.pricebox .pricelink2 span {
  display: block;
}
.pricebox .pricelink2 span img {
  width: 50%;
  height: auto;
  display: block;
}
.pc {
  display: none;
}
.sp {
  display: block;
  margin: 0 auto;
  width: 80%;
}
.menusecond p {
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .pricebox .menusecond2 img {
    width: 980px;
    height: auto;
  }
  .pc {
    width: 50%;
    margin: 0 auto;
    display: block;
  }
  .sp {
    display: none;
  }
  /*----------------------------------*/
  .pricebox .pricelink span img {
    width: 167px;
  }
}
.price_campaign {
  font-size: 16px;
  font-weight: bold;
}
.price_hosoku {
  margin: 0 auto;
  font-size: 12px;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .price_hosoku {
    width: 900px;
  }
}
/* ハーブピーリング追加
- - - - - - - - - - - - - - - - -*/
.hr_description {
  width: 100%;
  margin: 40px auto;
  text-align: center;
  margin-bottom: 80px;
}
.hr_box {
  width: 100%;
  margin-bottom: 20px;
}
.hr_box img {
  width: 75%;
}
.hr_box p {
  width: 75%;
  margin: 0 auto;
  text-align: left;
}
.herbrepro_attention {
  width: 80%;
  text-align: center;
  margin: 0 auto;
  margin-bottom: 80px;
}
@media only screen and (min-width: 768px) {
  .hr_description {
    width: 960px;
    margin: 0 auto;
    overflow: hidden;
    margin-bottom: 80px;
  }
  .hr_box {
    width: 280px;
    margin: 0 20px;
    float: left;
  }
  .hr_box img {
    width: 280px;
  }
  .hr_box p {
    width: 280px;
  }
}
.herbrepro_youtube {
  width: 80%;
  text-align: center;
  margin: 0 auto;
  margin-bottom: 40px;
}
.herbrepro_youtube img {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .herbrepro_youtube img {
    width: 940px;
    margin-bottom: 80px;
  }
}
/* ブライダル美容鍼
- - - - - - - - - - - - - - - - -*/
.menubridalset {
  margin: 0 auto 70px;
  padding: 0 20px;
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-direction: normal;
  -webkit-box-orient: horizontal;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  justify-content: space-between;
}
@media only screen and (min-width: 768px) {
  .menubridalset {
    width: 940px;
  }
}
.menubridalset .bridal_sp, .menubridalset .bridal_pre {
  margin: 0 auto;
  width: 46%;
}
.menubridalset .bridal_sp img, .menubridalset .bridal_pre img {
  width: 100%;
  height: auto;
  display: block;
}
.menubridalset .bridal_sp {
  margin-bottom: 30px;
}
/* メニュー流れ追加
-------------------------------------------------------------*/
.menu_flow {
  padding: 40px 20px 30px;
}
@media only screen and (min-width: 768px) {
  .menu_flow {
    padding: 50px 0 70px;
  }
}
.flowitems {
  margin: 0 auto;
}
@media only screen and (min-width: 768px) {
  .flowitems {
    width: 1010px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-direction: normal;
    -webkit-box-orient: horizontal;
    -webkit-flex-direction: row;
    -moz-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    -webkit-justify-content: flex-start;
    -moz-justify-content: flex-start;
    justify-content: flex-start;
  }
}
.flowitems h3 {
  margin: 10px 0;
  text-align: center;
  font-weight: bold;
}
.flownum {
  margin: 0 auto;
  width: 46px;
  height: auto;
  display: block;
  position: relative;
  z-index: 1;
}
.flowitem {
  margin: 0 15px 40px;
}
@media only screen and (min-width: 768px) {
  .flowitem {
    margin-bottom: 0;
    width: 220px;
  }
  .flowitem:nth-of-type(even) {
    margin-top: 20px;
  }
}
.flowitem .flowimg {
  margin: -20px 0 15px;
  width: 100%;
  border-radius: 10px;
  display: block;
}
.flowitem p {
  margin-bottom: 20px;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 28px;
  line-height: 2.8rem;
}
/* 下層 - ハーブピーリング
- - - - - - - - - - - - - - - - -*/
.herb_ao {
  margin: 60px auto;
}
@media only screen and (min-width: 768px) {
  .herb_ao {
    margin-bottom: 80px;
  }
}
.herb_ao h2 {
  margin-bottom: 20px;
}
.herb_ao h2 img {
  width: 100%;
  height: auto;
  display: block;
}
@media only screen and (min-width: 768px) {
  .herb_ao h2 img {
    width: 340px;
  }
}
.herb_ao img {
  margin: 0 auto;
  display: block;
}
.herb_ao .ao_logo {
  width: 200px;
  margin-bottom: 30px;
}
@media only screen and (min-width: 768px) {
  .herb_ao .btn_hexa {
    width: 390px;
  }
}
.herb_ao p {
  padding: 30px 0;
  text-align: center;
}
/* VOICE お客様の声
-------------------------------------------------------------*/
.ttl_lv1._voice {
  background: url(images/voice_img.png) no-repeat center center;
}
.contents._voice .voiceitems {
  margin: 0 auto;
  padding: 0 20px;
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-direction: normal;
  -webkit-box-orient: horizontal;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  justify-content: space-between;
}
@media only screen and (min-width: 768px) {
  .contents._voice .voiceitems {
    padding: 0;
    width: 940px;
  }
}
.contents._voice .voiceitems .voiceitem {
  margin-bottom: 20px;
  padding: 10px;
  width: 46%;
  border: 1px solid #c1c1c1;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .contents._voice .voiceitems .voiceitem {
    margin-bottom: 65px;
    padding: 20px 20px 35px;
    width: 300px;
  }
}
.contents._voice .voiceitems .voiceitem .voiceimg {
  width: 100%;
  height: auto;
  margin-bottom: 20px;
  display: block;
}
@media only screen and (min-width: 768px) {
  .contents._voice .voiceitems .voiceitem .voiceimg {
    width: 260px;
    height: 260px;
  }
}
.contents._voice .voiceitems .voiceitem .voiceimg img {
  width: 100%;
  height: auto;
  display: block;
}
.contents._voice .voiceitems .voiceitem h3 {
  padding-bottom: 10px;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 24px;
  line-height: 2.4rem;
  text-align: center;
  font-weight: bold;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .contents._voice .voiceitems .voiceitem h3 {
    margin-bottom: 15px;
  }
}
.contents._voice .voiceitems .voiceitem h3:after {
  display: none;
}
@media only screen and (min-width: 768px) {
  .contents._voice .voiceitems .voiceitem h3:after {
    content: '';
    margin: 0 auto;
    width: 260px;
    height: 6px;
    background: url(images/voice_line.png) no-repeat;
    background-size: contain;
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
  }
}
.contents._voice .voiceitems .voiceitem h3 a:hover {
  color: #666;
}
.contents._voice .voiceitems .voiceitem p {
  display: none;
}
@media only screen and (min-width: 768px) {
  .contents._voice .voiceitems .voiceitem p {
    height: 5.6rem;
    text-align: justify;
    overflow: hidden;
    display: block;
    position: relative;
  }
  .contents._voice .voiceitems .voiceitem p:before, .contents._voice .voiceitems .voiceitem p:after {
    background: #fff;
    position: absolute;
    width: 1.4rem;
    height: 1.4rem;
  }
  .contents._voice .voiceitems .voiceitem p:before {
    content: '…';
    bottom: 0.7rem;
    right: 0;
  }
  .contents._voice .voiceitems .voiceitem p:after {
    content: '';
  }
}
.contents._voice .voiceitems .voiceitem .more {
  display: none;
}
@media only screen and (min-width: 768px) {
  .contents._voice .voiceitems .voiceitem .more {
    margin: 0 auto;
    position: absolute;
    bottom: -18px;
    left: 0;
    right: 0;
  }
}
/* VOICE お客様の声 single
- - - - - - - - - - - - - - - - -*/
.contents._voice_single .voicesingleitem {
  margin: 0 auto 50px;
  padding: 0 20px;
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-direction: normal;
  -webkit-box-orient: horizontal;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  justify-content: space-between;
}
@media only screen and (min-width: 768px) {
  .contents._voice_single .voicesingleitem {
    padding: 0;
    width: 980px;
  }
}
.contents._voice_single .voicesingleitem .voicesingleimg {
  margin: 0 auto 50px;
}
.contents._voice_single .voicesingleitem .voicesingleimg img {
  width: 100%;
  height: auto;
  display: block;
}
@media only screen and (min-width: 768px) {
  .contents._voice_single .voicesingleitem .voicesingleimg {
    margin: 0;
    width: 400px;
    height: 510px;
  }
}
.contents._voice_single .voicesingleitem .voicesinglecontent {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .contents._voice_single .voicesingleitem .voicesinglecontent {
    width: 510px;
  }
}
.contents._voice_single .voicesingleitem .voicesinglecontent h3 {
  margin-bottom: 30px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-direction: normal;
  -webkit-box-orient: horizontal;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  -webkit-justify-content: flex-start;
  -moz-justify-content: flex-start;
  justify-content: flex-start;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 26px;
  line-height: 2.6rem;
  color: #3972b7;
  font-weight: bold;
}
@media only screen and (min-width: 768px) {
  .contents._voice_single .voicesingleitem .voicesinglecontent h3 {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 28px;
    line-height: 2.8rem;
  }
}
.contents._voice_single .voicesingleitem .voicesinglecontent h3 .num {
  margin-right: 30px;
  padding: 0 0 0 25px;
  font-size: 30px;
  font-size: 3rem;
  line-height: 30px;
  line-height: 3rem;
  color: #666;
  font-weight: 400;
  display: block;
  position: relative;
}
.contents._voice_single .voicesingleitem .voicesinglecontent h3 .num:before {
  content: '';
  width: 22px;
  height: 34px;
  background: url(images/voice_single_slash.png) no-repeat;
  background-size: contain;
  display: block;
  position: absolute;
  bottom: 3px;
  left: 0;
}
.contents._voice_single .voicesingleitem .voicesinglecontent .text {
  margin-bottom: 30px;
  padding-bottom: 30px;
  border-bottom: 1px dashed #c1c1c1;
  text-align: justify;
}
.contents._voice_single .voicesingleitem .operator {
  margin: 0 auto;
  padding: 25px;
  width: 100%;
  border: 1px solid #c1c1c1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-direction: normal;
  -webkit-box-orient: horizontal;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  justify-content: space-between;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .contents._voice_single .voicesingleitem .operator {
    width: 490px;
  }
}
.contents._voice_single .voicesingleitem .operator:before, .contents._voice_single .voicesingleitem .operator:after {
  content: '';
  width: 51px;
  height: 51px;
  display: block;
  position: absolute;
}
.contents._voice_single .voicesingleitem .operator:before {
  background: url(images/blog_frame_bf.png);
  background-size: contain;
  top: -11px;
  left: -11px;
}
.contents._voice_single .voicesingleitem .operator:after {
  background: url(images/blog_frame_af.png);
  background-size: contain;
  bottom: -11px;
  right: -11px;
}
.contents._voice_single .voicesingleitem .operator img {
  margin: 0 auto 30px;
  width: 150px;
  height: 150px;
  border-radius: 50%;
}
@media only screen and (min-width: 768px) {
  .contents._voice_single .voicesingleitem .operator img {
    margin: 0;
    width: 100px;
    height: 100px;
  }
}
.contents._voice_single .voicesingleitem .operator .content {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .contents._voice_single .voicesingleitem .operator .content {
    width: 300px;
  }
}
.contents._voice_single .voicesingleitem .operator .content h2 {
  margin-bottom: 15px;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 16px;
  line-height: 1.6rem;
  text-align: center;
  font-weight: bold;
}
@media only screen and (min-width: 768px) {
  .contents._voice_single .voicesingleitem .operator .content h2 {
    text-align: left;
  }
}
/* Q & A よくある質問
-------------------------------------------------------------*/
.ttl_lv1._qa {
  background: url(images/qa_img.png) no-repeat center center;
}
.contents._qa .qaitems {
  padding: 0 20px;
  margin: 0 auto;
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .contents._qa .qaitems {
    padding: 0;
    width: 940px;
  }
}
.contents._qa .qaitems h3 {
  margin: 0 auto;
  width: 170px;
  height: 50px;
  border: 2px solid #c1c1c1;
  border-bottom: none;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 50px;
  line-height: 5rem;
  font-weight: bold;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .contents._qa .qaitems h3 {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 50px;
    line-height: 5rem;
  }
}
.contents._qa .qaitems ul.qaitem {
  margin: 0 0 50px 0;
  padding: 10px 10px 30px;
  width: 100%;
  border: 5px solid #c1c1c1;
}
@media only screen and (min-width: 768px) {
  .contents._qa .qaitems ul.qaitem {
    margin: 0 0 100px 0;
    padding: 50px;
  }
}
.contents._qa .qaitems ul.qaitem li {
  margin: 0;
  padding: 0;
}
.contents._qa .qaitems ul.qaitem h4 {
  padding: 15px 0;
  border-bottom: 1px solid #c1c1c1;
  background: url(images/arrow_12x9_b_d.png) no-repeat center right;
  background-size: 22px 9px;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 26px;
  line-height: 2.6rem;
  font-weight: bold;
  letter-spacing: 0rem;
  color: #3972b7;
}
@media only screen and (min-width: 768px) {
  .contents._qa .qaitems ul.qaitem h4 {
    padding: 20px 0;
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 28px;
    line-height: 2.8rem;
  }
}
.contents._qa .qaitems ul.qaitem h4 span {
  padding-right: 10px;
  font-size: 25px;
  font-size: 2.5rem;
  font-weight: 400;
  position: relative;
  top: 4px;
}
@media only screen and (min-width: 768px) {
  .contents._qa .qaitems ul.qaitem h4 span {
    padding-right: 25px;
    font-size: 30px;
    font-size: 3rem;
  }
}
.contents._qa .qaitems ul.qaitem h4.up {
  background: url(images/arrow_12x9_b_u.png) no-repeat center right;
  background-size: 22px 9px;
}
.contents._qa .qaitems ul.qaitem .ans {
  display: none;
}
.contents._qa .qaitems ul.qaitem .ans .ansin {
  padding: 20px 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-direction: normal;
  -webkit-box-orient: horizontal;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  justify-content: space-between;
}
.contents._qa .qaitems ul.qaitem .ans .ansin .text {
  width: 89%;
}
@media only screen and (min-width: 768px) {
  .contents._qa .qaitems ul.qaitem .ans .ansin .text {
    width: 780px;
  }
}
.contents._qa .qaitems ul.qaitem .ans .ansin span {
  padding-right: 10px;
  font-size: 30px;
  font-size: 3rem;
  position: relative;
  top: 4px;
  color: #bebebe;
  display: block;
}
@media only screen and (min-width: 768px) {
  .contents._qa .qaitems ul.qaitem .ans .ansin span {
    padding-right: 25px;
  }
}
/* STAFF スタッフ紹介
-------------------------------------------------------------*/
.ttl_lv1._staff {
  background: url(images/staff_img.png) no-repeat center center;
}
.staffbg {
  margin-bottom: 80px;
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .staffbg {
    margin-bottom: 100px;
    background: url(images/staff_staffimg_backgroundtwo.png) no-repeat;
    background-position: left 0px bottom 10px;
  }
  .staffbg:nth-of-type(odd) {
    background: url(images/staff_staffimg_backgroundone.png) no-repeat;
    background-position: right 0px bottom 150px;
  }
  .staffbg:nth-of-type(odd) .staffitems .staffitem .content {
    order: 1;
  }
  .staffbg:nth-of-type(odd) .staffitems .staffitem .staffimg {
    order: 2;
  }
  .staffbg:nth-of-type(odd) .staffitems .staffitem .profile {
    order: 3;
    margin-left: 0;
  }
  .staffbg:nth-of-type(odd) .staffitems .staffitem .profile:before {
    left: 10px;
    right: auto;
  }
}
.staffitems {
  margin: 0 auto;
  padding: 0 20px;
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .staffitems {
    padding: 0;
    width: 940px;
  }
}
.staffitems .staffitem {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-direction: normal;
  -webkit-box-orient: horizontal;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  justify-content: space-between;
}
.staffitems .staffitem .content {
  margin-bottom: 20px;
}
@media only screen and (min-width: 768px) {
  .staffitems .staffitem .content {
    margin-bottom: 0;
    width: 460px;
  }
}
.staffitems .staffitem .staffimg {
  width: 100%;
  margin-bottom: 15px;
  position: relative;
  z-index: 10;
}
@media only screen and (min-width: 768px) {
  .staffitems .staffitem .staffimg {
    width: 460px;
  }
}
.staffitems .staffitem .staffimg img {
  width: 100%;
  height: auto;
  display: block;
}
.staffitems .staffitem .titles {
  margin-bottom: 15px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-direction: normal;
  -webkit-box-orient: horizontal;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  -webkit-justify-content: flex-start;
  -moz-justify-content: flex-start;
  justify-content: flex-start;
}
@media only screen and (min-width: 768px) {
  .staffitems .staffitem .titles {
    margin-bottom: 30px;
  }
}
.staffitems .staffitem .titles .num {
  margin-right: 15px;
  width: 60px;
  height: 60px;
  border: 1px solid #CACACA;
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 60px;
  line-height: 6rem;
  text-align: center;
  display: block;
}
@media only screen and (min-width: 768px) {
  .staffitems .staffitem .titles .num {
    margin-right: 30px;
    width: 84px;
    height: 84px;
    font-size: 40px;
    font-size: 4rem;
    line-height: 84px;
    line-height: 8.4rem;
  }
}
.staffitems .staffitem .titles h3 {
  padding: 10px 0;
}
@media only screen and (min-width: 768px) {
  .staffitems .staffitem .titles h3 {
    padding: 15px 0;
    font-size: 24px;
    font-size: 2.4rem;
    line-height: 24px;
    line-height: 2.4rem;
  }
}
.staffitems .staffitem .titles h3 span {
  margin-top: 10px;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 14px;
  line-height: 1.4rem;
  color: #bebebe;
  display: block;
}
.staffitems .staffitem .titles .text {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 28px;
  line-height: 2.8rem;
  text-align: justify;
}
.staffitems .staffitem .profile {
  padding: 20px;
  width: 100%;
  border: 1px dotted #3972b7;
}
@media only screen and (min-width: 768px) {
  .staffitems .staffitem .profile {
    /*margin: -60px 0 0 100px;*/
    margin: 30px 0 0 100px;
    padding: 50px 50px 25px;
    width: 840px;
    position: relative;
  }
}
.staffitems .staffitem .profile:before {
  content: url(images/staff_staffimg_profile.png);
  width: 95px;
  height: 36px;
  background-color: #fff;
  display: block;
  position: absolute;
  top: -15px;
  right: 10px;
}
.staffitems .staffitem .profile dl {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-direction: normal;
  -webkit-box-orient: horizontal;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  justify-content: space-between;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 20px;
  line-height: 2rem;
}
.staffitems .staffitem .profile dl dt {
  margin-bottom: 10px;
  width: 40%;
}
.staffitems .staffitem .profile dl dd {
  margin: 0 0 10px 0;
  padding: 0;
  width: 53%;
}
.staffbox_background {
  padding: 0 20px;
}
.staffbox_background .staffbox_inner {
  width: 100%;
  margin-bottom: 20px;
}
@media only screen and (min-width: 768px) {
  .staffbox_background .staffbox_inner {
    margin: 0 auto 80px auto;
    width: 980px;
  }
  .staffbox_background:nth-of-type(4n+1) {
    background: url(images/staff_staffimg_backgroundone.png) no-repeat;
    background-position: right 0px bottom 150px;
  }
  .staffbox_background:nth-of-type(4n+2) {
    background: url(images/staff_staffimg_backgroundtwo.png) no-repeat;
    background-position: left 0px bottom 10px;
  }
  .staffbox_background:nth-of-type(4n+3) {
    background: url(images/staff_staffimg_backgroundthree.png) no-repeat;
    background-position: right bottom;
  }
}
.staffbox_background .staffbox_inner .staffbox_about {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-direction: normal;
  -webkit-box-orient: horizontal;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  justify-content: space-between;
  width: 100%;
  margin-bottom: 20px;
}
.staffbox_background .staffbox_inner .staffbox_about .staffbox_staffimg {
  margin-bottom: 10px;
  width: 100%;
}
.staffbox_background .staffbox_inner .staffbox_about .staffbox_staffimg img {
  width: 100%;
  height: auto;
  display: block;
}
@media only screen and (min-width: 768px) {
  .staffbox_background .staffbox_inner .staffbox_about {
    -webkit-flex-wrap: nowrap;
    -moz-flex-wrap: nowrap;
    -ms-flex-wrap: none;
    flex-wrap: nowrap;
    width: 980px;
    position: relative;
    margin-bottom: 100px;
    min-height: 240px;
  }
  .staffbox_background .staffbox_inner .staffbox_about .staffbox_staffimg {
    position: absolute;
    top: 0;
    right: 0;
    width: 48%;
    z-index: 100;
  }
  div.contents .staffbox_background:nth-of-type(even) > div.staffbox_inner div.staffbox_about div.staffbox_staffimg {
    order: 1;
    position: absolute;
    top: 0;
    left: 0;
    right: auto;
  }
  div.contents .staffbox_background:nth-of-type(even) > div.staffbox_inner div.staffbox_about div.staffbox_textbox {
    margin-left: 480px;
  }
}
.staffbox_background .staffbox_inner .staffbox_about .staffbox_textbox {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .staffbox_background .staffbox_inner .staffbox_about .staffbox_textbox {
    width: 50%;
  }
}
.staffbox_background .staffbox_inner .staffbox_about .staffbox_textbox .staffbox_title {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-direction: normal;
  -webkit-box-orient: horizontal;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: flex-start;
  -moz-justify-content: flex-start;
  justify-content: flex-start;
  padding-bottom: 30px;
}
@media only screen and (min-width: 768px) {
  .staffbox_background .staffbox_inner .staffbox_about .staffbox_textbox .staffbox_title {
    -webkit-flex-wrap: nowrap;
    -moz-flex-wrap: nowrap;
    -ms-flex-wrap: none;
    flex-wrap: nowrap;
  }
}
.staffbox_background .staffbox_inner .staffbox_about .staffbox_textbox .staffbox_title .left span {
  border: 1px solid #CACACA;
  padding: 15px 15px;
  font-size: 18px;
  font-size: 1.8rem;
  display: block;
}
@media only screen and (min-width: 768px) {
  .staffbox_background .staffbox_inner .staffbox_about .staffbox_textbox .staffbox_title .left span {
    font-size: 24px;
    font-size: 2.4rem;
  }
}
.staffbox_background .staffbox_inner .staffbox_about .staffbox_textbox .staffbox_title .right {
  margin-left: 3%;
}
.staffbox_background .staffbox_inner .staffbox_about .staffbox_textbox .staffbox_title .right h3 {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 20px;
  line-height: 2em;
}
@media only screen and (min-width: 768px) {
  .staffbox_background .staffbox_inner .staffbox_about .staffbox_textbox .staffbox_title .right h3 {
    font-size: 24px;
    font-size: 2.4rem;
    line-height: 40px;
    line-height: 4rem;
  }
}
.staffbox_background .staffbox_inner .staffbox_about .staffbox_textbox .staffbox_title .right span {
  color: #BEBEBE;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 14px;
  line-height: 1.4em;
}
.staffbox_background .staffbox_inner .staffbox_profilebox {
  padding: 15px;
  border: 1px dotted #3972B7;
  width: 100%;
  position: relative;
  z-index: 1;
}
@media only screen and (min-width: 768px) {
  .staffbox_background .staffbox_inner .staffbox_profilebox {
    width: 90%;
    z-index: 1;
  }
}
.staffbox_background .staffbox_inner .staffbox_profilebox:before {
  content: url(images/staff_staffimg_profile.png);
  width: 95px;
  height: 36px;
  display: block;
  position: absolute;
  top: -10px;
  left: 0px;
}
@media only screen and (min-width: 768px) {
  div.contents div.staffbox_background:nth-of-type(even) > div.staffbox_inner div.staffbox_profilebox {
    margin-left: 10%;
  }
  .staffbox_background .staffbox_inner .staffbox_profilebox:before {
    content: url(images/staff_staffimg_profile.png);
    width: 95px;
    height: 36px;
    display: block;
    position: absolute;
    top: -10px;
    right: 0px;
    left: auto;
  }
  div.contents div.staffbox_background:nth-of-type(odd) > div.staffbox_inner div.staffbox_profilebox:before {
    content: url(images/staff_staffimg_profile.png);
    width: 95px;
    height: 36px;
    display: block;
    position: absolute;
    top: -10px;
    left: 15px;
    right: auto;
  }
}
.staffbox_background .staffbox_inner .staffbox_profilebox dl {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-direction: normal;
  -webkit-box-orient: horizontal;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  justify-content: space-between;
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .staffbox_background .staffbox_inner .staffbox_profilebox dl {
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: none;
    flex-wrap: wrap;
    padding: 40px 0 40px 40px;
  }
}
.staffbox_background .staffbox_inner .staffbox_profilebox dt {
  width: 40%;
}
.staffbox_background .staffbox_inner .staffbox_profilebox dd {
  margin: 0;
  padding: 0;
  width: 56%;
}
/* BLOG ブログ
-------------------------------------------------------------*/
.ttl_lv1._blog {
  background: url(images/blog_img.png) no-repeat center center;
}
.contents._blog {
  padding-left: 20px;
  padding-right: 20px;
}
@media only screen and (min-width: 768px) {
  .contents._blog {
    padding-left: 0;
    padding-right: 0;
  }
}
.contents._blog .catlist {
  margin: 0 auto 30px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-direction: normal;
  -webkit-box-orient: horizontal;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  justify-content: space-between;
}
@media only screen and (min-width: 768px) {
  .contents._blog .catlist {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    -webkit-justify-content: flex-start;
    -moz-justify-content: flex-start;
    justify-content: flex-start;
  }
}
.contents._blog .catlist a {
  display: block;
}
.contents._blog .catlist a:hover {
  color: #666;
  text-decoration: none;
}
@media only screen and (min-width: 768px) {
  .contents._blog .catlist {
    margin-bottom: 60px;
    padding: 10px 0;
    border: 1px dashed #666;
    width: 940px;
  }
  .contents._blog .catlist a:hover {
    background: url(images/blog_catlist-on.png) no-repeat center bottom;
    background-size: 80% 17px;
  }
  .contents._blog .catlist a.current {
    background: url(images/blog_catlist-on.png) no-repeat center bottom;
    background-size: 80% 17px;
  }
}
.contents._blog .catlist li {
  margin-bottom: 9px;
  height: 45px;
  width: 48.6%;
  border: 1px dashed #666;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 45px;
  line-height: 4.5rem;
  text-align: center;
}
.contents._blog .catlist li:nth-of-type(1) {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .contents._blog .catlist li {
    margin: 5px 0;
    width: 20%;
    border: none;
    height: auto;
    width: 20% !important;
    border-right: 1px solid #666;
    margin-right: 0 !important;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 20px;
    line-height: 2rem;
  }
  .contents._blog .catlist li:nth-of-type(5n) {
    border-right: none;
  }
  .contents._blog .catlist li:nth-of-type(1) {
    width: 20%;
  }
}
.contents._blog .blogitems {
  margin: 0 auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-direction: normal;
  -webkit-box-orient: horizontal;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  justify-content: space-between;
}
@media only screen and (min-width: 768px) {
  .contents._blog .blogitems {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    -webkit-justify-content: flex-start;
    -moz-justify-content: flex-start;
    justify-content: flex-start;
    width: 980px;
  }
}
.contents._blog .blogitems .blogitem {
  margin-bottom: 30px;
  width: 48%;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .contents._blog .blogitems .blogitem {
    margin: 0 20px 35px;
    width: 285px;
  }
}
.contents._blog .blogitems .blogitem._first {
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-direction: normal;
  -webkit-box-orient: horizontal;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  justify-content: space-between;
}
@media only screen and (min-width: 768px) {
  .contents._blog .blogitems .blogitem._first {
    -webkit-flex-wrap: nowrap;
    -moz-flex-wrap: nowrap;
    -ms-flex-wrap: none;
    flex-wrap: nowrap;
    width: 940px;
  }
}
.contents._blog .blogitems .blogitem._first .blogimg {
  width: 100%;
  width: 100%;
  height: auto;
  display: block;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .contents._blog .blogitems .blogitem._first .blogimg {
    width: 540px !important;
  }
}
.contents._blog .blogitems .blogitem._first .blogimg:before, .contents._blog .blogitems .blogitem._first .blogimg:after {
  content: '';
  width: 51px;
  height: 51px;
  display: block;
  position: absolute;
}
.contents._blog .blogitems .blogitem._first .blogimg:before {
  background: url(images/blog_frame_bf.png);
  background-size: contain;
  top: -11px;
  left: -11px;
}
.contents._blog .blogitems .blogitem._first .blogimg:after {
  background: url(images/blog_frame_af.png);
  background-size: contain;
  bottom: -11px;
  right: -11px;
}
.contents._blog .blogitems .blogitem._first .meta {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-direction: normal;
  -webkit-box-orient: horizontal;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  justify-content: space-between;
}
@media only screen and (min-width: 768px) {
  .contents._blog .blogitems .blogitem._first .meta {
    padding: 25px 0 0 0;
    width: 40%;
    display: block;
  }
}
.contents._blog .blogitems .blogitem._first .meta .icon_new {
  margin-bottom: 30px;
  width: 98px;
  height: 38px;
  display: block;
  position: absolute;
  top: -30px;
  right: -5px;
}
@media only screen and (min-width: 768px) {
  .contents._blog .blogitems .blogitem._first .meta .icon_new {
    margin-bottom: 35px;
    position: static;
  }
}
.contents._blog .blogitems .blogitem._first .meta .category {
  margin-bottom: 20px;
  width: 48%;
  height: 30px;
  font-size: 11px;
  font-size: 1.1rem;
  line-height: 30px;
  line-height: 3rem;
}
@media only screen and (min-width: 768px) {
  .contents._blog .blogitems .blogitem._first .meta .category {
    width: 160px;
    height: 35px;
    font-size: 11px;
    font-size: 1.1rem;
    line-height: 35px;
    line-height: 3.5rem;
  }
}
.contents._blog .blogitems .blogitem._first .meta .date {
  height: 30px;
  font-size: 11px;
  font-size: 1.1rem;
  line-height: 30px;
  line-height: 3rem;
}
.contents._blog .blogitems .blogitem._first .meta h3 {
  width: 100%;
  font-size: 20px;
  font-size: 2rem;
  line-height: 38px;
  line-height: 3.8rem;
}
.contents._blog .blogitems .blogitem._first .meta h3 a:hover {
  color: #666;
}
.contents._blog .blogitems .blogitem .blogimg {
  margin-bottom: 15px;
  display: block;
}
.contents._blog .blogitems .blogitem .blogimg img {
  width: 100%;
  height: auto;
  display: block;
}
.contents._blog .blogitems .blogitem .meta {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-direction: normal;
  -webkit-box-orient: vertical;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
}
@media only screen and (min-width: 768px) {
  .contents._blog .blogitems .blogitem .meta {
    -webkit-box-direction: normal;
    -webkit-box-orient: horizontal;
    -webkit-flex-direction: row;
    -moz-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    -moz-justify-content: space-between;
    justify-content: space-between;
  }
}
.contents._blog .blogitems .blogitem .meta .category {
  margin-bottom: 10px;
  height: 30px;
  background-color: #fff;
  border: 1px solid #bbb;
  font-size: 11px;
  font-size: 1.1rem;
  line-height: 30px;
  line-height: 3rem;
  text-align: center;
  font-weight: bold;
  display: block;
}
.contents._blog .blogitems .blogitem .meta .category:hover {
  text-decoration: none;
  color: #666;
}
@media only screen and (min-width: 768px) {
  .contents._blog .blogitems .blogitem .meta .category {
    width: 160px;
    height: 35px;
    font-size: 11px;
    font-size: 1.1rem;
    line-height: 33px;
    line-height: 3.3rem;
    letter-spacing: 0.32rem;
  }
}
.contents._blog .blogitems .blogitem .meta .date {
  margin-bottom: 20px;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 12px;
  line-height: 1.2rem;
}
@media only screen and (min-width: 768px) {
  .contents._blog .blogitems .blogitem .meta .date {
    height: 35px;
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 37px;
    line-height: 3.7rem;
  }
}
.contents._blog .blogitems .blogitem h3 {
  width: 100%;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 20px;
  line-height: 2rem;
  font-weight: bold;
}
@media only screen and (min-width: 768px) {
  .contents._blog .blogitems .blogitem h3 {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 24px;
    line-height: 2.4rem;
  }
}
.contents._blog .blogitems .blogitem h3 a:hover {
  color: #666;
}
/* ページナビ　共通 */
.wp-pagenavi {
  clear: both;
  text-align: center;
}
.wp-pagenavi a, .wp-pagenavi span, .wp-pagenavi a:hover, .wp-pagenavi span.current {
  font-size: 15px;
  font-size: 1.5rem;
  text-decoration: none;
  border: 1px solid #d5d5d5;
  border-radius: 5px;
  padding: 10px 14px;
  margin: 2px;
  width: 40px;
  height: 40px;
  line-height: 80px;
}
.wp-pagenavi a:hover, .wp-pagenavi span.current {
  color: #fff;
  background-color: #3972b7;
  border: 1px solid #3972b7;
}
.wp-pagenavi .previouspostslink {
  padding: 10px 16px 10px 7px;
}
.wp-pagenavi .previouspostslink:hover {
  padding: 10px 16px 10px 7px;
}
.wp-pagenavi .nextpostslink {
  padding: 10px 7px 10px 16px;
}
.wp-pagenavi .nextpostslink:hover {
  padding: 10px 7px 10px 16px;
}
.pagenav_sp {
  margin: 20px 0 30px;
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-direction: normal;
  -webkit-box-orient: horizontal;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: nowrap;
  -moz-flex-wrap: nowrap;
  -ms-flex-wrap: none;
  flex-wrap: nowrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  justify-content: space-between;
}
/* single
- - - - - - - - - - - - - - - - -*/
.contents._single {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-direction: normal;
  -webkit-box-orient: horizontal;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  justify-content: space-between;
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .contents._single {
    padding: 90px 0 100px !important;
    width: 940px;
  }
}
.contents._single .post {
  padding: 0 20px;
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .contents._single .post {
    padding: 0;
    width: 620px;
  }
}
.contents._single .post .category {
  margin-bottom: 15px;
  position: relative;
}
.contents._single .post .category:after {
  content: '';
  width: 100%;
  height: 1px;
  background-color: #C1C1C1;
  display: block;
  position: absolute;
  bottom: 17px;
  left: 0;
  z-index: -1;
}
@media only screen and (min-width: 768px) {
  .contents._single .post .category {
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 35px;
    line-height: 3.5rem;
  }
}
.contents._single .post .category a {
  margin: 0 auto;
  width: 60%;
  height: 35px;
  background-color: #fff;
  border: 1px solid #bbb;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 35px;
  line-height: 3.5rem;
  font-weight: bold;
  text-align: center;
  display: block;
}
.contents._single .post .category a:hover {
  text-decoration: none;
  color: #666;
}
.contents._single .post .category a span {
  display: block;
}
@media only screen and (min-width: 768px) {
  .contents._single .post .category a {
    width: 160px;
  }
}
.contents._single .post .date {
  margin-bottom: 15px;
  color: #999;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 20px;
  line-height: 2rem;
}
.contents._single .post h1 {
  margin-bottom: 30px;
  font-weight: bold;
  font-size: 20px;
  font-size: 2rem;
  line-height: 30px;
  line-height: 3rem;
  letter-spacing: 0.24rem;
}
@media only screen and (min-width: 768px) {
  .contents._single .post h1 {
    font-size: 26px;
    font-size: 2.6rem;
    line-height: 39px;
    line-height: 3.9rem;
  }
}
.contents._single .post .postbody {
  margin-bottom: 40px;
}
.contents._single .post .postbody h2, .contents._single .post .postbody h3, .contents._single .post .postbody h4, .contents._single .post .postbody h5, .contents._single .post .postbody h6 {
  margin: 0 0 25px !important;
  font-weight: bold;
  color: #666;
}
.contents._single .post .postbody h2 {
  border-top: 1px solid #c1c1c1;
  border-bottom: 1px solid #c1c1c1;
  padding: 10px 0;
  font-size: 30px;
  font-size: 3rem;
  line-height: 45px;
  line-height: 4.5rem;
}
@media only screen and (min-width: 768px) {
  .contents._single .post .postbody h2 {
    font-size: 36px;
    font-size: 3.6rem;
    line-height: 54px;
    line-height: 5.4rem;
  }
}
.contents._single .post .postbody h3 {
  font-size: 28px;
  font-size: 2.8rem;
  line-height: 32px;
  line-height: 3.2rem;
}
@media only screen and (min-width: 768px) {
  .contents._single .post .postbody h3 {
    font-size: 32px;
    font-size: 3.2rem;
    line-height: 40px;
    line-height: 4rem;
  }
}
.contents._single .post .postbody h4 {
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 36px;
  line-height: 3.6rem;
}
@media only screen and (min-width: 768px) {
  .contents._single .post .postbody h4 {
    font-size: 28px;
    font-size: 2.8rem;
    line-height: 42px;
    line-height: 4.2rem;
  }
}
.contents._single .post .postbody h5 {
  font-size: 20px;
  font-size: 2rem;
  line-height: 30px;
  line-height: 3rem;
}
@media only screen and (min-width: 768px) {
  .contents._single .post .postbody h5 {
    font-size: 24px;
    font-size: 2.4rem;
    line-height: 36px;
    line-height: 3.6rem;
  }
}
.contents._single .post .postbody h6 {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 24px;
  line-height: 2.4rem;
}
@media only screen and (min-width: 768px) {
  .contents._single .post .postbody h6 {
    font-size: 20px;
    font-size: 2rem;
    line-height: 30px;
    line-height: 3rem;
  }
}
.contents._single .post .postbody p {
  width: 100%;
  margin-bottom: 30px;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 28px;
  line-height: 2.8rem;
}
.contents._single .post .postbody img {
  max-width: 100%;
  height: auto;
  display: block;
  margin-bottom: 40px;
}
.contents._single .post .postbody a {
  color: #3972b7;
  text-decoration: underline;
}
.contents._single .post .postbody a:hover {
  text-decoration: none;
}
.contents._single .post .postbody .single_meta {
  margin-bottom: 25px;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 12px;
  line-height: 1.2rem;
}
.contents._single .post .postbody blockquote {
  margin: 0;
  padding: 20px;
  border: 1px dashed #ccc;
}
.contents._single .post .postbody blockquote p {
  margin-bottom: 0;
}
.contents._single .post .author {
  margin-bottom: 50px;
  padding: 30px;
  background-color: #f5f5f5;
}
.contents._single .post .author h2 {
  margin-bottom: 15px;
  color: #4e5071;
  font-weight: bold;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 26px;
  line-height: 2.6rem;
  letter-spacing: 0.24rem;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .contents._single .post .author h2 {
    text-align: left;
  }
}
.contents._single .post .author .authoritem {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-direction: normal;
  -webkit-box-orient: horizontal;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  align-items: center;
}
@media only screen and (min-width: 768px) {
  .contents._single .post .author .authoritem {
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    -webkit-align-items: stretch;
    -moz-align-items: stretch;
    align-items: stretch;
  }
}
.contents._single .post .author .authoritem img {
  margin-bottom: 30px;
  width: 100%;
  height: auto;
}
@media only screen and (min-width: 768px) {
  .contents._single .post .author .authoritem img {
    margin-bottom: 0;
    width: 120px;
    height: 120px;
  }
}
.contents._single .post .author .authoritem .content {
  width: 410px;
}
.contents._single .post .author .authoritem .content .name {
  margin-bottom: 20px;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 16px;
  line-height: 1.6rem;
  text-align: center;
  font-weight: bold;
}
@media only screen and (min-width: 768px) {
  .contents._single .post .author .authoritem .content .name {
    text-align: left;
  }
}
.contents._single .post .author .authoritem .content .comment {
  text-align: justify;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 24px;
  line-height: 2.4rem;
}
.contents._single .post .pagenavi_single {
  margin: 50px 0 30px;
  padding: 15px 0;
  border-top: #cccccc 1px solid;
  border-bottom: #cccccc 1px solid;
}
@media only screen and (min-width: 768px) {
  .contents._single .post .pagenavi_single {
    width: 100%;
    margin-bottom: 30px;
    padding: 20px 0;
    font-size: 1.4rem;
    line-height: 1.6rem !important;
  }
}
.contents._single .post .pagenavi_single .pre, .contents._single .post .pagenavi_single .next {
  margin: 0 !important;
  display: table;
  min-height: 50px;
  text-align: justify;
  box-sizing: border-box;
}
.contents._single .post .pagenavi_single .pre a, .contents._single .post .pagenavi_single .next a {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 24px;
  line-height: 2.4rem;
  color: #666;
  display: table-cell;
  vertical-align: middle;
  text-decoration: none;
}
.contents._single .post .pagenavi_single .pre {
  padding: 0 20px 0 35px;
  width: 50%;
  border-right: 1px solid #cccccc;
  float: left;
  background: url(images/single_navi_arrow_l.png) no-repeat center left;
  background-size: 25px 25px;
  padding: 0 20px 0 55px;
}
@media only screen and (min-width: 768px) {
  .contents._single .post .pagenavi_single .pre {
    background-size: 40px 40px;
  }
}
.contents._single .post .pagenavi_single .next {
  padding: 0 35px 0 20px;
  width: 50%;
  float: right;
  text-align: right;
  background: url(images/single_navi_arrow_r.png) no-repeat center right;
  background-size: 25px 25px;
}
@media only screen and (min-width: 768px) {
  .contents._single .post .pagenavi_single .next {
    padding: 0 55px 0 20px;
    background-size: 40px 40px;
  }
}
.contents._single .recent {
  margin-bottom: 40px;
  padding-top: 15px;
  border-top: 3px solid #3972b7;
}
.contents._single .recent h2 {
  margin-bottom: 25px;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 14px;
  line-height: 1.4rem;
  color: #3972b7;
  font-weight: bold;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .contents._single .recent h2 {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 16px;
    line-height: 1.6rem;
  }
}
.contents._single .recent .recentitems {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-direction: normal;
  -webkit-box-orient: horizontal;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  justify-content: space-between;
}
.contents._single .recent .recentitems .recentitem {
  margin-bottom: 10px;
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-direction: normal;
  -webkit-box-orient: horizontal;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  justify-content: space-between;
  -webkit-box-align: start;
  -ms-flex-align: start;
  -webkit-align-items: flex-start;
  -moz-align-items: flex-start;
  align-items: flex-start;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .contents._single .recent .recentitems .recentitem {
    margin-bottom: 20px;
    padding: 10px 15px 0;
    width: 50%;
    border-right: 1px solid #c1c1c1;
  }
  .contents._single .recent .recentitems .recentitem:after {
    content: '';
    margin: 0 auto;
    width: 94%;
    height: 1px;
    background-color: #c1c1c1;
    position: absolute;
    bottom: -10px;
    left: 0;
    right: 0;
  }
}
.contents._single .recent .recentitems .recentitem:nth-of-type(2n) {
  border-right: none;
}
.contents._single .recent .recentitems .recentitem .recentimg {
  margin-bottom: 10px;
  width: 30%;
  height: auto;
  display: block;
}
.contents._single .recent .recentitems .recentitem .recentimg img {
  width: 100%;
  height: auto;
  display: block;
}
@media only screen and (min-width: 768px) {
  .contents._single .recent .recentitems .recentitem .recentimg {
    width: 90px;
  }
}
.contents._single .recent .recentitems .recentitem .content {
  width: 66%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-direction: normal;
  -webkit-box-orient: horizontal;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  justify-content: space-between;
}
@media only screen and (min-width: 768px) {
  .contents._single .recent .recentitems .recentitem .content {
    width: 180px;
  }
}
.contents._single .recent .recentitems .recentitem .content .title {
  width: 100%;
  margin: -3px 0 10px;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 18px;
  line-height: 1.8rem;
  font-weight: bold;
}
.contents._single .recent .recentitems .recentitem .content .category {
  width: 50%;
  height: 20px;
  border: 1px solid #c1c1c1;
  display: block;
  font-size: 10px;
  font-size: 1rem;
  line-height: 18px;
  line-height: 1.8rem;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .contents._single .recent .recentitems .recentitem .content .category {
    margin-bottom: 0;
    width: 50%;
  }
}
.contents._single .recent .recentitems .recentitem .content .category:after {
  display: none;
}
.contents._single .recent .recentitems .recentitem .content .date {
  font-size: 10px;
  font-size: 1rem;
  line-height: 20px;
  line-height: 2rem;
}
@media only screen and (min-width: 768px) {
  .contents._single .recent .recentitems .recentitem .content .date {
    margin-bottom: 0;
    width: 50%;
    text-align: right;
  }
}
.categories {
  padding-bottom: 100px;
  display: none;
}
@media only screen and (min-width: 768px) {
  .categories {
    margin: 0 auto;
    width: 940px;
    display: block;
  }
}
.categories .categoriesttl {
  margin-bottom: 50px;
  position: relative;
}
.categories .categoriesttl span {
  margin: 0 auto;
  display: block;
  width: 260px;
  height: 40px;
  background: url(images/categories_ttl_bg.png) no-repeat center center;
  background-size: 260px 40px;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 40px;
  line-height: 4rem;
  color: #fff;
  text-align: center;
  font-weight: bold;
}
.categories .categoriesttl:after {
  content: '';
  width: 100%;
  height: 1px;
  background-color: #c1c1c1;
  display: block;
  position: absolute;
  bottom: 19px;
  left: 0;
  z-index: -1;
}
.categories .catttl {
  margin: 25px 0;
  width: 160px;
  height: 35px;
  border: 1px solid #c1c1c1;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 33px;
  line-height: 3.3rem;
  text-align: center;
  font-weight: bold;
}
.categories .catttl a {
  display: block;
}
.categories .catitems {
  margin: 0 auto;
  width: 960px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-direction: normal;
  -webkit-box-orient: horizontal;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  -webkit-justify-content: flex-start;
  -moz-justify-content: flex-start;
  justify-content: flex-start;
}
.categories .catitems .catitem {
  margin-bottom: 20px;
  padding: 10px 15px;
  border-right: 1px solid #c1c1c1;
  width: 33.33%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-direction: normal;
  -webkit-box-orient: horizontal;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  justify-content: space-between;
  position: relative;
}
.categories .catitems .catitem:after {
  content: '';
  margin: 0 auto;
  width: 94%;
  height: 1px;
  background-color: #c1c1c1;
  display: block;
  position: absolute;
  bottom: -10px;
  left: 0;
  right: 0;
}
.categories .catitems .catitem .catimg {
  width: 30%;
  display: block;
}
.categories .catitems .catitem .catimg img {
  width: 100%;
  height: auto;
  display: block;
}
.categories .catitems .catitem .title {
  margin-top: -3px;
  width: 66%;
  font-size: 13px;
  font-size: 1.3rem;
  line-height: 20px;
  line-height: 2rem;
  font-weight: bold;
}
.categories .catitems .catitem .title .date {
  padding-top: 5px;
  font-size: 10px;
  font-size: 1rem;
  line-height: 15px;
  line-height: 1.5rem;
  color: #999;
  display: block;
}
.categories .bx-wrapper .bx-viewport {
  height: 95px !important;
}
.categories .bx-wrapper .bx-controls-direction {
  position: relative;
}
.categories .bx-wrapper .bx-controls-direction .bx-prev, .categories .bx-wrapper .bx-controls-direction .bx-next {
  width: 20px;
  height: 80px;
  position: absolute;
  bottom: 15px;
}
.categories .bx-wrapper .bx-controls-direction .bx-prev {
  left: -15px;
  display: block;
  background: url(images/bx_pre.png) no-repeat center left;
  background-size: 20px 80px;
}
.categories .bx-wrapper .bx-controls-direction .bx-next {
  right: -15px;
  background: url(images/bx_nx.png) no-repeat center left;
  background-size: 20px 80px;
}
/* sidebar
- - - - - - - - - - - - - - - - -*/
.sidebar {
  padding: 0 20px;
}
@media only screen and (min-width: 768px) {
  .sidebar {
    padding: 0;
    width: 280px;
    float: right;
  }
}
.sidebar .sidebar_ttl {
  margin-bottom: 20px;
  padding-bottom: 12px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-direction: normal;
  -webkit-box-orient: horizontal;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  justify-content: space-between;
  border-bottom: 3px solid #3972b7;
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 18px;
  line-height: 1.8rem;
  color: #3972b7;
}
.sidebar .sidebar_ttl span {
  display: block;
  font-size: 12px;
  font-size: 1.2rem;
  text-align: right;
}
.sidebar .sidebaritem {
  margin-bottom: 40px;
}
.sidebar .categorylist li {
  width: 100%;
  border-bottom: 1px solid #ccc;
  line-height: 40px;
  text-align: right;
  position: relative;
}
.sidebar .categorylist li::before {
  content: '';
  width: 0;
  height: 0;
  border-color: transparent transparent transparent #666;
  border-width: 6px;
  border-style: solid;
  display: block;
  position: absolute;
  top: 13px;
  left: 0;
}
.sidebar .categorylist li p {
  padding-left: 20px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.sidebar .categorylist li p a {
  width: 80%;
  text-align: left;
  font-weight: bold;
  display: block;
}
.sidebar .categorylist li .count {
  display: block;
  float: right;
}
.sidebar .categorylist li ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
  width: 100%;
}
.sidebar .categorylist li ul li {
  padding: 0;
  width: 100%;
  border-top: 1px dashed #ccc;
}
.sidebar .categorylist li ul li:last-of-type {
  border-bottom: none;
}
.sidebar .categorylist li ul li::before {
  left: 20px;
}
.sidebar .categorylist li ul li p {
  padding-left: 40px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.sidebar .categorylist li ul li p a {
  width: 80%;
  display: block;
}
.sidebar .search {
  margin: 0 auto;
  padding: 0;
  width: 280px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-direction: normal;
  -webkit-box-orient: horizontal;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  justify-content: space-between;
}
.sidebar .search .searchtext {
  padding: 0 0 0 5px;
  width: 250px;
  height: 30px;
  border: 1px solid #c1c1c1;
  border-right: none;
  border-radius: 4px 0 0 4px;
}
.sidebar .search .searchsubmit {
  width: 30px;
  height: 30px;
}
.sidebar .postitems .postitem {
  margin-bottom: 20px;
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-direction: normal;
  -webkit-box-orient: horizontal;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  justify-content: space-between;
}
.sidebar .postitems .postitem .postimg {
  margin-bottom: 10px;
  width: 30%;
  height: auto;
  display: block;
}
.sidebar .postitems .postitem .postimg img {
  width: 100%;
  height: auto;
  display: block;
}
@media only screen and (min-width: 768px) {
  .sidebar .postitems .postitem .postimg {
    width: 90px;
  }
}
.sidebar .postitems .postitem .content {
  width: 66%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-direction: normal;
  -webkit-box-orient: horizontal;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  justify-content: space-between;
}
@media only screen and (min-width: 768px) {
  .sidebar .postitems .postitem .content {
    width: 180px;
  }
}
.sidebar .postitems .postitem .content .title {
  width: 100%;
  margin: -3px 0 10px;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 18px;
  line-height: 1.8rem;
  font-weight: bold;
}
.sidebar .postitems .postitem .content .category {
  width: 50%;
  height: 20px;
  border: 1px solid #c1c1c1;
  display: block;
  font-size: 10px;
  font-size: 1rem;
  line-height: 18px;
  line-height: 1.8rem;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .sidebar .postitems .postitem .content .category {
    margin-bottom: 0;
    width: 55%;
  }
}
.sidebar .postitems .postitem .content .category:after {
  display: none;
}
.sidebar .postitems .postitem .content .date {
  font-size: 10px;
  font-size: 1rem;
  line-height: 20px;
  line-height: 2rem;
}
@media only screen and (min-width: 768px) {
  .sidebar .postitems .postitem .content .date {
    margin-bottom: 0;
    width: 45%;
    text-align: right;
  }
}
.sidebar .postitems .postitem._first .postimg {
  margin: 0 auto 10px;
  width: 80%;
}
.sidebar .postitems .postitem._first .content {
  margin: 0 auto;
  width: 80%;
}
.archivelist li {
  border-bottom: 1px solid #c1c1c1;
}
.archivelist li span {
  height: 40px;
  background-image: url(images/arrow_tri_d.png);
  background-repeat: no-repeat;
  background-position: 95% center;
  background-size: 10px 7px;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 40px;
  line-height: 4rem;
  font-weight: bold;
  color: #3972b7;
  display: block;
  cursor: pointer;
}
@media only screen and (min-width: 768px) {
  .archivelist li span {
    background-position: 265px center;
  }
}
.archivelist li ul {
  display: none;
  padding: 0 0 0 2rem;
}
.archivelist li ul li {
  border: none;
}
.archivelist li ul li a {
  height: 35px;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 35px;
  line-height: 3.5rem;
  display: block;
}
.archivelist li.up span {
  background-image: url(images/arrow_tri_u.png);
}
.archivelist li.up ul {
  display: block;
}
/* MEDIA メディアの方へ
-------------------------------------------------------------*/
.ttl_lv1._media {
  background: url(images/media_img.png) no-repeat center center;
}
/* お問い合わせ - contact
-------------------------------------------------------------*/
.ttl_lv1._contact {
  background: url(images/contact_img.png) no-repeat center center;
}
.contents._contact .ttl_lv2 {
  margin-top: -84px;
  padding-top: 84px;
}
.contents._contact .tels {
  color: #3972b7;
  text-align: center;
  margin-bottom: 50px;
}
.contents._contact .tels .text {
  margin-bottom: 15px;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 16px;
  line-height: 1.6rem;
  font-weight: bold;
}
.contents._contact .tels .num {
  margin-bottom: 15px;
  display: block;
  font-size: 32px;
  font-size: 3.2rem;
  line-height: 32px;
  line-height: 3.2rem;
  color: #3972B7 !important;
}
.contents._contact .tels .num:visited {
  color: #3972B7 !important;
}
@media only screen and (min-width: 768px) {
  .contents._contact .tels .num {
    font-size: 38px;
    font-size: 3.8rem;
    line-height: 38px;
    line-height: 3.8rem;
  }
}
.contents._contact .tels .biztime {
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 18px;
  line-height: 1.8rem;
}
.contents .reserve {
  margin-bottom: 60px;
  background-color: #3972b7;
}
@media only screen and (min-width: 768px) {
  .contents .reserve {
    margin-bottom: 100px;
  }
}
.contents .reserve .reserveitems {
  margin: 0 auto;
  padding: 50px 20px;
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-direction: normal;
  -webkit-box-orient: horizontal;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  justify-content: space-between;
  color: #fff;
}
@media only screen and (min-width: 768px) {
  .contents .reserve .reserveitems {
    padding: 40px 0;
    width: 940px;
  }
}
.contents .reserve .reserveitems .reserveitem {
  margin-bottom: 40px;
  padding: 0 0 60px;
  width: 100%;
  text-align: center;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .contents .reserve .reserveitems .reserveitem {
    margin-bottom: 0;
    width: 33%;
    padding: 0 15px 50px;
  }
}
.contents .reserve .reserveitems .reserveitem:nth-of-type(2) {
  padding: 40px 0 60px;
  border-top: 1px dotted #fff;
}
@media only screen and (min-width: 768px) {
  .contents .reserve .reserveitems .reserveitem:nth-of-type(2) {
    padding: 0 15px 50px;
    border: none;
    border-left: 1px dotted #fff;
    border-right: 1px dotted #fff;
  }
}
.contents .reserve .reserveitems .reserveitem:nth-of-type(3) {
  margin-bottom: 0;
  padding: 40px 0 60px;
  border-top: 1px dotted #fff;
}
@media only screen and (min-width: 768px) {
  .contents .reserve .reserveitems .reserveitem:nth-of-type(3) {
    padding: 0 15px 50px;
    border: none;
  }
}
.contents .reserve .reserveitems .reserveitem .icon {
  margin-bottom: 10px;
  width: 30px;
  height: 30px;
}
.contents .reserve .reserveitems .reserveitem h3 {
  margin-bottom: 30px;
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 18px;
  line-height: 1.8rem;
  font-weight: bold;
}
.contents .reserve .reserveitems .reserveitem p {
  text-align: justify;
  letter-spacing: 0rem;
}
.contents .reserve .reserveitems .reserveitem .circlenum {
  width: 16px;
  height: 16px;
  position: relative;
  top: 3px;
}
.contents .reserve .reserveitems .reserveitem .btn_contact {
  margin: 0 auto;
  width: 160px;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 34px;
  line-height: 3.4rem;
  font-weight: 500;
  text-align: left;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}
.contents .reserve .reserveitems .reserveitem .btn_contact:hover {
  text-decoration: none;
}
.contents .reserve .reserveitems .reserveitem .btn_contact span {
  color: #3972b7;
}
.contents .reserve .reserveitems .reserveitem .btn_contact span em {
  padding-left: 20px;
  display: block;
  font-style: normal;
  position: relative;
}
.contents .reserve .reserveitems .reserveitem .btn_contact span em:after {
  content: '';
  margin: auto 0;
  width: 7px;
  height: 12px;
  background: url(images/arrow_r_7x12_b.png) no-repeat;
  background-size: contain;
  display: block;
  position: absolute;
  top: 0;
  right: 10px;
  bottom: 0;
}
#mailform {
  margin-top: -84px;
  padding-top: 84px;
}
/* フォーム共通 */
.formnote {
  margin: 0 auto 55px;
  padding: 25px 20px;
  width: 91%;
  border: 1px dotted #3972b7;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .formnote {
    width: 680px;
  }
}
.formnote span {
  color: #3972b7;
}
form {
  margin-bottom: 30px;
  padding: 0 20px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-direction: normal;
  -webkit-box-orient: horizontal;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  justify-content: space-between;
  /* Google Chrome, Safari, Opera 15+, Android, iOS */
  /* Firefox 18- */
  /* Firefox 19+ */
  /* IE 10+ */
}
@media only screen and (min-width: 768px) {
  form {
    margin: 0 auto;
    padding: 0;
    width: 680px;
  }
}
form input {
  box-sizing: border-box;
}
form input[type=text], form input[type=email] {
  padding: 19px 15px 19px 15px;
  width: 100%;
  border: 1px solid #d5d5d5;
  color: #333;
  font-size: 13px;
  /* フォント置換による類似 */
  font-weight: 500;
  line-height: 26px;
  /* フォント置換による類似 */
  text-align: left;
}
@media only screen and (min-width: 768px) {
  form input[type=text], form input[type=email] {
    padding: 10px 15px 10px 15px;
  }
}
form select {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  padding: 10px 15px 10px 15px;
  width: 100%;
  background: url(images/select_arrow.png) no-repeat right 50%;
  border: 1px solid #d5d5d5;
  border-radius: 0;
  font-size: 13px;
  font-size: 1.3rem;
  line-height: 26px;
  line-height: 2.6rem;
}
form label {
  margin-bottom: 10px !important;
  padding: 0 15px 0 0;
  display: inline-block;
  line-height: 21px;
  color: #333;
  text-align: left !important;
}
form input[type=radio] {
  display: none;
  margin-right: 10px;
  margin-bottom: 10px;
  position: relative;
}
form span.mwform-radio-field-text {
  position: relative;
  padding-left: 36px;
}
form input[type=radio] + span.mwform-radio-field-text:before {
  content: '';
  background: url(images/radio_off.png);
  width: 22px;
  height: 22px;
  background-size: contain;
  position: absolute;
  top: -5px;
  left: 0;
}
form input[type=radio]:checked + span.mwform-radio-field-text:before {
  content: '';
  background: url(images/radio_on.png);
  width: 22px;
  height: 22px;
  background-size: contain;
  position: absolute;
  top: -5px;
  left: 0;
}
form input[type=checkbox] {
  display: none;
}
form input[type=checkbox] + .mwform-checkbox-field-text {
  position: relative;
}
form .mwform-checkbox-field-text {
  padding-left: 36px;
}
form input[type=checkbox] + .mwform-checkbox-field-text:before {
  content: '';
  background: url(images/check_off.png);
  width: 22px;
  height: 22px;
  background-size: contain;
  position: absolute;
  top: -5px;
  left: 0;
}
form input[type=checkbox]:checked + .mwform-checkbox-field-text:before {
  content: '';
  background: url(images/check_on.png);
  width: 22px;
  height: 22px;
  background-size: contain;
  position: absolute;
  top: -5px;
  left: 0;
}
form .horizontal-item {
  margin-left: 0 !important;
}
form textarea {
  margin-bottom: 25px;
  padding: 20px;
  width: 100%;
  height: 150px;
  border: 1px solid #d5d5d5;
  resize: vertical;
  box-sizing: border-box;
}
form :placeholder-shown {
  color: red;
}
form ::-webkit-input-placeholder {
  color: #a0a0a0;
}
form :-moz-placeholder {
  color: #a0a0a0;
  opacity: 1;
}
form ::-moz-placeholder {
  color: #a0a0a0;
  opacity: 1;
}
form :-ms-input-placeholder {
  color: #a0a0a0;
}
form .formitem {
  margin-bottom: 40px;
  width: 100%;
}
form .formitem p.label {
  margin-bottom: 25px;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 14px;
  line-height: 1.4rem;
  color: #333;
  font-size: 13px;
  /* フォント置換による類似 */
  font-weight: bold;
  text-align: left !important;
}
form .formitem p.label span.mm {
  padding-right: 10px;
  color: #3972b7;
  font-size: 10px;
  font-size: 1rem;
}
form .formitem span.error, form .captha span.error {
  color: #ff0000;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 28px;
  line-height: 2.8rem;
  display: inline;
  font-weight: bold;
}
form .formitem._second {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  form .formitem._second {
    width: 48%;
  }
}
form .formitem._third {
  width: 31%;
}
form .formitem._fourth {
  width: 23%;
}
form .formitem._reserve {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-direction: normal;
  -webkit-box-orient: horizontal;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  justify-content: space-between;
}
form .formitem._reserve p.label {
  width: 100%;
}
form .formitem._reserve .rdate {
  margin-bottom: 30px;
  width: 100%;
}
@media only screen and (min-width: 768px) {
  form .formitem._reserve .rdate {
    margin-bottom: 0;
    width: 42%;
  }
}
form .formitem._reserve .rhour, form .formitem._reserve .rminite {
  width: 35%;
}
@media only screen and (min-width: 768px) {
  form .formitem._reserve .rhour, form .formitem._reserve .rminite {
    width: 20% !important;
  }
}
form .formitem._reserve span {
  line-height: 48px;
}
form .captha {
  margin: 0 auto 50px;
  width: 330px;
}
form .contact_btn {
  width: 100%;
  margin-bottom: 30px;
  height: 60px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-direction: normal;
  -webkit-box-orient: horizontal;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  justify-content: center;
  text-align: center;
  font-weight: bold;
}
form .contact_btn .confirm {
  margin: 0 20px;
  padding: 1px;
  width: 40%;
  height: 60px;
  display: block;
  position: relative;
  background-color: #3972b7;
}
@media only screen and (min-width: 768px) {
  form .contact_btn .confirm {
    width: 194px;
  }
}
form .contact_btn .confirm:hover {
  text-decoration: none;
}
form .contact_btn .confirm:before, form .contact_btn .confirm:after {
  content: "";
  position: absolute;
  top: 0;
  border-top: 30px solid transparent;
  border-bottom: 30px solid transparent;
  transform: scaleX(0.7);
}
form .contact_btn .confirm:before {
  left: -18px;
  border-right: 18px solid #3972b7;
  transform-origin: right top;
}
form .contact_btn .confirm:after {
  right: -18px;
  border-left: 18px solid #3972b7;
  transform-origin: left top;
}
form .contact_btn .confirm span {
  height: 58px;
  display: block;
  position: relative;
  background-color: #fff;
}
form .contact_btn .confirm span:before, form .contact_btn .confirm span:after {
  content: "";
  position: absolute;
  top: 0;
  border-top: 29px solid transparent;
  border-bottom: 29px solid transparent;
  transform: scaleX(0.7);
  z-index: 999;
}
form .contact_btn .confirm span:before {
  left: -18px;
  border-right: 18px solid #fff;
  transform-origin: right top;
}
form .contact_btn .confirm span:after {
  right: -18px;
  border-left: 18px solid #fff;
  transform-origin: left top;
}
form .contact_btn .confirm span input {
  width: 100%;
  background: url(images/arrow_r_7x12_b.png) no-repeat 240px center;
  border: none;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 56px;
  line-height: 5.6rem;
  text-align: center;
  color: #3972b7;
  font-weight: bold;
  font-style: normal;
  display: block;
}
form .contact_btn .back {
  margin: 0 20px;
  width: 35%;
  height: 60px;
  border: 1px solid #3972b7;
  background-color: #fff;
  color: #3972b7;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 50px;
  line-height: 5rem;
  text-align: center;
  display: block;
}
@media only screen and (min-width: 768px) {
  form .contact_btn .back {
    width: 100px;
  }
}
.thankstext {
  margin: 0 auto;
  text-align: center;
}
/*/////////////////////////////////////////////////////////////

1. liblary styles

--------------------------------------------------------------

1.float
2.Text Align
3.caution
4.margin & padding
5.List
6.Common Table
7.clearFix

///////////////////////////////////////////////////////////////

1.float

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -*/
.floatL, .fl-l {
  float: left !important;
}
.floatR, .fl-r {
  float: right !important;
}
/*=============================================================

2.Text Align

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -*/
.al-l {
  text-align: left !important;
}
.al-c {
  text-align: center !important;
}
.al-r {
  text-align: right !important;
}
/*=============================================================

3.caution

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -*/
p.caution, p.cautionWhite, div.subBlock p.caution {
  margin-left: 1em;
  font-size: 87%;
  color: #666;
  text-indent: -1em;
  line-height: 120%;
}
p.cautionWhite {
  color: #FFFFFF;
}
p.cautionSecLine {
  margin-left: 1em;
  font-size: 87%;
  color: #666;
  text-indent: -1em;
}
small.caution {
  font-size: 87%;
  color: #666;
}
ul.caution {
  font-size: 87%;
  color: #666;
  list-style-image: url(../images/caution.gif);
}
ul.caution li {
  margin: 0 0 0 18px;
  text-indent: -0.8em;
}
/*=============================================================

4.margin & padding

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -*/
/* margin-top
-------------------------------------------------------------*/
.mt0 {
  margin-top: 0px !important;
}
.mt5 {
  margin-top: 5px !important;
}
.mt10 {
  margin-top: 10px !important;
}
.mt15 {
  margin-top: 15px !important;
}
.mt20 {
  margin-top: 20px !important;
}
.mt25 {
  margin-top: 25px !important;
}
.mt30 {
  margin-top: 30px !important;
}
.mt35 {
  margin-top: 35px !important;
}
.mt40 {
  margin-top: 40px !important;
}
.mt45 {
  margin-top: 45px !important;
}
.mt50 {
  margin-top: 50px !important;
}
.mt55 {
  margin-top: 55px !important;
}
.mt60 {
  margin-top: 60px !important;
}
.mt65 {
  margin-top: 65px !important;
}
.mt70 {
  margin-top: 70px !important;
}
.mt75 {
  margin-top: 75px !important;
}
.mt80 {
  margin-top: 80px !important;
}
.mt85 {
  margin-top: 85px !important;
}
.mt90 {
  margin-top: 90px !important;
}
.mt95 {
  margin-top: 95px !important;
}
.mt100 {
  margin-top: 100px !important;
}
/* margin-right
-------------------------------------------------------------*/
.mr0 {
  margin-right: 0px !important;
}
.mr5 {
  margin-right: 5px !important;
}
.mr10 {
  margin-right: 10px !important;
}
.mr15 {
  margin-right: 15px !important;
}
.mr20 {
  margin-right: 20px !important;
}
.mr25 {
  margin-right: 25px !important;
}
.mr30 {
  margin-right: 30px !important;
}
.mr35 {
  margin-right: 35px !important;
}
.mr40 {
  margin-right: 40px !important;
}
.mr45 {
  margin-right: 45px !important;
}
.mr50 {
  margin-right: 50px !important;
}
.mr55 {
  margin-right: 55px !important;
}
.mr60 {
  margin-right: 60px !important;
}
.mr65 {
  margin-right: 65px !important;
}
.mr70 {
  margin-right: 70px !important;
}
.mr75 {
  margin-right: 75px !important;
}
.mr80 {
  margin-right: 80px !important;
}
.mr85 {
  margin-right: 85px !important;
}
.mr90 {
  margin-right: 90px !important;
}
.mr95 {
  margin-right: 95px !important;
}
.mr100 {
  margin-right: 100px !important;
}
/* margin-bottom
-------------------------------------------------------------*/
.mb0 {
  margin-bottom: 0px !important;
}
.mb5 {
  margin-bottom: 5px !important;
}
.mb10 {
  margin-bottom: 10px !important;
}
.mb15 {
  margin-bottom: 15px !important;
}
.mb20 {
  margin-bottom: 20px !important;
}
.mb25 {
  margin-bottom: 25px !important;
}
.mb30 {
  margin-bottom: 30px !important;
}
.mb35 {
  margin-bottom: 35px !important;
}
.mb40 {
  margin-bottom: 40px !important;
}
.mb45 {
  margin-bottom: 45px !important;
}
.mb50 {
  margin-bottom: 50px !important;
}
.mb55 {
  margin-bottom: 55px !important;
}
.mb60 {
  margin-bottom: 60px !important;
}
.mb65 {
  margin-bottom: 65px !important;
}
.mb70 {
  margin-bottom: 70px !important;
}
.mb75 {
  margin-bottom: 75px !important;
}
.mb80 {
  margin-bottom: 80px !important;
}
.mb85 {
  margin-bottom: 85px !important;
}
.mb90 {
  margin-bottom: 90px !important;
}
.mb95 {
  margin-bottom: 95px !important;
}
.mb100 {
  margin-bottom: 100px !important;
}
/* margin-left
-------------------------------------------------------------*/
.ml0 {
  margin-left: 0px !important;
}
.ml5 {
  margin-left: 5px !important;
}
.ml10 {
  margin-left: 10px !important;
}
.ml15 {
  margin-left: 15px !important;
}
.ml20 {
  margin-left: 20px !important;
}
.ml25 {
  margin-left: 25px !important;
}
.ml30 {
  margin-left: 30px !important;
}
.ml35 {
  margin-left: 35px !important;
}
.ml40 {
  margin-left: 40px !important;
}
.ml45 {
  margin-left: 45px !important;
}
.ml50 {
  margin-left: 50px !important;
}
.ml55 {
  margin-left: 55px !important;
}
.ml60 {
  margin-left: 60px !important;
}
.ml65 {
  margin-left: 65px !important;
}
.ml70 {
  margin-left: 70px !important;
}
.ml75 {
  margin-left: 75px !important;
}
.ml80 {
  margin-left: 80px !important;
}
.ml85 {
  margin-left: 85px !important;
}
.ml90 {
  margin-left: 90px !important;
}
.ml95 {
  margin-left: 95px !important;
}
.ml100 {
  margin-left: 100px !important;
}
/* padding-top
-------------------------------------------------------------*/
.pt0 {
  padding-top: 0px !important;
}
.pt5 {
  padding-top: 5px !important;
}
.pt10 {
  padding-top: 10px !important;
}
.pt15 {
  padding-top: 15px !important;
}
.pt20 {
  padding-top: 20px !important;
}
.pt25 {
  padding-top: 25px !important;
}
.pt30 {
  padding-top: 30px !important;
}
.pt35 {
  padding-top: 35px !important;
}
.pt40 {
  padding-top: 40px !important;
}
.pt45 {
  padding-top: 45px !important;
}
.pt50 {
  padding-top: 50px !important;
}
.pt55 {
  padding-top: 55px !important;
}
.pt60 {
  padding-top: 60px !important;
}
.pt65 {
  padding-top: 65px !important;
}
.pt70 {
  padding-top: 70px !important;
}
.pt75 {
  padding-top: 75px !important;
}
.pt80 {
  padding-top: 80px !important;
}
.pt85 {
  padding-top: 85px !important;
}
.pt90 {
  padding-top: 90px !important;
}
.pt95 {
  padding-top: 95px !important;
}
.pt100 {
  padding-top: 100px !important;
}
/* padding-right
-------------------------------------------------------------*/
.pr0 {
  padding-right: 0px !important;
}
.pr5 {
  padding-right: 5px !important;
}
.pr10 {
  padding-right: 10px !important;
}
.pr15 {
  padding-right: 15px !important;
}
.pr20 {
  padding-right: 20px !important;
}
.pr25 {
  padding-right: 25px !important;
}
.pr30 {
  padding-right: 30px !important;
}
.pr35 {
  padding-right: 35px !important;
}
.pr40 {
  padding-right: 40px !important;
}
.pr45 {
  padding-right: 45px !important;
}
.pr50 {
  padding-right: 50px !important;
}
.pr55 {
  padding-right: 55px !important;
}
.pr60 {
  padding-right: 60px !important;
}
.pr65 {
  padding-right: 65px !important;
}
.pr70 {
  padding-right: 70px !important;
}
.pr75 {
  padding-right: 75px !important;
}
.pr80 {
  padding-right: 80px !important;
}
.pr85 {
  padding-right: 85px !important;
}
.pr90 {
  padding-right: 90px !important;
}
.pr95 {
  padding-right: 95px !important;
}
.pr100 {
  padding-right: 100px !important;
}
/* padding-bottom
-------------------------------------------------------------*/
.pb0 {
  padding-bottom: 0px !important;
}
.pb5 {
  padding-bottom: 5px !important;
}
.pb10 {
  padding-bottom: 10px !important;
}
.pb15 {
  padding-bottom: 15px !important;
}
.pb20 {
  padding-bottom: 20px !important;
}
.pb25 {
  padding-bottom: 25px !important;
}
.pb30 {
  padding-bottom: 30px !important;
}
.pb35 {
  padding-bottom: 35px !important;
}
.pb40 {
  padding-bottom: 40px !important;
}
.pb45 {
  padding-bottom: 45px !important;
}
.pb50 {
  padding-bottom: 50px !important;
}
.pb55 {
  padding-bottom: 55px !important;
}
.pb60 {
  padding-bottom: 60px !important;
}
.pb65 {
  padding-bottom: 65px !important;
}
.pb70 {
  padding-bottom: 70px !important;
}
.pb75 {
  padding-bottom: 75px !important;
}
.pb80 {
  padding-bottom: 80px !important;
}
.pb85 {
  padding-bottom: 85px !important;
}
.pb90 {
  padding-bottom: 90px !important;
}
.pb95 {
  padding-bottom: 95px !important;
}
.pb100 {
  padding-bottom: 100px !important;
}
/* padding-left
-------------------------------------------------------------*/
.pl0 {
  padding-left: 0px !important;
}
.pl5 {
  padding-left: 5px !important;
}
.pl10 {
  padding-left: 10px !important;
}
.pl15 {
  padding-left: 15px !important;
}
.pl20 {
  padding-left: 20px !important;
}
.pl25 {
  padding-left: 25px !important;
}
.pl30 {
  padding-left: 30px !important;
}
.pl35 {
  padding-left: 35px !important;
}
.pl40 {
  padding-left: 40px !important;
}
.pl45 {
  padding-left: 45px !important;
}
.pl50 {
  padding-left: 50px !important;
}
.pl55 {
  padding-left: 55px !important;
}
.pl60 {
  padding-left: 60px !important;
}
.pl65 {
  padding-left: 65px !important;
}
.pl70 {
  padding-left: 70px !important;
}
.pl75 {
  padding-left: 75px !important;
}
.pl80 {
  padding-left: 80px !important;
}
.pl85 {
  padding-left: 85px !important;
}
.pl90 {
  padding-left: 90px !important;
}
.pl95 {
  padding-left: 95px !important;
}
.pl100 {
  padding-left: 100px !important;
}
/*=============================================================

5.List

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -*/
ul.dotList {
  margin-left: 15px;
  list-style-image: url(../images/list_dot.gif);
}
ol.numList {
  margin-left: 15px;
}
/*=============================================================

6.Common Table

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -*/
table.cmnTable {
  width: 100%;
  background-color: #ccc;
  border-collapse: separate;
  border-spacing: 1px;
}
table.cmnTable th {
  background-color: #ccc;
}
table.cmnTable td {
  background-color: #fff;
}
/*=============================================================

7.clearFix

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -*/
.clearfix:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}
.clearfix {
  min-height: 1px;
}
* html .clearfix {
  height: 1px;
}
.cf:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}
.cf {
  min-height: 1px;
}
* html .cf {
  height: 1px;
}
.clear {
  clear: both;
}
div.borderNone {
  border: none;
}
img.imgBlked {
  display: block;
}
div.gotoTop {
  text-align: right;
  margin-bottom: 30px;
}
.blked {
  display: block;
}
p.white {
  color: #FFFFFF;
}
.bgn {
  background: none !important;
}
.dis-b {
  display: block !important;
}
/*ブライダルページの修正*/
.bridalmenu {
  width: 500px;
  border: 1px dotted #3972B7;
  padding: 50px;
  margin: auto;
  margin-bottom: 60px;
}
.bridalmenuinbox {
  width: 100%;
  background-color: #ebeff7;
  text-align: center;
  padding: 30px 0;
}
.bridalmenuinbox_t {
  font-size: 20px;
  color: #666666;
  font-weight: bold;
  margin-bottom: 10px;
}
.bridalmenucheck {
  position: relative;
  margin: auto;
  width: 135px;
  height: 60px;
  margin-top: -640px;
  margin-bottom: 590px;
}
.bridalmenucheck img {
  width: 100%;
}
.plus {
  width: 40px;
  height: 40px;
  margin: 10px auto;
}
.plus img {
  width: 100%;
}
.bridallink:hover {
  opacity: 0.7;
}
.bridalmenuinbox_tex {
  font-size: 14px;
  margin-bottom: 10px;
}
@media only screen and (max-width: 768px) {
  .bridalmenu {
    width: 95%;
    border: 1px dotted #3972B7;
    padding: 30px 20px;
    margin: auto;
    margin-bottom: 30px;
  }
  .bridalmenuinbox {
    width: 100%;
    background-color: #ebeff7;
    text-align: center;
    padding: 20px 0;
  }
  .bridalmenuinbox_t {
    font-size: 15px;
    color: #666666;
    font-weight: bold;
    margin-bottom: 10px;
  }
  .bridalmenucheck {
    position: relative;
    margin: auto;
    width: 135px;
    height: 60px;
    margin-top: -540px;
    margin-bottom: 480px;
  }
  .bridalmenuinbox_tex {
    font-size: 13px;
    margin-bottom: 10px;
  }
}
/*コロナ対策追加*/
.corona_box {
  width: 980px;
  margin: auto;
  border: solid 3px #ebeff7;
  padding: 50px;
}
.corona_box2 {
  width: 980px;
  margin: auto;
  background-color: #ebeff7;
  position: relative;
  z-index: 1;
  padding-top: 40px;
  padding-bottom: 30px;
  margin-bottom: 80px;
}
.corona_boximg {
  width: 280px;
  float: left;
}
.corona_boximgmr {
  margin-right: 10px;
}
.corona_boximg_l {
  float: left;
  width: 80px;
  margin-right: 20px;
}
.corona_boximg_l img {
  width: 80px;
}
.corona_boximg_r {
  float: right;
  width: 180px;
  padding-top: 15px;
}
.clearboth {
  clear: both;
}
.coronalist {
  width: 570px;
  margin: auto;
}
.coronalist li {
  background-image: url(images/coronalist.png);
  background-size: 5px;
  background-position: 0px 12px;
  background-repeat: no-repeat;
  padding-left: 20px;
  list-style: none;
}
.coronatitle {
  font-family: "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-size: 20px;
  color: #3572b7;
  text-align: center;
  width: 400px;
  margin: auto;
  background-image: url(images/coronatitle.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 36px;
  padding-top: 65px;
  margin-bottom: -15px;
  background-color: #ffffff;
  position: relative;
  z-index: 9;
  letter-spacing: 0.15em;
}
.coronafukidasi {
  width: 85px;
  height: 40px;
  background-image: url(images/coronafukidasi.png);
  background-repeat: no-repeat;
  background-size: 85px;
  margin-left: 120px;
  margin-top: 20px;
}
.coronasubti {
  width: 310px;
  background-image: url(images/coronasubti.png);
  background-repeat: no-repeat;
  background-size: 310px;
  margin: auto;
  height: 51px;
  margin-bottom: -80px;
  margin-top: 35px;
  z-index: 9;
  position: relative;
}
.fonttmr {
  padding-top: 25px !important;
}
@media only screen and (max-width: 768px) {
  .corona_box {
    width: 90%;
    margin: auto;
    border: solid 3px #ebeff7;
    padding: 20px;
    padding-top: 30px;
    padding-bottom: 80px;
  }
  .corona_box2 {
    width: 90%;
    margin: auto;
    background-color: #ebeff7;
    position: relative;
    z-index: 1;
    padding: 20px;
    padding-top: 30px;
    padding-bottom: 30px;
    margin-bottom: 50px;
  }
  .corona_boximg {
    width: 100%;
    float: left;
  }
  .corona_boximgmr {
    margin-right: 0px;
  }
  .corona_boximg_l {
    float: left;
    width: 20%;
    margin-right: 10px;
  }
  .corona_boximg_l img {
    width: 100%;
  }
  .corona_boximg_r {
    float: right;
    width: 70%;
    padding-top: 5px;
  }
  .clearboth {
    clear: both;
  }
  .fonttmr {
    padding-top: 15px !important;
  }
  .coronalist {
    width: 100%;
    margin: auto;
    margin-left: -20px;
  }
  .coronalist li {
    background-image: url(images/coronalist.png);
    background-size: 5px;
    background-position: 0px 12px;
    background-repeat: no-repeat;
    padding-left: 20px;
    list-style: none;
    text-align: justify;
  }
  .coronatitle {
    font-family: "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-size: 17px;
    color: #3572b7;
    text-align: center;
    width: 80%;
    margin: auto;
    background-image: url(images/coronatitle.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 36px;
    padding-top: 65px;
    margin-bottom: -15px;
    background-color: #ffffff;
    position: relative;
    z-index: 9;
    letter-spacing: 0em;
    margin-top: -100px;
  }
  .coronafukidasi {
    width: 85px;
    height: 40px;
    background-image: url(images/coronafukidasi.png);
    background-repeat: no-repeat;
    background-size: 85px;
    margin-left: 100px;
    margin-top: 20px;
    margin-bottom: 20px;
  }
  .coronasubti {
    width: 100%;
    background-image: url(images/coronasubti.png);
    background-repeat: no-repeat;
    background-size: 100%;
    margin: auto;
    height: 51px;
    margin-bottom: -100px;
    margin-top: 20px;
    z-index: 9;
    position: relative;
  }
}
/* LP ao clear
------------------------------------------------------------*/
.ac-blue {
  color: #3572b7;
}
.ac-text {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 28px;
  line-height: 2.8rem;
}
.ac-footer {
  padding: 20px 0 75px;
}
@media only screen and (min-width: 768px) {
  .ac-footer {
    padding-bottom: 20px;
  }
}
.ac-copy {
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 24px;
  line-height: 2.4rem;
  color: #fff;
  text-align: center;
}
.ac-footer-puchase__link {
  color: #fff;
  text-align: center;
  width: 100%;
  background-color: rgba(19, 46, 107, 0.8);
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 55px;
  line-height: 5.5rem;
  display: block;
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 10;
}
.ac-footer-puchase__link:visited {
  color: #fff;
}
.ac-footer-puchase__link::before {
  content: '';
  margin-right: 10px;
  width: 21px;
  height: 16px;
  background-image: url(images/ao_clear/lp_icon_purchase_white.png);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  display: inline-block;
}
.ac-footer-puchase__link::after {
  content: '';
  margin-left: 15px;
  width: 10px;
  height: 10px;
  background-image: url(images/arrow_r_4x8_wh.png);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  display: inline-block;
}
@media only screen and (min-width: 768px) {
  .ac-footer-puchase__link {
    display: none;
  }
}
.ac-heading--lv1 {
  margin-bottom: 30px;
  font-size: 20px;
  font-size: 2rem;
  line-height: 36px;
  line-height: 3.6rem;
  font-family: serif;
  text-align: center;
  letter-spacing: 0.4em;
  color: #3972b7;
}
@media only screen and (min-width: 768px) {
  .ac-heading--lv1 {
    margin-bottom: 55px;
    font-size: 36px;
    font-size: 3.6rem;
    line-height: 36px;
    line-height: 3.6rem;
  }
}
.ac-lead {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 28px;
  line-height: 2.8rem;
}
@media only screen and (min-width: 768px) {
  .ac-lead {
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 30px;
    line-height: 3rem;
    text-align: center;
  }
}
.ac-hero {
  margin-bottom: 120px;
  width: 100%;
  height: calc(100vh - 155px);
  position: relative;
}
.ac-hero::before, .ac-hero::after {
  content: '';
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  display: block;
  position: absolute;
  z-index: 2;
}
.ac-hero::before {
  width: 174px;
  height: 109px;
  background-image: url(images/ao_clear/lp_hero_text01_sp.png);
  top: 0;
  left: 0;
}
.ac-hero::after {
  width: 160px;
  height: 92px;
  background-image: url(images/ao_clear/lp_hero_text02_sp.png);
  bottom: 0;
  right: 0;
}
@media only screen and (min-width: 768px) {
  .ac-hero {
    margin-bottom: 185px;
    height: calc(100vh - 175px);
  }
  .ac-hero::before {
    width: 410px;
    height: 257px;
    background-image: url(images/ao_clear/lp_hero_text01.png);
  }
  .ac-hero::after {
    width: 354px;
    height: 185px;
    background-image: url(images/ao_clear/lp_hero_text02.png);
  }
}
.ac-hero__img {
  width: 100%;
  height: calc(100vh - 155px);
}
@media only screen and (min-width: 768px) {
  .ac-hero__img {
    height: calc(100vh - 175px);
  }
}
.ac-hero__img img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
.ac-hero__texts {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  position: absolute;
  overflow: hidden;
  top: 20px;
  right: 20px;
  z-index: 3;
}
@media only screen and (min-width: 768px) {
  .ac-hero__texts {
    top: 50px;
    right: 50px;
  }
}
.ac-hero__text {
  margin-left: 10px;
  padding: 15px 0;
  background-color: #fff;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 30px;
  line-height: 3rem;
  font-weight: bold;
  letter-spacing: 0.3em;
  writing-mode: vertical-rl;
  align-self: flex-start;
  position: relative;
  opacity: 0;
  top: -240px;
}
@media only screen and (min-width: 768px) {
  .ac-hero__text {
    margin-left: 20px;
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 50px;
    line-height: 5rem;
  }
}
.ac-hero__lead {
  margin-bottom: 40px;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 28px;
  line-height: 2.8rem;
  color: #4c5072;
  text-align: center;
  font-weight: bold;
}
@media only screen and (min-width: 768px) {
  .ac-hero__lead {
    margin-bottom: 55px;
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 30px;
    line-height: 3rem;
  }
}
.ac-hero__slider {
  list-style-type: none;
  margin: 0;
  padding: 0;
  position: relative;
  z-index: 1;
}
.ac-logo {
  width: 80px;
  height: 126px;
  position: absolute;
  bottom: -90px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 4;
}
@media only screen and (min-width: 768px) {
  .ac-logo {
    width: 110px;
    height: 165px;
    bottom: -135px;
  }
}
.ac-logo img {
  width: 100%;
  height: auto;
  display: block;
}
.ac-puchase {
  display: none;
}
@media only screen and (min-width: 768px) {
  .ac-puchase {
    width: 180px;
    color: #3972b7;
    position: fixed;
    display: block;
    top: 0;
    right: 25px;
    z-index: 10;
  }
}
.ac-puchase__link {
  margin-top: 26px;
  width: 180px;
  background-color: #fff;
  border: 1px solid #3972b7;
  border-radius: 3px;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 35px;
  line-height: 3.5rem;
  text-align: center;
  color: #3972b7;
  font-weight: bold;
  display: block;
  position: relative;
  transition: margin-top .2s linear;
}
.ac-puchase__link:visited {
  color: #3572b7;
}
.ac-puchase__link::before {
  content: '';
  margin: 0 auto;
  width: 120px;
  height: 37px;
  display: block;
  border-left: 3px solid #3972b7;
  border-right: 3px solid #3972b7;
  position: absolute;
  top: -37px;
  left: 0;
  right: 0;
}
.ac-puchase__link:hover {
  text-decoration: none;
  margin-top: 36px;
}
.ac-puchase__link span {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  position: relative;
}
.ac-puchase__link span::before, .ac-puchase__link span::after {
  content: '';
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  display: block;
  position: relative;
  top: -1px;
}
.ac-puchase__link span::before {
  margin-right: 5px;
  width: 21px;
  height: 16px;
  background-image: url(images/ao_clear/lp_icon_purchase.png);
}
.ac-puchase__link span::after {
  margin-left: 10px;
  width: 6px;
  height: 12px;
  background-image: url(images/arrow_r_3x6_b.png);
}
.ac-sec1 {
  margin-bottom: 45px;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .ac-sec1 {
    margin-bottom: 80px;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
  }
  .ac-sec1::before {
    content: '';
    width: 45.3125%;
    height: 240px;
    height: 240px;
    background-image: url(images/ao_clear/lp_sec1_text.png);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
    display: block;
    position: absolute;
    top: -50px;
    right: 0;
    z-index: 2;
  }
}
.ac-sec1__img {
  padding-right: 20px;
  width: 100%;
  height: 250px;
}
@media only screen and (min-width: 768px) {
  .ac-sec1__img {
    width: 51.5625%;
    height: 500px;
    padding-right: 0;
    position: absolute;
    top: 0;
    left: 0;
  }
}
.ac-sec1__img img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  z-index: -1;
}
.ac-sec1__inner {
  width: 100%;
  max-width: 980px;
  z-index: 2;
  position: relative;
}
.ac-sec1__inner::before {
  content: '';
  width: 68.75%;
  height: 28.75vw;
  background-image: url(images/ao_clear/lp_sec1_text_sp.png);
  background-repeat: no-repeat;
  background-position: top left;
  background-size: cover;
  display: block;
  position: absolute;
  top: -61px;
  right: 0;
}
@media only screen and (min-width: 768px) {
  .ac-sec1__inner {
    width: 45.3125%;
    height: 500px;
  }
  .ac-sec1__inner::before {
    display: none;
  }
}
.ac-sec1__body {
  padding-top: 17.1875vw;
  padding-right: 20px;
  padding-left: 20px;
  width: 100%;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .ac-sec1__body {
    padding-top: 200px;
    padding-left: 0;
    padding-right: 0;
    width: 72.41379%;
  }
}
.ac-sec1__heading {
  font-size: 24px;
}
.ac-sec2 {
  padding-top: 40px;
  padding-bottom: 10px;
  background-color: #eff2f8;
  position: relative;
}
.ac-sec2::after {
  content: '';
  width: 62px;
  height: 25px;
  background-image: url(images/ao_clear/lp_sec2_tail_sp.png);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  display: block;
  position: absolute;
  position: absolute;
  bottom: -25px;
  left: 50%;
  transform: translateX(-50%);
}
@media only screen and (min-width: 768px) {
  .ac-sec2 {
    padding-top: 80px;
  }
  .ac-sec2::after {
    width: 114px;
    height: 28px;
    background-image: url(images/ao_clear/lp_sec2_tail.png);
    bottom: -28px;
  }
}
.ac-sec2__heading {
  margin-bottom: 30px;
  background-image: url(images/ao_clear/lp_sec2_heading_bg_sp.png);
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: 274px 17px;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 32px;
  line-height: 3.2rem;
  font-family: serif;
  color: #3572b7;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .ac-sec2__heading {
    margin-bottom: 60px;
    padding-bottom: 5px;
    background-image: url(images/ao_clear/lp_sec2_heading_bg.png);
    background-size: 671px 15px;
    font-size: 22px;
    font-size: 2.2rem;
    line-height: 22px;
    line-height: 2.2rem;
  }
}
.ac-sec2__inner {
  margin: 0 auto;
  width: 100%;
  max-width: 980px;
  padding-right: 20px;
  padding-left: 20px;
  padding-bottom: 135px;
  position: relative;
}
.ac-sec2__inner::after {
  content: '';
  width: 175px;
  height: 105px;
  background-image: url(images/ao_clear/lp_sec2_img.png);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  display: block;
  position: absolute;
  bottom: 0;
  right: 20px;
}
@media only screen and (min-width: 768px) {
  .ac-sec2__inner {
    padding-bottom: 75px;
  }
  .ac-sec2__inner::after {
    width: 175px;
    height: 105px;
    right: 0;
  }
}
@media only screen and (min-width: 980px) {
  .ac-sec2__inner {
    padding-right: 0;
    padding-left: 0;
  }
}
.ac-sec2__row {
  margin-bottom: 40px;
  margin-right: -10px;
  margin-left: -10px;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  position: relative;
}
.ac-sec2__row::before, .ac-sec2__row::after {
  content: '';
  width: 15px;
  height: 19px;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  display: block;
  position: absolute;
  top: -9px;
}
.ac-sec2__row::before {
  background-image: url(images/ao_clear/lp_sec2_before.png);
  left: 0;
}
.ac-sec2__row::after {
  background-image: url(images/ao_clear/lp_sec2_after.png);
  right: 0;
}
@media only screen and (min-width: 768px) {
  .ac-sec2__row {
    margin-bottom: 45px;
  }
  .ac-sec2__row::before, .ac-sec2__row::after {
    width: 30px;
    height: 37px;
  }
  .ac-sec2__row::before {
    left: -20px;
  }
  .ac-sec2__row::after {
    right: -20px;
  }
}
.ac-sec2__col {
  width: 50%;
  padding: 10px;
}
@media only screen and (min-width: 768px) {
  .ac-sec2__col {
    width: calc(100% / 7);
  }
}
.ac-sec2__col span {
  background-color: #3572b7;
  border-radius: 24px;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 48px;
  line-height: 4.8rem;
  color: #fff;
  text-align: center;
  display: block;
}
@media only screen and (min-width: 768px) {
  .ac-sec2__col span {
    width: 120px;
    height: 120px;
    border-radius: 50%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 27px;
    line-height: 2.7rem;
  }
}
.ac-sec3 {
  padding-top: 60px;
  padding-bottom: 30px;
  background-image: url(images/ao_clear/lp_sec3_img01_sp.png);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
@media only screen and (min-width: 768px) {
  .ac-sec3 {
    padding-top: 110px;
    padding-bottom: 70px;
    background-image: url(images/ao_clear/lp_sec3_img01.png);
  }
}
.ac-sec3__inner {
  margin: 0 auto;
  width: 100%;
  max-width: 980px;
  padding-right: 20px;
  padding-left: 20px;
}
@media only screen and (min-width: 980px) {
  .ac-sec3__inner {
    padding-right: 0;
    padding-left: 0;
  }
}
.ac-sec3__heading--lv1 {
  width: 91.875vw;
  height: 32.8125vw;
}
@media only screen and (min-width: 480px) {
  .ac-sec3__heading--lv1 {
    width: 294px;
    height: 105px;
  }
}
@media only screen and (min-width: 768px) {
  .ac-sec3__heading--lv1 {
    margin-bottom: 60px;
    width: 522px;
    height: 149px;
  }
}
.ac-sec3__heading--lv1 img {
  width: 100%;
  height: auto;
  display: block;
}
.ac-sec3__heading--lv2 {
  margin-bottom: 20px;
  font-size: 20px;
  font-size: 2rem;
  line-height: 36px;
  line-height: 3.6rem;
  font-family: serif;
  color: #fff;
  letter-spacing: .25em;
}
@media only screen and (min-width: 768px) {
  .ac-sec3__heading--lv2 {
    font-size: 32px;
    font-size: 3.2rem;
    line-height: 48px;
    line-height: 4.8rem;
  }
}
.ac-sec3__heading--lv3 {
  margin-bottom: 10px;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 16px;
  line-height: 1.6rem;
  font-family: serif;
  color: #eee93a;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .ac-sec3__heading--lv3 {
    margin-bottom: 20px;
    font-size: 22px;
    font-size: 2.2rem;
    line-height: 22px;
    line-height: 2.2rem;
    text-align: left;
  }
}
.ac-sec3__body {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .ac-sec3__body {
    margin-bottom: 60px;
    width: 560px;
    position: relative;
  }
}
.ac-sec3__text {
  margin-bottom: 20px;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 28px;
  line-height: 2.8rem;
  color: #fff;
}
.ac-sec3__img {
  margin: 0 auto 95px;
  width: 95px;
  height: auto;
  display: block;
}
@media only screen and (min-width: 768px) {
  .ac-sec3__img {
    width: 175px;
    position: absolute;
    top: -20px;
    right: -175px;
  }
}
.ac-sec3__column {
  padding: 30px 15px 10px;
  background-color: rgba(255, 255, 255, 0.9);
  position: relative;
}
.ac-sec3__column::after {
  content: '';
  width: 111px;
  height: 68px;
  background-image: url(images/ao_clear/lp_sec3_text.png);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  display: block;
  position: absolute;
  bottom: -22px;
  right: -11px;
}
@media only screen and (min-width: 768px) {
  .ac-sec3__column {
    padding: 15px 55px 10px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
  }
  .ac-sec3__column::after {
    width: 169px;
    height: 102px;
    bottom: -23px;
    right: -66px;
  }
}
.ac-sec3__column .column__text {
  margin-bottom: 20px;
  font-size: 13px;
  font-size: 1.3rem;
  line-height: 28px;
  line-height: 2.8rem;
  text-align: justify;
}
@media only screen and (min-width: 768px) {
  .ac-sec3__column .column__text {
    margin-bottom: 0;
    width: 83.33333%;
    order: 2;
  }
}
.ac-sec3__column .column__text strong {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 28px;
  line-height: 2.8rem;
  color: #4c5072;
}
.ac-sec3__column .column__img {
  margin: 0 auto;
  width: 110px;
  height: auto;
  display: block;
}
@media only screen and (min-width: 768px) {
  .ac-sec3__column .column__img {
    margin: 0;
    order: 1;
  }
}
.ac-sec4 {
  padding-top: 50px;
}
@media only screen and (min-width: 768px) {
  .ac-sec4 {
    padding-top: 80px;
    padding-bottom: 200px;
    position: relative;
  }
}
.ac-sec4__inner {
  margin: 0 auto;
  width: 100%;
  max-width: 980px;
}
.ac-sec4__heading {
  margin-bottom: 30px;
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 32px;
  line-height: 3.2rem;
  font-family: serif;
  color: #3572b7;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .ac-sec4__heading {
    margin-bottom: 40px;
    font-size: 28px;
    font-size: 2.8rem;
    line-height: 28px;
    line-height: 2.8rem;
  }
}
.ac-sec4__heading span {
  display: inline-block;
  position: relative;
}
.ac-sec4__heading span::before, .ac-sec4__heading span::after {
  content: '';
  width: 18px;
  height: 26px;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  display: inline-block;
  position: absolute;
  bottom: 0;
}
.ac-sec4__heading span::before {
  background-image: url(images/ao_clear/lp_sec4_heading_bg_l.png);
  left: -26px;
}
.ac-sec4__heading span::after {
  background-image: url(images/ao_clear/lp_sec4_heading_bg_r.png);
  right: -26px;
}
.ac-sec4__lead {
  margin-bottom: 40px;
  padding-right: 20px;
  padding-left: 20px;
}
@media only screen and (min-width: 980px) {
  .ac-sec4__lead {
    padding-right: 0;
    padding-left: 0;
  }
}
.ac-sec4__column {
  padding-top: 40px;
  padding-right: 20px;
  padding-left: 20px;
  padding-bottom: 50px;
  background-color: #eee93a;
  position: relative;
}
.ac-sec4__column::before {
  content: '';
  width: 16px;
  height: 51px;
  background-image: url(images/ao_clear/lp_sec4_arrow.png);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  display: block;
  position: absolute;
  top: -10px;
  left: 40px;
  transform: rotate(-30deg);
}
@media only screen and (min-width: 768px) {
  .ac-sec4__column {
    background-color: transparent;
    background-image: url(images/ao_clear/lp_sec4_bg01.png);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 100% 100%;
  }
  .ac-sec4__column::before {
    width: 22px;
    height: 70px;
    transform: rotate(0);
    top: -15px;
    left: 135px;
  }
}
.ac-sec4__column .column__heading {
  margin-bottom: 35px;
}
@media only screen and (min-width: 768px) {
  .ac-sec4__column .column__heading {
    margin: 0 auto 30px;
    width: 348px;
  }
}
.ac-sec4__column .column__heading img {
  width: 100%;
  height: auto;
  display: block;
}
.ac-sec4__column .column__lead {
  margin-bottom: 30px;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 28px;
  line-height: 2.8rem;
}
@media only screen and (min-width: 768px) {
  .ac-sec4__column .column__lead {
    margin-bottom: 45px;
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 30px;
    line-height: 3rem;
    text-align: center;
  }
}
@media only screen and (min-width: 768px) {
  .ac-sec4__column .column__row {
    width: 567px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    position: relative;
  }
}
.ac-sec4__column .column__img01, .ac-sec4__column .column__img02, .ac-sec4__column .column__img03 {
  margin: 0 auto;
  width: 196px;
  height: auto;
}
@media only screen and (min-width: 768px) {
  .ac-sec4__column .column__img01, .ac-sec4__column .column__img02, .ac-sec4__column .column__img03 {
    width: auto;
    height: 136px;
  }
}
.ac-sec4__column .column__img01 img, .ac-sec4__column .column__img02 img, .ac-sec4__column .column__img03 img {
  width: 100%;
  height: auto;
  display: block;
}
@media only screen and (min-width: 768px) {
  .ac-sec4__column .column__img01 img, .ac-sec4__column .column__img02 img, .ac-sec4__column .column__img03 img {
    width: auto;
    height: 100%;
  }
}
.ac-sec4__column .column__img01 {
  margin-bottom: 25px;
}
.ac-sec4__column .column__img02 {
  margin-top: 25px;
  margin-bottom: 25px;
}
@media only screen and (min-width: 768px) {
  .ac-sec4__column .column__img02 {
    height: 71px;
    position: absolute;
    top: 0;
    left: 255px;
  }
}
.ac-sec4__column .column__img03 {
  margin-bottom: 25px;
}
.ac-sec4__column .column__text {
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 20px;
  line-height: 2rem;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .ac-sec4__bg {
    height: 450px;
    position: absolute;
    bottom: 0;
    z-index: -1;
  }
}
.ac-sec4__bg img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
.ac-sec5 {
  padding-top: 50px;
  padding-bottom: 50px;
  position: relative;
}
.ac-sec5::after {
  content: '';
  width: 62px;
  height: 25px;
  background-image: url(images/ao_clear/lp_sec5_tail_sp.png);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  display: block;
  position: absolute;
  position: absolute;
  bottom: -25px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
}
@media only screen and (min-width: 768px) {
  .ac-sec5 {
    padding-top: 80px;
    padding-bottom: 90px;
  }
  .ac-sec5::after {
    width: 114px;
    height: 28px;
    background-image: url(images/ao_clear/lp_sec5_tail.png);
    bottom: -28px;
  }
}
.ac-sec5__inner {
  margin: 0 auto;
  padding-right: 20px;
  padding-left: 20px;
  width: 100%;
  max-width: 980px;
}
@media only screen and (min-width: 768px) {
  .ac-sec5__inner {
    position: relative;
  }
  .ac-sec5__inner::before, .ac-sec5__inner::after {
    content: '';
    width: 101px;
    height: 125px;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
    display: block;
    position: absolute;
    top: -45px;
  }
  .ac-sec5__inner::before {
    background-image: url(images/ao_clear/lp_sec5_bg01.png);
    left: -40px;
  }
  .ac-sec5__inner::after {
    background-image: url(images/ao_clear/lp_sec5_bg02.png);
    right: -40px;
  }
}
@media only screen and (min-width: 980px) {
  .ac-sec5__inner {
    padding-right: 0;
    padding-left: 0;
  }
}
.ac-sec5__heading--lv1 {
  margin-bottom: 75px;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 16px;
  line-height: 1.6rem;
  font-family: serif;
  color: #3572b7;
  text-align: center;
  letter-spacing: 0.2rem;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .ac-sec5__heading--lv1 {
    font-size: 22px;
    font-size: 2.2rem;
    line-height: 22px;
    line-height: 2.2rem;
  }
}
.ac-sec5__heading--lv1 span {
  padding: 0 15px 50px;
  background-image: url(images/ao_clear/lp_heading_bg.png);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
}
@media only screen and (min-width: 768px) {
  .ac-sec5__heading--lv1 span {
    padding: 0 25px 60px;
  }
}
.ac-sec5__heading--lv2 {
  margin-bottom: 15px;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 28px;
  line-height: 2.8rem;
  font-family: serif;
  color: #3572b7;
  text-align: center;
  letter-spacing: .4rem;
}
@media only screen and (min-width: 768px) {
  .ac-sec5__heading--lv2 {
    margin-bottom: 20px;
    font-size: 20px;
    font-size: 2rem;
    line-height: 35px;
    line-height: 3.5rem;
  }
}
.ac-sec5__heading--lv2 span {
  background-image: url(images/ao_clear/lp_sec5_heading_bg.png);
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: contain;
}
.ac-sec5__heading--lv2 em {
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 28px;
  line-height: 2.8rem;
  font-style: normal;
}
@media only screen and (min-width: 768px) {
  .ac-sec5__heading--lv2 em {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 35px;
    line-height: 3.5rem;
  }
}
.ac-sec5__lead {
  padding-right: 20px;
  padding-left: 20px;
  margin-bottom: 50px;
}
@media only screen and (min-width: 980px) {
  .ac-sec5__lead {
    padding-right: 0;
    padding-left: 0;
  }
}
@media only screen and (min-width: 768px) {
  .ac-sec5__row {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    position: relative;
  }
  .ac-sec5__row::before, .ac-sec5__row::after {
    content: '';
    width: 32px;
    height: 32px;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
    display: block;
    position: absolute;
    bottom: -10px;
  }
  .ac-sec5__row::before {
    background-image: url(images/ao_clear/lp_sec5_bg03.png);
    left: -40px;
  }
  .ac-sec5__row::after {
    background-image: url(images/ao_clear/lp_sec5_bg04.png);
    right: -40px;
  }
}
.ac-sec5__col {
  margin-bottom: 25px;
  padding-top: 40px;
  padding-bottom: 20px;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .ac-sec5__col {
    padding: 65px 0 0;
    width: calc(100% / 3);
  }
  .ac-sec5__col:nth-of-type(n + 4) {
    margin-bottom: 0;
  }
  .ac-sec5__col:nth-of-type(6)::after {
    content: '';
    width: 110px;
    height: 88px;
    background-image: url(images/ao_clear/lp_sec5_bg05.png);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
    display: block;
    position: absolute;
    top: -5px;
    right: -15px;
  }
}
.ac-sec5__col_bg01 {
  background-image: url(images/ao_clear/lp_sec5_column_bg01.png);
  position: relative;
}
.ac-sec5__col_bg01::before {
  content: '';
  width: 32px;
  height: 32px;
  background-image: url(images/ao_clear/lp_sec5_bg03.png);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  display: block;
  position: absolute;
  top: 0;
  right: 0;
}
@media only screen and (min-width: 768px) {
  .ac-sec5__col_bg01 {
    background-size: 90%;
    background-position: center top;
  }
  .ac-sec5__col_bg01::before {
    display: none;
  }
}
.ac-sec5__col_bg02 {
  background-image: url(images/ao_clear/lp_sec5_column_bg02.png);
}
.ac-sec5__col_bg02::before {
  content: '';
  width: 32px;
  height: 32px;
  background-image: url(images/ao_clear/lp_sec5_bg04.png);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
@media only screen and (min-width: 768px) {
  .ac-sec5__col_bg02 {
    background-size: 90%;
    background-position: center top;
  }
  .ac-sec5__col_bg02::before {
    display: none;
  }
}
.ac-sec5__text {
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 21px;
  line-height: 2.1rem;
  text-align: justify;
}
@media only screen and (min-width: 768px) {
  .ac-sec5__text {
    padding: 0 50px;
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 26px;
    line-height: 2.6rem;
  }
}
.ac-movie__inner{
  max-width: 800px;
  width: 100%;
  margin: 20px auto 80px;
  text-align: center;
  padding: 0 20px;
}
.ac-movie__inner--iframe iframe{
 max-width: 700px;
 width: 100%;
}
@media only screen and (max-width: 768px) {
  .ac-movie__inner--iframe iframe {height: 185px;
  }
}
.ac-products {
  padding-top: 60px;
  padding-bottom: 30px;
  background-color: #3572b7;
}
@media only screen and (min-width: 768px) {
  .ac-products {
    padding-bottom: 75px;
    position: relative;
  }
  .ac-products::before, .ac-products::after {
    content: '';
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
    display: block;
    position: absolute;
  }
  .ac-products::before {
    width: 409px;
    height: 257px;
    background-image: url(images/ao_clear/lp_products_text01.png);
    top: 0;
    left: 0;
  }
  .ac-products::after {
    width: 350px;
    height: 180px;
    background-image: url(images/ao_clear/lp_products_text02.png);
    bottom: 0;
    right: 0;
  }
}
.ac-products__inner {
  margin: 0 auto;
  padding-right: 20px;
  padding-left: 20px;
  width: 100%;
  max-width: 980px;
}
@media only screen and (min-width: 980px) {
  .ac-products__inner {
    padding-right: 0;
    padding-left: 0;
  }
}
.ac-products__heading--lv1 {
  margin-bottom: 30px;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 16px;
  line-height: 1.6rem;
  font-family: serif;
  color: #fff;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .ac-products__heading--lv1 {
    margin-bottom: 45px;
    font-size: 22px;
    font-size: 2.2rem;
    line-height: 22px;
    line-height: 2.2rem;
  }
}
.ac-products__heading--lv2 {
  margin-bottom: 35px;
  padding-top: 20px;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 14px;
  line-height: 1.4rem;
  font-family: serif;
  color: #3572b7;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .ac-products__heading--lv2 {
    margin-bottom: 40px;
    padding-top: 0;
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 18px;
    line-height: 1.8rem;
  }
}
.ac-products__heading--lv2 span {
  display: inline-block;
  position: relative;
}
.ac-products__heading--lv2 span::before, .ac-products__heading--lv2 span::after {
  content: '';
  width: 18px;
  height: 26px;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  display: inline-block;
  position: absolute;
  bottom: -5px;
}
.ac-products__heading--lv2 span::before {
  background-image: url(images/ao_clear/lp_sec4_heading_bg_l.png);
  left: -26px;
}
.ac-products__heading--lv2 span::after {
  background-image: url(images/ao_clear/lp_sec4_heading_bg_r.png);
  right: -26px;
}
@media only screen and (min-width: 768px) {
  .ac-products__heading--lv2 span::before {
    left: -35px;
  }
  .ac-products__heading--lv2 span::after {
    right: -35px;
  }
}
.ac-products__heading--lv3 {
  margin-bottom: 20px;
  padding-bottom: 10px;
  border-bottom: 1px solid #666;
  font-size: 13px;
  font-size: 1.3rem;
  line-height: 28px;
  line-height: 2.8rem;
  color: #666;
  font-weight: bold;
}
@media only screen and (min-width: 768px) {
  .ac-products__heading--lv3 {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 40px;
    line-height: 4rem;
  }
}
.ac-products__heading--lv3 strong {
  font-size: 30px;
  font-size: 3rem;
  line-height: 40px;
  line-height: 4rem;
  color: #3572b7;
}
.ac-products__heading--lv3 em {
  font-style: normal;
}
.ac-products__card {
  margin-bottom: 20px;
  padding: 20px 20px 30px;
  background-color: #fff;
  position: relative;
  z-index: 2;
}
@media only screen and (min-width: 768px) {
  .ac-products__card {
    padding: 40px 60px;
  }
}
@media only screen and (min-width: 768px) {
  .ac-products__row {
    margin-right: -20px;
    margin-left: -20px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}
.ac-products__col {
  margin-bottom: 60px;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .ac-products__col {
    margin-bottom: 0;
    padding: 0 20px;
    width: 50%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}
.ac-products__col--lg {
  padding: 0;
  width: 100%;
  margin-bottom: 0;
}
.ac-products__mini {
  margin-top: 20px;
  margin-bottom: 60px;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .ac-products__mini {
    margin-bottom: 0;
    padding: 30px;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    background-color: #eff2f8;
  }
  .ac-products__mini .ac-products__img_mini {
    width: 30%;
  }
}
.ac-products__mini .ac-products__img_mini img {
  width: 100%;
  height: auto;
  display: block;
}
.ac-products__mini .ac-products__body {
  margin-top: 20px;
}
@media only screen and (min-width: 768px) {
  .ac-products__mini .ac-products__body {
    width: 65%;
  }
}
.aoclear_mini {
  color: #3572b7;
}
.ac-products__col .ac-products__heading--lv2 {
  margin: 60px auto 0;
}
@media only screen and (min-width: 768px) {
  .ac-products__col .ac-products__heading--lv2 {
    margin: 40px auto 0;
    padding-top: 0;
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 18px;
    line-height: 1.8rem;
  }
}
.ac-products__mark {
  width: 60px;
  height: auto;
  display: block;
  position: absolute;
  top: -15px;
  left: -10px;
}
@media only screen and (min-width: 768px) {
  .ac-products__mark {
    left: 5px;
  }
}
.ac-products__mark--lg {
  width: 70px;
  top: -10px;
  left: -15px;
}
.ac-products__img {
  margin-bottom: 20px;
}
@media only screen and (min-width: 768px) {
  .ac-products__img {
    margin-bottom: 0;
    width: 43.90244%;
  }
}
.ac-products__img img {
  width: 100%;
  height: auto;
  display: block;
}
@media only screen and (min-width: 768px) {
  .ac-products__img--lg {
    width: 46.51163%;
  }
}
.ac-products__body {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .ac-products__body {
    width: 51.21951%;
  }
}
@media only screen and (min-width: 768px) {
  .ac-products__body--lg {
    width: 46.51163%;
    padding-top: 15px;
  }
}
.ac-products__text {
  margin-bottom: 20px;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 24px;
  line-height: 2.4rem;
}
.ac-products__balloon {
  margin: 0 auto 15px;
  width: 57.85714%;
  height: auto;
  display: block;
}
@media only screen and (min-width: 768px) {
  .ac-products__balloon {
    width: 165px;
    position: absolute;
    top: 0;
    right: -30px;
  }
}
.ac-products__balloon img {
  width: 100%;
  height: auto;
  display: block;
}
.ac-products__button {
  margin: 0 auto;
  padding: 1px 0;
  width: calc(100% - 34px);
  background-color: #3572b7;
  font-size: 13px;
  font-size: 1.3rem;
  line-height: 35px;
  line-height: 3.5rem;
  color: #3572b7;
  text-align: center;
  font-weight: bold;
  display: block;
  position: relative;
}
.ac-products__button:visited {
  color: #3572b7;
}
.ac-products__button:before, .ac-products__button:after {
  content: "";
  position: absolute;
  top: 0;
  border-top: 18px solid transparent;
  border-bottom: 18px solid transparent;
  transform: scaleX(0.7);
}
.ac-products__button:before {
  left: -18px;
  border-right: 18px solid #3572b7;
  transform-origin: right top;
}
.ac-products__button:after {
  right: -18px;
  border-left: 18px solid #3572b7;
  transform-origin: left top;
}
.ac-products__button span {
  height: 33px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  position: relative;
  background-color: #fff;
}
.ac-products__button span:before, .ac-products__button span:after {
  content: "";
  position: absolute;
  top: 0;
  border-top: 17px solid transparent;
  border-bottom: 17px solid transparent;
  transform: scaleX(0.7);
  z-index: 999;
}
.ac-products__button span:before {
  left: -17px;
  border-right: 17px solid #fff;
  transform-origin: right top;
}
.ac-products__button span:after {
  right: -17px;
  border-left: 17px solid #fff;
  transform-origin: left top;
}
.ac-products__button--lg {
  font-size: 17px;
  font-size: 1.7rem;
  line-height: 50px;
  line-height: 5rem;
}
.ac-products__button--lg:before, .ac-products__button--lg:after {
  content: "";
  position: absolute;
  top: 0;
  border-top: 25px solid transparent;
  border-bottom: 25px solid transparent;
  transform: scaleX(0.7);
}
.ac-products__button--lg:before {
  left: -18px;
  border-right: 18px solid #3572b7;
  transform-origin: right top;
}
.ac-products__button--lg:after {
  right: -18px;
  border-left: 18px solid #3572b7;
  transform-origin: left top;
}
.ac-products__button--lg span {
  height: 48px;
}
.ac-products__button--lg span:before, .ac-products__button--lg span:after {
  content: "";
  position: absolute;
  top: 0;
  border-top: 24px solid transparent;
  border-bottom: 24px solid transparent;
  transform: scaleX(0.7);
  z-index: 999;
}
.ac-products__button--lg span:before {
  left: -17px;
  border-right: 17px solid #fff;
  transform-origin: right top;
}
.ac-products__button--lg span:after {
  right: -17px;
  border-left: 17px solid #fff;
  transform-origin: left top;
}
@media only screen and (min-width: 768px) {
  .ac-products__button--lg {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 50px;
    line-height: 5rem;
  }
  .ac-products__button--lg:before, .ac-products__button--lg:after {
    content: "";
    position: absolute;
    top: 0;
    border-top: 25px solid transparent;
    border-bottom: 25px solid transparent;
    transform: scaleX(0.7);
  }
  .ac-products__button--lg:before {
    left: -18px;
    border-right: 18px solid #3572b7;
    transform-origin: right top;
  }
  .ac-products__button--lg:after {
    right: -18px;
    border-left: 18px solid #3572b7;
    transform-origin: left top;
  }
  .ac-products__button--lg span {
    height: 48px;
  }
  .ac-products__button--lg span:before, .ac-products__button--lg span:after {
    content: "";
    position: absolute;
    top: 0;
    border-top: 24px solid transparent;
    border-bottom: 24px solid transparent;
    transform: scaleX(0.7);
    z-index: 999;
  }
  .ac-products__button--lg span:before {
    left: -17px;
    border-right: 17px solid #fff;
    transform-origin: right top;
  }
  .ac-products__button--lg span:after {
    right: -17px;
    border-left: 17px solid #fff;
    transform-origin: left top;
  }
}
.ac-products__button em {
  display: block;
  position: relative;
}
.ac-products__button em::before {
  content: '';
  margin-left: 20px;
  width: 7px;
  height: 12px;
  background: url(images/arrow_r_7x12_b.png) no-repeat center center;
  display: inline-block;
}
.ac-sec6 {
  padding-top: 50px;
  padding-right: 20px;
  padding-left: 20px;
  padding-bottom: 50px;
}
@media only screen and (min-width: 768px) {
  .ac-sec6 {
    padding-top: 85px;
    padding-bottom: 85px;
  }
}
@media only screen and (min-width: 980px) {
  .ac-sec6 {
    padding-right: 0;
    padding-left: 0;
  }
}
.ac-sec6__heading {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 28px;
  line-height: 2.8rem;
  font-family: serif;
  color: #3572b7;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .ac-sec6__heading {
    margin-bottom: 35px;
    padding-top: 0;
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 18px;
    line-height: 1.8rem;
  }
}
.ac-sec6__heading span {
  display: inline-block;
  position: relative;
}
.ac-sec6__heading span::before, .ac-sec6__heading span::after {
  content: '';
  width: 18px;
  height: 26px;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  display: inline-block;
  position: absolute;
  bottom: 5px;
}
.ac-sec6__heading span::before {
  background-image: url(images/ao_clear/lp_sec4_heading_bg_l.png);
  left: -26px;
}
.ac-sec6__heading span::after {
  background-image: url(images/ao_clear/lp_sec4_heading_bg_r.png);
  right: -26px;
}
@media only screen and (min-width: 768px) {
  .ac-sec6__heading span::before, .ac-sec6__heading span::after {
    bottom: 0;
  }
  .ac-sec6__heading span::before {
    left: -50px;
  }
  .ac-sec6__heading span::after {
    right: -50px;
  }
}
.ac-sec6 .infiniteslide_wrap {
  overflowY: visible !important;
}
.ac-sec6__slider {
  margin-bottom: 80px;
}
.ac-sec6__slider li {
  width: 200px;
  height: auto;
  padding: 0 15px;
  position: relative;
  overflow: visible;
}
.ac-sec6__slider li:nth-of-type(even) {
  padding-top: 80px;
}
@media only screen and (min-width: 768px) {
  .ac-sec6__slider li {
    width: 335px;
    padding: 0 30px;
  }
}
.ac-sec6__slider li:nth-of-type(2) a {
  position: relative;
}
.ac-sec6__slider li:nth-of-type(2) a::before, .ac-sec6__slider li:nth-of-type(2) a::after {
  content: '';
  display: block;
  position: absolute;
  z-index: -1;
}
.ac-sec6__slider li:nth-of-type(2) a::before {
  width: 80px;
  height: 80px;
  background-color: #5987d1;
  opacity: .2;
  bottom: -15px;
  left: -15px;
}
.ac-sec6__slider li:nth-of-type(2) a::after {
  width: 40px;
  height: 40px;
  background-color: #5987d1;
  opacity: .1;
  bottom: -45px;
  left: -45px;
}
@media only screen and (min-width: 768px) {
  .ac-sec6__slider li:nth-of-type(2) a::before {
    width: 130px;
    height: 130px;
    background-color: #5987d1;
    opacity: .2;
    bottom: -30px;
    left: -30px;
  }
  .ac-sec6__slider li:nth-of-type(2) a::after {
    width: 65px;
    height: 65px;
    background-color: #5987d1;
    opacity: .1;
    bottom: -70px;
    left: -70px;
  }
}
.ac-sec6__slider li:nth-of-type(4) a {
  position: relative;
}
.ac-sec6__slider li:nth-of-type(4) a::before, .ac-sec6__slider li:nth-of-type(4) a::after {
  content: '';
  display: block;
  position: absolute;
  z-index: -1;
}
.ac-sec6__slider li:nth-of-type(4) a::before {
  width: 80px;
  height: 80px;
  background-color: #5987d1;
  opacity: .1;
  top: -40px;
  left: 45px;
}
.ac-sec6__slider li:nth-of-type(4) a::after {
  width: 40px;
  height: 40px;
  background-color: #5987d1;
  opacity: .1;
  top: -65px;
  left: 110px;
}
@media only screen and (min-width: 768px) {
  .ac-sec6__slider li:nth-of-type(4)::before {
    width: 130px;
    height: 130px;
    background-color: #5987d1;
    opacity: .1;
    top: -40px;
    left: 45px;
  }
  .ac-sec6__slider li:nth-of-type(4)::after {
    width: 65px;
    height: 65px;
    background-color: #5987d1;
    opacity: .1;
    top: -65px;
    left: 110px;
  }
}
.ac-sec6__slider li a {
  display: block;
  transition: opacity .2s linear;
}
.ac-sec6__slider li a:hover {
  opacity: 0.7;
  text-decoration: none;
}
.ac-sec6__slider li img {
  width: 100%;
  height: auto;
  display: block;
}
.ac-sec6__button {
  margin: 0 auto;
  padding: 1px 0;
  width: calc(100% - 34px);
  background-color: #3572b7;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 50px;
  line-height: 5rem;
  color: #3572b7;
  text-align: center;
  font-weight: bold;
  display: block;
  position: relative;
}
.ac-sec6__button:visited {
  color: #3572b7;
}
.ac-sec6__button:before, .ac-sec6__button:after {
  content: "";
  position: absolute;
  top: 0;
  border-top: 25px solid transparent;
  border-bottom: 25px solid transparent;
  transform: scaleX(0.7);
}
.ac-sec6__button:before {
  left: -18px;
  border-right: 18px solid #3572b7;
  transform-origin: right top;
}
.ac-sec6__button:after {
  right: -18px;
  border-left: 18px solid #3572b7;
  transform-origin: left top;
}
@media only screen and (min-width: 768px) {
  .ac-sec6__button {
    width: 400px;
  }
}
.ac-sec6__button span {
  height: 48px;
  display: block;
  position: relative;
  background-color: #fff;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
.ac-sec6__button span:before, .ac-sec6__button span:after {
  content: "";
  position: absolute;
  top: 0;
  border-top: 24px solid transparent;
  border-bottom: 24px solid transparent;
  transform: scaleX(0.7);
  z-index: 999;
}
.ac-sec6__button span:before {
  left: -17px;
  border-right: 17px solid #fff;
  transform-origin: right top;
}
.ac-sec6__button span:after {
  right: -17px;
  border-left: 17px solid #fff;
  transform-origin: left top;
}
.ac-sec6__button span img {
  margin-right: 10px;
  width: 25px;
  height: 25px;
  display: block;
}
.ac-sec6__button em {
  display: block;
  position: relative;
}
.ac-sec6__button em::before {
  content: '';
  margin-left: 20px;
  width: 7px;
  height: 12px;
  background: url(images/arrow_r_7x12_b.png) no-repeat center center;
  display: inline-block;
}
.ac-sec7 {
  padding-top: 40px;
  padding-bottom: 40px;
  padding-right: 20px;
  padding-left: 20px;
  background-color: #eff2f8;
}
@media only screen and (min-width: 768px) {
  .ac-sec7 {
    padding-top: 90px;
    padding-bottom: 90px;
  }
}
@media only screen and (min-width: 980px) {
  .ac-sec7 {
    padding-right: 0;
    padding-left: 0;
  }
}
.ac-sec7__inner {
  margin: 0 auto;
  width: 100%;
  max-width: 980px;
}
.ac-sec7__heading--lv1 {
  margin-bottom: 30px;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 16px;
  line-height: 1.6rem;
  font-family: serif;
  color: #3572b7;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .ac-sec7__heading--lv1 {
    margin-bottom: 45px;
    font-size: 22px;
    font-size: 2.2rem;
    line-height: 22px;
    line-height: 2.2rem;
  }
}
.ac-sec7__heading--lv2 {
  margin-bottom: 20px;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 30px;
  line-height: 3rem;
  font-family: serif;
  color: #3572b7;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .ac-sec7__heading--lv2 {
    margin-bottom: 30px;
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 18px;
    line-height: 1.8rem;
    text-align: left;
  }
}
.ac-sec7__card {
  margin-bottom: 30px;
  padding: 30px 20px 10px;
  background-color: #fff;
}
.ac-sec7__card:last-of-type {
  margin-bottom: 0;
}
@media only screen and (min-width: 768px) {
  .ac-sec7__card {
    padding: 45px 45px 10px;
  }
}
.ac-sec7__text {
  background-image: url(images/ao_clear/lp_sec7_bg_34.png);
  font-size: 15px;
  font-size: 1.5rem;
  line-height: 34px;
  line-height: 3.4rem;
}
@media only screen and (min-width: 768px) {
  .ac-sec7__text {
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 48px;
    line-height: 4.8rem;
    background-image: url(images/ao_clear/lp_sec7_bg_48.png);
  }
}
.ac-sec7__name {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 34px;
  line-height: 3.4rem;
  font-family: serif;
  color: #3572b7;
  text-align: right;
}
@media only screen and (min-width: 768px) {
  .ac-sec7__name {
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 48px;
    line-height: 4.8rem;
  }
}
.ac-sec8 {
  padding-bottom: 50px;
  position: relative;
}
.ac-sec8::after {
  content: '';
  width: 62px;
  height: 25px;
  background-image: url(images/ao_clear/lp_sec5_tail_sp.png);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  display: block;
  position: absolute;
  position: absolute;
  bottom: -25px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
}
@media only screen and (min-width: 768px) {
  .ac-sec8 {
    padding-bottom: 80px;
  }
  .ac-sec8::after {
    width: 114px;
    height: 28px;
    background-image: url(images/ao_clear/lp_sec5_tail.png);
    bottom: -28px;
  }
}
.ac-sec8__header {
  background-color: #fff;
}
@media only screen and (min-width: 768px) {
  .ac-sec8__header {
    height: 460px;
    position: relative;
  }
}
.ac-sec8__header .header__img {
  width: 100%;
  height: 300px;
}
@media only screen and (min-width: 768px) {
  .ac-sec8__header .header__img {
    width: 58.20312%;
    height: 460px;
    position: absolute;
    top: 0;
    left: 0;
  }
}
.ac-sec8__header .header__img img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
.ac-sec8__header .header__inner {
  padding: 40px 20px;
}
@media only screen and (min-width: 768px) {
  .ac-sec8__header .header__inner {
    margin: 0 auto;
    padding: 0;
    width: 100%;
    height: 460px;
    max-width: 980px;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    position: relative;
    z-index: 2;
    align-items: center;
  }
}
@media only screen and (min-width: 980px) {
  .ac-sec8__header .header__inner {
    padding-right: 0;
    padding-left: 0;
  }
}
@media only screen and (min-width: 768px) {
  .ac-sec8__header .header__body {
    padding-left: 40px;
    width: 57.14286%;
  }
}
.ac-sec8__header .header__heading {
  margin-bottom: 35px;
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 36px;
  line-height: 3.6rem;
  font-family: serif;
  color: #3572b7;
  text-align: center;
  letter-spacing: .4rem;
}
@media only screen and (min-width: 768px) {
  .ac-sec8__header .header__heading {
    font-size: 30px;
    font-size: 3rem;
    line-height: 48px;
    line-height: 4.8rem;
    text-align: left;
  }
}
.ac-sec8__header .header__text {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 28px;
  line-height: 2.8rem;
  color: #3572b7;
}
.ac-sec8__inner {
  margin: 0 auto;
  padding-top: 45px;
  padding-right: 20px;
  padding-left: 20px;
  width: 100%;
  max-width: 980px;
}
@media only screen and (min-width: 768px) {
  .ac-sec8__inner {
    padding-top: 80px;
  }
}
@media only screen and (min-width: 980px) {
  .ac-sec8__inner {
    padding-right: 0;
    padding-left: 0;
  }
}
.ac-sec8__heading--lv2 {
  margin-bottom: 75px;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 16px;
  line-height: 1.6rem;
  font-family: serif;
  color: #3572b7;
  text-align: center;
  letter-spacing: 0.2rem;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .ac-sec8__heading--lv2 {
    font-size: 22px;
    font-size: 2.2rem;
    line-height: 22px;
    line-height: 2.2rem;
  }
}
.ac-sec8__heading--lv2 span {
  padding: 0 15px 50px;
  background-image: url(images/ao_clear/lp_heading_bg.png);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
}
@media only screen and (min-width: 768px) {
  .ac-sec8__heading--lv2 span {
    padding: 0 25px 60px;
  }
}
.ac-sec8__heading--lv3 {
  margin-bottom: 20px;
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 30px;
  line-height: 3rem;
  font-family: serif;
  color: #666;
  text-align: center;
  letter-spacing: 0.4rem;
}
@media only screen and (min-width: 768px) {
  .ac-sec8__heading--lv3 {
    font-size: 24px;
    font-size: 2.4rem;
    line-height: 46px;
    line-height: 4.6rem;
    text-align: left;
  }
}
.ac-sec8__col {
  margin-bottom: 50px;
}
.ac-sec8__col:last-of-type {
  margin-bottom: 0;
}
@media only screen and (min-width: 768px) {
  .ac-sec8__col {
    margin-bottom: 40px;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
  }
}
.ac-sec8__img {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .ac-sec8__img {
    width: 51.02041%;
  }
}
.ac-sec8__img img {
  width: 100%;
  height: auto;
  display: block;
}
.ac-sec8__body {
  margin-top: -15px;
}
@media only screen and (min-width: 768px) {
  .ac-sec8__body {
    margin-top: 0;
    margin-left: 30px;
    width: 34.69388%;
  }
}
.ac-sec8__num {
  margin: 0 auto 25px;
  width: 90px;
  height: 52px;
  display: block;
}
@media only screen and (min-width: 768px) {
  .ac-sec8__num {
    margin-left: 0;
    margin-right: 0;
  }
}
.ac-sec8__text {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 28px;
  line-height: 2.8rem;
}
@media only screen and (min-width: 768px) {
  .ac-sec8__text {
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 30px;
    line-height: 3rem;
  }
}
.ac-sec9 {
  padding-top: 40px;
  padding-bottom: 50px;
}
@media only screen and (min-width: 768px) {
  .ac-sec9 {
    padding-top: 80px;
  }
}
.ac-sec9__inner {
  margin: 0 auto;
  padding-right: 20px;
  padding-left: 20px;
  width: 100%;
  max-width: 980px;
}
@media only screen and (min-width: 980px) {
  .ac-sec9__inner {
    padding-right: 0;
    padding-left: 0;
  }
}
.ac-sec9__heading--lv1 {
  margin: 0 auto 30px;
  font-size: 13px;
  font-size: 1.3rem;
  line-height: 30px;
  line-height: 3rem;
  color: #3572b7;
  text-align: center;
  font-weight: bold;
}
@media only screen and (min-width: 768px) {
  .ac-sec9__heading--lv1 {
    margin-bottom: 50px;
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 40px;
    line-height: 4rem;
  }
}
.ac-sec9__heading--lv2 {
  margin-bottom: 15px;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 16px;
  line-height: 1.6rem;
  font-weight: bold;
}
@media only screen and (min-width: 768px) {
  .ac-sec9__heading--lv2 {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 18px;
    line-height: 1.8rem;
  }
}
.ac-sec9__row {
  margin-bottom: 30px;
  padding-top: 20px;
  padding-right: 20px;
  padding-left: 20px;
  padding-bottom: 30px;
  border: 1px dotted #000;
}
@media only screen and (min-width: 768px) {
  .ac-sec9__row {
    padding-right: 40px;
    padding-left: 40px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}
.ac-sec9__col {
  margin-bottom: 60px;
}
.ac-sec9__col:last-of-type {
  margin-bottom: 0;
}
@media only screen and (min-width: 768px) {
  .ac-sec9__col {
    margin-bottom: 0;
    width: 48%;
  }
}
.ac-sec9__img {
  margin-bottom: 20px;
}
.ac-sec9__img img {
  width: 100%;
  height: auto;
  display: block;
}
.ac-sec9__text {
  margin-bottom: 15px;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 24px;
  line-height: 2.4rem;
}
@media only screen and (min-width: 768px) {
  .ac-sec9__text {
    margin-bottom: 25px;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 28px;
    line-height: 2.8rem;
  }
}
.ac-sec9__button {
  margin: 0 auto;
  padding: 1px 0;
  width: calc(100% - 34px);
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 50px;
  line-height: 5rem;
  color: #fff;
  text-align: center;
  font-weight: bold;
  display: block;
  position: relative;
}
.ac-sec9__button:visited {
  color: #fff;
}
.ac-sec9__button:hover {
  color: #fff;
}
.ac-sec9__button:before, .ac-sec9__button:after {
  content: "";
  position: absolute;
  top: 0;
  border-top: 26px solid transparent;
  border-bottom: 26px solid transparent;
  transform: scaleX(0.7);
}
.ac-sec9__button:before {
  left: -18px;
  transform-origin: right top;
}
.ac-sec9__button:after {
  right: -18px;
  transform-origin: left top;
}
@media only screen and (min-width: 768px) {
  .ac-sec9__button {
    width: 400px;
  }
}
.ac-sec9__button--blue {
  background-color: #3572b7;
}
.ac-sec9__button--blue::before {
  border-right: 18px solid #3572b7;
}
.ac-sec9__button--blue:after {
  border-left: 18px solid #3572b7;
}
.ac-sec9__button--green {
  background-color: #84b756;
}
.ac-sec9__button--green::before {
  border-right: 18px solid #84b756;
}
.ac-sec9__button--green:after {
  border-left: 18px solid #84b756;
}
.ac-sec9__link {
  border: 1px dotted #000;
}
.ac-sec9__link p {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 28px;
  line-height: 2.8rem;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .ac-sec9__link p {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 80px;
    line-height: 8rem;
  }
}
.ac-sec9__link p a {
  color: #3572b7;
  font-weight: bold;
  text-decoration: underline;
}
.ac-sec9__link p a:hover {
  text-decoration: none;
}
.elm, .elm2, .elm3 {
  top: 50px;
  opacity: 0;
}
.opa {
  opacity: 0;
}
.u-hlt:hover {
  opacity: 0.6;
  transition: opacity 0.2s linear;
  text-decoration: none !important;
}
.u-hlt5:hover {
  opacity: 0.5;
  transition: opacity 0.2s linear;
  text-decoration: none !important;
}
.u-hlt6:hover {
  opacity: 0.6;
  transition: opacity 0.2s linear;
  text-decoration: none !important;
}
.u-hlt7:hover {
  opacity: 0.7;
  transition: opacity 0.2s linear;
  text-decoration: none !important;
}
.u-hlt8:hover {
  opacity: 0.8;
  transition: opacity 0.2s linear;
  text-decoration: none !important;
}
.u-hlt9:hover {
  opacity: 0.9;
  transition: opacity 0.2s linear;
  text-decoration: none !important;
}
/* ランキング実績設置
------------------------------------------------------------*/
.index_ranking {
  margin: 0 auto;
  width: 100%;
  max-width: 980px;
  border: 1px solid #3572b7;
  position: relative;
  padding: 0 20px 60px;
}
@media only screen and (max-width: 768px) {
  .index_ranking {
    margin: 0 20px 0;
    max-width: none;
    width: calc(100% - 20px - 20px);
  }
}
.rank {
  text-align: center;
  margin: 45px 0;
}
.rank img {
  max-width: 800px;
  width: 100%;
  margin: 0 auto;
}
h2.rank_title1 {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
}
@media only screen and (max-width: 768px) {
  .rank_title1 img {
    max-width: 100%;
    width: calc(100% - 15px);
    margin: 0 auto;
    height: auto;
  }
}
.rank_text {
  margin-top: 80px;
  text-align: center;
}
@media only screen and (max-width: 768px) {
.rank_text {
  margin-top: 60px;
}
}	
.rank_text span{
  font-size: 12px;
}
.compass {
  width: 100%;
  padding: 0 auto;
  margin: 0 auto;
}
.compass_title {
  text-align: center;
  max-width: 842px;
  width: 100%;
  margin: 0 auto;
}
.compass_title img {
  max-width: 100%;
  height: auto;
}
.compass_btn {
  max-width: 580px;
  width: 100%;
  margin: 0 auto;
}
.compass_btn .more {
  width: 160px;
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  .compass_btn .more {
    width: calc(100% - 18px - 18px);
    margin: 0 auto;
  }
}
.sakae_shinkyu {
  width: 50%;
  float: left;
}
.kanayama_shinkyu {
  width: 50%;
  float: right;
}
.rank_title1 img {
  margin: 0 auto;
}
/* ao clearバナー設置
------------------------------------------------------------*/
.aoclear_btn {
  display: none;
}
.aoclear_btn_sp {
  display: block;
  width: 90%;
  margin: 0 auto 50px;
}
.aoclear_btn_sp img {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .aoclear_btn {
    display: block;
    width: 980px;
    margin: 0 auto 100px;
  }
  .aoclear_btn:hover {
    opacity: 0.7;
    transition: opacity 0.2s linear;
  }
  .aoclear_btn img {
    width: 100%;
  }
  .aoclear_btn_sp {
    display: none;
  }
}
/* ao clearお知らせ
------------------------------------------------------------*/
.aoclear_attention {
  width: 90%;
  padding: 20px;
  margin: 0 auto 40px;
  border: solid 3px #3972B7;
}
.aoclear_attention .title {
  font-size: 18px;
  font-size: 1.8rem;
  text-align: center;
  color: #3972B7;
}
@media only screen and (min-width: 768px) {
  .aoclear_attention {
    width: 900px;
    padding: 40px;
    margin: 0 auto 80px;
    border: solid 3px #3972B7;
  }
  .aoclear_attention .title {
    font-size: 20px;
    font-size: 2rem;
    text-align: center;
    color: #3972B7;
  }
}
/* ao clearキャンペーン
------------------------------------------------------------*/
.summer_sale {
  width: 100%;
  margin: 0 auto;
  margin-bottom: 20px;
  text-align: center;
}
.summer_sale img {
  width: 80%;
}
@media only screen and (min-width: 768px) {
  .summer_sale img {
    width: 390px;
  }
}
.summer_sale {
  color: #fff;
}
/* LP ao clear
------------------------------------------------------------*/
/* salon
------------------------------------------------------------*/
.contents._salon {
  padding-right: 0;
  padding-left: 0;
}
.ttl_lv1._salon {
  background: url(images/qa_img.png) no-repeat center center;
}
.salon__color--blue {
  color: #3572b7;
}
.salon__color--green {
  color: #86be24;
}
.salon__inner {
  margin: 0 auto;
  width: 100%;
  padding-right: 20px;
  padding-left: 20px;
}
.salon__nav {
  margin: 0 auto 60px;
  width: 100%;
  max-width: 655px;
}
@media only screen and (min-width: 768px) {
  .salon__nav {
    margin-bottom: 80px;
  }
}
.salon__nav ul {
  list-style-type: none;
  margin: 0 -5px;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media only screen and (min-width: 768px) {
  .salon__nav ul {
    margin-right: -15px;
    margin-left: -15px;
  }
}
.salon__nav ul li {
  padding: 0 5px;
  width: calc(100% / 3);
}
@media only screen and (min-width: 768px) {
  .salon__nav ul li {
    padding-right: 15px;
    padding-left: 15px;
  }
}
.salon__nav ul li a {
  border: 1px dotted #000;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 45px;
  line-height: 4.5rem;
  color: #3572b7;
  text-align: center;
  font-weight: bold;
  display: block;
  position: relative;
}
.salon__nav ul li a::after {
  content: '';
  margin: auto 0;
  width: 7px;
  height: 12px;
  background: url(images/arrow_r_7x12_b.png) no-repeat;
  background-size: contain;
  display: block;
  position: absolute;
  top: 50%;
  right: 8px;
  transform: translateY(-50%);
}
@media only screen and (min-width: 480px) {
  .salon__nav ul li a {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 60px;
    line-height: 6rem;
    position: relative;
  }
  .salon__nav ul li a::after {
    right: 15px;
  }
}
.salon__nav ul li a.chubu {
  color: #86be24;
  position: relative;
}
.salon__nav ul li a.chubu::after {
  background: url(images/arrow_r_7x12_g.png) no-repeat;
  background-size: contain;
}
.salon__info {
  margin: 0 auto 80px;
  width: 100%;
  max-width: 980px;
  padding-right: 20px;
  padding-left: 20px;
}
@media only screen and (min-width: 980px) {
  .salon__info {
    padding-right: 0;
    padding-left: 0;
  }
}
.salon__info .info__heading {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 32px;
  line-height: 3.2rem;
  font-family: serif !important;
  font-weight: normal;
}
@media only screen and (min-width: 768px) {
  .salon__info .info__row {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}
.salon__info .info__imgs {
  margin: 0 -5px 30px;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}
@media only screen and (min-width: 768px) {
  .salon__info .info__imgs {
    margin-right: -8px;
    margin-left: -8px;
    width: 52.04082%;
  }
}
.salon__info .info__img {
  padding: 5px;
  width: calc(100% / 3);
}
.salon__info .info__img:first-of-type {
  padding-top: 3px;
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .salon__info .info__img {
    padding: 8px;
  }
}
.salon__info .info__img img {
  width: 100%;
  height: auto;
  display: block;
}
.salon__info .info__body {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .salon__info .info__body {
    width: 44.89796%;
  }
}
.salon__info .info__text {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 22px;
  line-height: 2.2rem;
}
.salon__info .info__text i {
  padding-right: 5px;
  color: #3572b7;
}
.salon__info .info__tel {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 44px;
  line-height: 4.4rem;
  color: #3572b7;
  font-weight: bold;
}
.salon__info .info__tel a {
  color: #3572b7;
}
.salon__info .info__button {
  margin: 0 auto;
  width: calc(100% - 32px);
  max-width: 250px;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 35px;
  line-height: 3.5rem;
  color: #3572b7;
}
@media only screen and (min-width: 768px) {
  .salon__info .info__button {
    margin: 0 0 0 16px;
  }
}
.salon__info .info__button em {
  font-style: normal;
}
.salon__info .info__button--chubu {
  padding-left: 30px;
  width: 100%;
  background-color: #86be24;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 45px;
  line-height: 4.5rem;
  color: #fff;
  display: block;
  position: relative;
}
.salon__info .info__button--chubu::after {
  content: '';
  width: 7px;
  height: 12px;
  background-image: url(images/arrow_r_10x18_w.png);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  display: block;
  position: absolute;
  position: absolute;
  top: 50%;
  right: 30px;
  transform: translateY(-50%);
}
@media only screen and (min-width: 768px) {
  .salon__info .info__button--chubu {
    padding-left: 40px;
    line-height: 60px;
  }
  .salon__info .info__button--chubu::after {
    right: 40px;
  }
}
.salon__info .info__new-open {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 36px;
  line-height: 3.6rem;
  font-family: 'Quicksand', sans-serif;
  color: #3572b7;
  font-weight: bold;
}
.salon__access {
  margin-bottom: 80px;
  padding-right: 20px;
  padding-left: 20px;
  position: relative;
}
.salon__access::before {
  content: '';
  width: 100%;
  height: 210px;
  background-color: #3572b7;
  opacity: .2;
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  z-index: 1;
}
@media only screen and (min-width: 980px) {
  .salon__access {
    padding-right: 0;
    padding-left: 0;
  }
}
.salon__access .access__card {
  margin: 0 auto;
  padding: 50px 20px 30px;
  width: 100%;
  max-width: 980px;
  background-color: #fff;
  border: 1px dotted #000;
  position: relative;
  z-index: 2;
}
@media only screen and (min-width: 768px) {
  .salon__access .access__card {
    padding: 50px 60px;
  }
}
.salon__access .access__heading {
  margin: 0 auto;
  width: 135px;
  background-color: #fff;
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 24px;
  line-height: 2.4rem;
  color: #3572b7;
  text-align: center;
  position: absolute;
  top: -29px;
  left: 50%;
  transform: translateX(-50%);
}
.salon__access .access__heading span {
  padding-bottom: 10px;
  display: block;
}
.salon__access .access__lead {
  margin-bottom: 10px;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 28px;
  line-height: 2.8rem;
  text-align: center;
}
.salon__access .access__row {
  margin: 0 -10px;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}
@media only screen and (min-width: 768px) {
  .salon__access .access__row {
    margin-right: -16px;
    margin-left: -16px;
  }
}
.salon__access .access__col {
  padding: 10px;
  width: 50%;
}
@media only screen and (min-width: 768px) {
  .salon__access .access__col {
    padding: 16px;
    width: 25%;
  }
  .salon__access .access__col:nth-of-type(n + 5) {
    padding-bottom: 0;
  }
}
.salon__access .access__img {
  margin-bottom: 10px;
}
.salon__access .access__img img {
  width: 100%;
  height: auto;
  display: block;
}
.salon__access .access__text {
  padding-left: 25px;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 20px;
  line-height: 2rem;
  text-align: justify;
  position: relative;
}
.salon__access .access__text::before {
  content: attr(data-num);
  width: 20px;
  height: 20px;
  background-color: #3572b7;
  border-radius: 50%;
  color: #fff;
  text-align: center;
  text-indent: 0;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}