/* choccola */


/* ! normalize.css v1.0.0 | MIT License | git.io/normalize */


/* ==========================================================================
HTML5 display definitions
========================================================================== */


/* * Corrects `block` display not defined in IE 6/7/8/9 and Firefox 3. */

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


/* * Corrects `inline-block` display not defined in IE 6/7/8/9 and Firefox 3. */

audio,
canvas,
video {
  display: inline-block;
  *display: inline;
  *zoom: 1;
}


/* * Prevents modern browsers from displaying `audio` without controls.
* Remove excess height in iOS 5 devices. */

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


/* * Addresses styling for `hidden` attribute not present in IE 7/8/9, Firefox 3, * and Safari 4.
* Known issue:no IE 6 support. */

[hidden] {
  display: none;
}


/* ==========================================================================
Base
========================================================================== */


/* * 1. Corrects text resizing oddly in IE 6/7 when body `font-size` is set using
    `em` units.
* 2. Prevents iOS text size adjust after orientation change, without disabling
*    user zoom. */

body {
  margin: 0px;
  padding: 0px;
}

html {
  font-size: 100%;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
  -ms-text-size-adjust: 100%;
  /* 2 */
}

html,
html a {
  -webkit-font-smoothing: antialiased;
  text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.004);
}


/* * Addresses `font-family` inconsistency between `textarea` and other form
* elements. */

html,
button,
input,
select,
textarea {
  font-family: /*"Hiragino Kaku Gothic ProN", */
  Meiryo, sans-serif;
}


/* * Addresses margins handled incorrectly in IE 6/7. */

body {
   /* font-family: "Hiragino Kaku Gothic ProN",
  Meiryo, sans-serif; */
  font-family: "Noto Sans JP", sans-serif;
  background-image: url(../img/aoym-bdy-bg-35.png);
  /* color: #69483b;*/
}

@media screen and (max-width: 768px) {
  html {
    overflow: auto;
  }
  body {
    width: 100%;
    overflow-x: hidden;
  }
}

.sp_footer ul {
  padding-left: 0;
}

.sp_footer li {
  display: inline;
}

.sp_footer a {
  color: #333333;
}


/* ==========================================================================
Links
========================================================================== */


/* * Addresses `outline` inconsistency between Chrome and other browsers. */

a:focus {
  outline: thin dotted;
}


/* * Improves readability when focused and also mouse hovered in all browsers. */

a:active,
a:hover {
  outline: 0;
}


/* ==========================================================================
Typography
========================================================================== */


/* * Addresses font sizes and margins set differently in IE 6/7.
* Addresses font sizes within `section` and `article` in Firefox 4+, Safari 5, * and Chrome. */

h1 {
  font-size: 40px;
  margin: 0.67em 0;
  color: #333333;
}

h2 {
  font-size: 1.5em;
  margin: 0.83em 0;
}

h3 {
  font-size: 1.17em;
  margin: 1em 0;
}

h4 {
  font-size: 1em;
  margin: 1.33em 0;
}

h5 {
  font-size: 0.83em;
  margin: 1.67em 0;
}

h6 {
  font-size: 0.75em;
  margin: 2.33em 0;
}


/* * Addresses styling not present in IE 7/8/9, Safari 5, and Chrome. */

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


/* * Addresses style set to `bolder` in Firefox 3+, Safari 4/5, and Chrome. */

b,
strong {
  font-weight: bold;
}

blockquote {
  margin: 1em 40px;
}


/* * Addresses styling not present in Safari 5 and Chrome. */

dfn {
  font-style: italic;
}


/* * Addresses styling not present in IE 6/7/8/9. */

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


/* * Addresses margins set differently in IE 6/7. */

p,
pre {
  margin: 1em 0;
}


/* * Corrects font family set oddly in IE 6, Safari 4/5, and Chrome. */

code,
kbd,
pre,
samp {
  font-family: monospace, serif;
  _font-family: 'courier new', monospace;
  font-size: 1em;
}


/* * Improves readability of pre-formatted text in all browsers. */

pre {
  white-space: pre;
  white-space: pre-wrap;
  word-wrap: break-word;
}


/* * Addresses CSS quotes not supported in IE 6/7. */

q {
  quotes: none;
}


/* * Addresses `quotes` property not supported in Safari 4. */

q:before,
q:after {
  content: '';
  content: none;
}

small {
  font-size: 75%;
}


/* * Prevents `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;
}

.p30 {
  padding: 0 30px;
}

.pb50 {
  padding-bottom: 50px;
}

.pb70 {
  padding-bottom: 70px!important;
}

.mb20 {
  margin-bottom: 20px;
}

.mb50 {
  margin-bottom: 50px;
}


/* 画像サイズをimgタグに入れたので、高さを調整する。20201129　大石　*/

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


/* ==========================================================================
Lists
========================================================================== */


/* * Addresses margins set differently in IE 6/7. */

dl,
menu,
ol,
ul {
  /*  margin: 1em 0;*/
}

dd {
  /*  margin: 0 0 0 40px;*/
}


/* * Addresses paddings set differently in IE 6/7. */

menu,
ol,
ul {
  /*  padding: 0 0 0 40px;*/
}


/* * Corrects list images handled incorrectly in IE 7. */

nav ul,
nav ol,
ul {
  list-style: none;
  list-style-image: none;
}


/* ==========================================================================
Embedded content
========================================================================== */


/* * 1. Removes border when inside `a` element in IE 6/7/8/9 and Firefox 3.
* 2. Improves image quality when scaled in IE 7. */

img {
  border: 0;
  /* 1 */
  -ms-interpolation-mode: bicubic;
  /* 2 */
}


/* * Corrects overflow displayed oddly in IE 9. */

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


/* ==========================================================================
Figures
========================================================================== */


/* * Addresses margin not present in IE 6/7/8/9, Safari 5, and Opera 11. */

figure {
  margin: 0;
}


/* ==========================================================================
Forms
========================================================================== */


/* * Corrects margin displayed oddly in IE 6/7. */

form {
  margin: 0;
}


/* * Define consistent border, margin, and padding. */

fieldset {
  border: 1px solid #929292;
  /*#c0c0c0;*/
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}


/* * 1. Corrects color not being inherited in IE 6/7/8/9.
* 2. Corrects text not wrapping in Firefox 3.
* 3. Corrects alignment displayed oddly in IE 6/7. */

legend {
  border: 0;
  /* 1 */
  padding: 0;
  white-space: normal;
  /* 2 */
  *margin-left: -7px;
  /* 3 */
}


/* * 1. Corrects font size not being inherited in all browsers.
* 2. Addresses margins set differently in IE 6/7, Firefox 3+, Safari 5, *    and Chrome.
* 3. Improves appearance and consistency in all browsers. */

button,
input,
select,
textarea {
  font-size: 100%;
  /* 1 */
  margin: 0;
  /* 2 */
  vertical-align: baseline;
  /* 3 */
  *vertical-align: middle;
  /* 3 */
}


/* * Addresses Firefox 3+ setting `line-height` on `input` using ` !important` in
* the UA stylesheet. */

button,
input {
  line-height: normal;
}


/* * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
*    and `video` controls.
* 2. Corrects inability to style clickable `input` types in iOS.
* 3. Improves usability and consistency of cursor style between image-type
*    `input` and others.
* 4. Removes inner spacing in IE 7 without affecting normal text inputs.
*    Known issue:inner spacing remains in IE 6. */

button,
html input[type="button"],

/* 1 */

input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */
  *overflow: visible;
  /* 4 */
}


/* * Re-set default cursor for disabled elements. */

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


/* * 1. Addresses box sizing set to content-box in IE 8/9.
* 2. Removes excess padding in IE 8/9.
* 3. Removes excess padding in IE 7.
*    Known issue:excess padding remains in IE 6. */

input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
  *height: 13px;
  /* 3 */
  *width: 13px;
  /* 3 */
}


/* * 1. Addresses `appearance` set to `searchfield` in Safari 5 and Chrome.
* 2. Addresses `box-sizing` set to `border-box` in Safari 5 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;
}


/* * Removes inner padding and search cancel button in Safari 5 and Chrome
* on OS X. */

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


/* * Removes inner padding and border in Firefox 3+. */

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


/* * 1. Removes default vertical scrollbar in IE 6/7/8/9.
* 2. Improves readability and alignment in all browsers. */

textarea {
  overflow: auto;
  /* 1 */
  vertical-align: top;
  /* 2 */
}


/* ==========================================================================
Tables
========================================================================== */


/* * Remove most spacing between table cells. */

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


/* ==========================================================================
Global Styles
========================================================================== */

a {
  color: #333333;
  -webkit-transition: all 0.5s;
  -moz-transition: all 0.5s;
  -o-transition: all 0.5s;
  transition: all 0.5s;
}

a:hover,
a:focus {
  /* [disabled]color: #50362B; */
  text-decoration: none;
  opacity: 0.6;
}

p {
  color: #3D2323;
  word-spacing: 1px;
  line-height: 2.4;
  font-size: 15px;
  /** 2019/03/25 14pxから変更**/
}

h2 {
  font-size: 15px;
  color: #333333;
  text-transform: uppercase;
  font-weight: bold;
}

#info h2::after {
  content: " ";
  border: solid 2px #dda741;
  display: block;
  width: 35px;
  margin: 6px auto;
}

#info p {
  margin-top: 0;
  margin-bottom: 0;
}


/*
.dark-bg {
  background-image: url(../img/aoym-bdy-bg.png);
}
*/

.light-bg {
  background-color: #fff;
}

.dark-box {
  background: #fbf8f3;
  -webkit-box-shadow: 0px 3px 0px 0px #f0f2f4;
  -moz-box-shadow: 0px 3px 0px 0px #f0f2f4;
  box-shadow: 0px 3px 0px 0px #f0f2f4;
}

.light-box {
  background-color: #fff;
  -webkit-box-shadow: 0px 3px 0px 0px #f0f2f4;
  -moz-box-shadow: 0px 3px 0px 0px #f0f2f4;
  box-shadow: 0px 3px 0px 0px #f0f2f4;
  padding: 20px 0;
  max-width: 300px;
  margin: 0 auto;
}

.light-box a {
  text-decoration: underline;
}

.light-box:hover,
.light-box:focus {
  -webkit-box-shadow: 0px 3px 0px 0px #929292;
  -moz-box-shadow: 0px 3px 0px 0px #55bebb;
  box-shadow: 0px 3px 0px 0px #929292;
}

.box-hover {
  transition: all 500ms ease-in-out;
  -webkit-transition: all 500ms ease-in-out;
  -moz-transition: all 500ms ease-in-out;
  -o-transition: all 500ms ease-in-out;
}

.box-hover:hover,
.box-hover:focus {
  transform: translate(0, -15px);
  -webkit-transform: translate(0, -15px);
  -ms-transform: translate(0, -15px);
}

.wrapper {
  height: 650px;
}

.tensou {
  vertical-align: middle !important;
}

.nopadding {
  padding: 0;
}

.mx_0 {
  margin-right: 0;
  margin-left: 0;
}

.px_0 {
  padding-right: 0;
  padding-left: 0;
}

.mmb50 {
  margin-bottom: -50px;
}

.pt70 {
  padding-top: 70px;
}

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

.explain {
  padding-bottom: 70px;
}

.voice {
  padding-bottom: 20px;
}

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

section .pb30 {
  padding-bottom: 30px;
}

.mb100 {
  margin-bottom: 100px;
}

.inner {
  padding-top: 100px;
}

ul.cho_inner,
.pl0 {
  padding-left: 0;
}

.white {
  color: #333333;
}

.light-box h2 span img {
  margin-bottom: 15px
}


/* flexbox */

.flex {
  display: -webkit-flex;
  display: flex;
}

.f-center {
  -webkit-justify-content: center;
  justify-content: center;
}

.f-middle {
  -webkit-align-items: center;
  align-items: center;
}

.f-bottom {
  -webkit-align-items: flex-end;
  align-items: flex-end;
}

.f-between {
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}

@media screen and (max-width: 640px) {
  .f-between {
    flex-direction: column;
  }
  .f-between {
    -webkit-flex-direction: column;
  }
}

.f-wrap {
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}

.f-end {
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
}

.f-column {
  -webkit-flex-direction: column;
  flex-direction: column;
}

.f-around {
  -webkit-justify-content: space-around;
  justify-content: space-around;
}

.f-reverse {
  -webkit-flex-direction: row-reverse;
  flex-direction: row-reverse;
}

@media screen and (max-width: 768px) {
  .sp-f-column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .sp-f-column>* {
    width: 100%!important;
  }
}


/* ==========================================================================
Hero
========================================================================== */

.hero {
  /*
	background: url('../img/head--bg.png') no-repeat center center;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
*/
  height: 580px;
  /*  background-color: #ffe8f4;#d9c7ba; #d0b2a8 #BC9A8F #cfb5a8 */
  /*	padding-top: 65px;*/
  padding-right: 0;
  /*	padding-bottom: 210px;*/
  padding-left: 0;
  margin-top: -1px;
}

.hero .ttl_inner {
  height: 72.3%;
  margin: 0 auto;
  text-align: center;
}

.hero.topmainvis .ttl_inner {
  margin-top: -20px;
}

@media screen and (max-width: 768px) {
  .hero.topmainvis .ttl_inner {
    margin-top: 5vw;
  }
}

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

.hero .hero_ttl {
  font-size: 18px;
  letter-spacing: 12px;
  margin: 10px;
}

.hero .hero_ttl span {
  color: #a1a9b0;
  display: inline-block;
}


/*
.hero p {
  letter-spacing: 1px;
}
*/

.hero p.sub {
  color: #333333;
  font-weight: bold;
  font-size: 18px;
  margin-bottom: 50px;
  margin-top: 50px;
}

.learn-more-btn {
  padding: 20px 40px;
  border-radius: 5px;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  -o-border-radius: 5px;
  color: #fff;
  text-transform: uppercase;
  letter-spacing: 1px;
  display: inline-block;
  -webkit-box-shadow: 0px 3px 0px 0px #53382D;
  -moz-box-shadow: 0px 3px 0px 0px #309383;
  box-shadow: 0px 3px 0px 0px #53382D;
  margin: 20px 0 0;
  font-weight: bold;
  background-color: #333333;
}

.learn-more-btn:hover,
.learn-more-btn:focus {
  color: #fff;
  background-color: #333333;
}

@media screen and (max-width: 768px) {
  .hero {
    padding: 20px 0;
    height: 350px;
    width: 100%;
  }
  .inner {
    padding-top: 50px;
  }
  .learn-more-btn {
    margin-top: 0;
    padding: 10px 20px;
  }
  .hero img.hero_logo {
    padding-left: 15%;
    padding-right: 15%;
  }
  .hero .sub {
    font-size: 24px;
  }
  .hero .sub .text {
    font-size: 4vmin;
  }
  .hero .container div.row:last-child p {
    margin-bottom: 20px;
  }
  .hero .container div.row:last-child img {
    width: 30%;
  }
}


/* ==========================================================================
Intro
========================================================================== */

.intro {
  /*  background: #FDF5F8;*/
}

.intro p {
  margin-top: 0px;
  margin-right: 0;
  margin-bottom: 0;
  margin-left: 0;
}

h1.arrow {
  font-size: 15px;
  text-transform: uppercase;
  color: #333333;
  letter-spacing: 1px;
  background: url('../img/h1_bg.png') no-repeat center bottom;
  padding-bottom: 30px;
  font-weight: bold;
  line-height: 2em;
}


/* ==========================================================================
Features
========================================================================== */

.features-wrapper,
.team-wrapper {
  margin: 70px 0 0;
}

.shadow {
  text-shadow: rgb(55, 181, 161) 1px 1px, rgb(55, 181, 161) 2px 2px, rgb(55, 181, 161) 3px 3px, rgb(55, 181, 161) 4px 4px, rgb(55, 181, 161) 5px 5px, rgb(55, 181, 161) 6px 6px, rgb(55, 181, 161) 7px 7px, rgb(55, 181, 161) 8px 8px, rgb(55, 181, 161) 9px 9px, rgb(55, 181, 161) 10px 10px, rgb(55, 181, 161) 11px 11px, rgb(55, 181, 161) 12px 12px, rgb(55, 182, 162) 13px 13px, rgb(55, 183, 163) 14px 14px, rgb(56, 184, 164) 15px 15px, rgb(56, 185, 165) 16px 16px, rgb(56, 186, 166) 17px 17px, rgb(57, 187, 167) 18px 18px, rgb(57, 188, 168) 19px 19px, rgb(57, 189, 169) 20px 20px, rgb(58, 191, 170) 21px 21px, rgb(58, 192, 171) 22px 22px, rgb(58, 193, 172) 23px 23px, rgb(59, 194, 173) 24px 24px, rgb(59, 195, 174) 25px 25px, rgb(59, 196, 175) 26px 26px, rgb(60, 197, 176) 27px 27px, rgb(60, 198, 177) 28px 28px, rgb(60, 199, 178) 29px 29px, rgb(46, 67, 134) 30px 30px;
}

.icon {
  height: 175px;
  width: 175px;
  line-height: 175px;
  max-width: 100%;
  background: #55bebb;
  border-radius: 50%;
  -o-border-radius: 50%;
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
  display: block;
  color: #fff;
  font-size: 55px;
  text-align: center;
  vertical-align: middle;
  position: relative;
  margin: 0 auto 50px;
}


/* ==========================================================================
iPhone Section
========================================================================== */

.iphone {
  width: 50%;
  background: #fbf8f3;
  float: left;
  height: 100%;
  box-shadow: inset -15px -11px 40px -6px rgba(0, 0, 0, 0.1);
  -moz-box-shadow: inset -15px -11px 40px -6px rgba(0, 0, 0, 0.1);
  -webkit-box-shadow: inset -15px -11px 40px -6px rgba(0, 0, 0, 0.1);
  z-index: 1;
}

.fluid-white {
  width: 50%;
  background: #fff;
  float: right;
  height: 100%;
  z-index: 2;
}

.responsive-services {
  position: relative;
}


/* ==========================================================================
Swag
========================================================================== */

.swag {
  background: url(../img/aoym--bg-01.png) no-repeat center center;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
  /*	background-attachment: fixed;*/
  padding: 50px 0;
}


/*
.swag h1 {
  color: #333333;
  font-size: 40px;
  text-transform: uppercase;
  letter-spacing: 2px;
  max-height: 79.2px;
}

.swag h1 span {
  display: block;
  font-size: 14px;
  margin-top: 20px;
  min-height: 15.2px;
}
*/

p.kv_ttl {
  color: #333333;
  font-size: 40px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 2px;
  max-height: 79.2px;
  text-shadow: 0 0 10px #fff;
  margin: 0.67em 0;
  line-height: 1;
}

p.kv_ttl span {
  display: block;
  font-size: 14px;
  margin-top: 20px;
  min-height: 15.2px;
}

@media screen and (max-width: 768px) {
  p.kv_ttl {
    font-size: 22px;
  }
  p.kv_ttl span {
    font-size: 15px;
  }
}

.swag2 {
  background: url(../img/aoym--bg-01.png) no-repeat center center;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
  background-color: #fff;
  /*	background-attachment: fixed;*/
  padding: 50px 0;
}

.swag3 {
  background: url(../img/aoym--bg-01.png) no-repeat center center;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
  /*	background-attachment: fixed;*/
  padding: 50px 0;
}

.swag4 {
  background: url(../img/aoym--bg-01.png) no-repeat center center;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
  /*background-attachment: fixed;*/
  padding: 50px 0;
}

.swag5 {
  background: url(../img/aoym--bg-01.png) no-repeat center center;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
  /*background-attachment: fixed;*/
  padding: 50px 0;
}

.down-arrow-btn {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
  -o-border-radius: 50%;
  background: rgba(46, 67, 134, 0.8);
  display: inline-block;
  margin: 10px auto 20px;
  color: #fff;
  font-size: 16px;
  line-height: 40px;
  text-align: center;
}

.down-arrow-btn:hover,
.down-arrow-btn:focus {
  color: #fff;
  background: rgba(46, 67, 134, 1);
}


/* ==========================================================================
Portfolio
========================================================================== */

.effects {
  padding-left: 15px;
}

.effects .img {
  position: relative;
  margin-bottom: 50px;
  position: relative;
  z-index: 1;
  overflow: hidden;
}

.effects .img:nth-child(n) {
  margin-right: 5px;
}

.effects .img:first-child {
  margin-left: -15px;
}

.effects .img:last-child {
  margin-right: 0;
}

.effects .img img {
  display: block;
  margin: 0;
  padding: 0;
  height: auto;
}

.overlay {
  display: block;
  position: absolute;
  z-index: 20;
  background: rgba(100, 194, 158, 0.8);
  overflow: hidden;
  transition: all 0.5s;
  -webkit-transition: all 0.5s;
  -moz-transition: all 0.5s;
  -o-transition: all 0.5s;
}

a.close-overlay {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 100;
  width: 45px;
  height: 45px;
  font-size: 20px;
  font-weight: 700;
  color: #fff;
  line-height: 45px;
  text-align: center;
  background-color: #000;
  cursor: pointer;
}

a.close-overlay.hidden {
  display: none;
}

a.expand {
  display: block;
  position: absolute;
  z-index: 100;
  text-align: center;
  color: #fff;
  font-weight: 600;
  font-size: 14px;
  text-transform: uppercase;
  line-height: 30px;
}

.overlay-effect .img i {
  font-size: 30px;
}

.overlay-effect .overlay {
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
}

.overlay-effect .overlay a.expand {
  left: 0;
  right: 0;
  bottom: 47%;
  margin: 0 auto -30px auto;
}

.overlay-effect .img.hover .overlay {
  height: 100%;
  opacity: 1;
}

.img img {
  width: -webkit-calc(100% + 40px) !important;
  width: calc(100% + 40px) !important;
  -webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
  transition: opacity 0.35s, transform 0.35s;
  -moz-transition: opacity 0.35s, -moz-transform 0.35s;
  -o-transition: opacity 0.35s, -o-transform 0.35s;
  -webkit-transform: translate3d(-40px, 0, 0);
  transform: translate3d(-40px, 0, 0);
  -ms-transform: translate3d(-40px, 0, 0);
}

.img:hover img {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(-40px, 0, 0);
}

.designs {
  position: absolute;
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
  top: 50px;
}


/* ==========================================================================
Subscribe
========================================================================== */

.subscribe {
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
  background-attachment: fixed;
  padding: 60px 0 140px;
}

@media screen and (max-width:460px) {
  .subscribe {
    padding-bottom: 50px;
  }
}

.subscribe h1 {
  color: #fff;
  margin-bottom: 40px;
}

.subscribe h1 span {
  display: block;
  font-size: 14px;
  text-transform: uppercase;
  font-weight: bold;
  margin-top: 20px;
  letter-spacing: 1px;
}

.subscribe input[type=text] {
  background-color: #55bebb;
  border: solid 1px #fff;
  padding: 20px;
  width: 30%;
  color: #fff;
}

.subscribe input[type=submit] {
  border: solid 1px #dc0f38;
  text-transform: uppercase;
  transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -webkit-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  background: #e94666;
  padding: 20px 40px;
  border-radius: 5px;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  -o-border-radius: 5px;
  color: #fff;
  text-transform: uppercase;
  letter-spacing: 1px;
  display: inline-block;
  -webkit-box-shadow: 0px 3px 0px 0px #179d99;
  -moz-box-shadow: 0px 3px 0px 0px #dc0f38;
  box-shadow: 0px 3px 0px 0px #dc0f38;
  margin: 30px 0 0;
  font-weight: bold;
  text-shadow: 0px 2px 0px #FFF;
  font-size: 18px;
}

.subscribe input[type=submit]:hover {
  color: #fff;
  background-color: #dc0f38;
}

@media screen and (max-width: 768px) {
  .subscribe input[type=submit] {
    width: 60% !important;
    margin-top: 0;
    padding: 10px 0;
    font-size: 14px;
  }
  .btn-submit input {
    max-width: 100% !important;
    width: 60% !important;
  }
}

.subscribe02 {
  border: 1px solid #6A486A;
  color: #fff;
  text-transform: uppercase;
  letter-spacing: 1px;
  transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -webkit-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  background-color: #333333;
  padding-top: 8px;
  padding-right: 20px;
  padding-bottom: 8px;
  padding-left: 20px;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
  background-attachment: fixed;
  width: 60%;
  margin: 30px auto 0;
}

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

.subscribe02:hover {
  border: 1px solid #929292;
  color: #fff;
  background-color: #333333;
}


/* ==========================================================================
CTA
========================================================================== */

.ignite-cta {
  background-color: #242830;
  padding: 70px 0;
}

.ignite-btn {
  display: inline-block;
  padding: 25px 40px;
  color: #fff;
  border: solid 1px #fff;
  text-transform: uppercase;
  font-weight: bold;
  letter-spacing: 1px;
}

.ignite-btn:hover,
.ignite-btn:focus {
  color: #55bebb;
  border: solid 1px #55bebb;
}


/* ==========================================================================
Team
========================================================================== */


/*

.team img {
  margin-bottom: 40px;
}

ul.social-buttons {
  list-style: none;
  margin: 0;
  padding: 0;
}

ul.social-buttons li {
  display: inline-block;
  margin-right: 10px;
}

ul.social-buttons li:last-child {
  margin-right: 0;
}

.social-btn {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
  -o-border-radius: 50%;
  background: #242830;
  display: inline-block;
  color: #fff;
  font-size: 17px;
  line-height: 40px;
  text-align: center;
}

.social-btn:hover,
.social-btn:focus {
  background: #55bebb;
  color: #fff;
}

.social {
  margin-top: 25px
}
*/


/* ==========================================================================
Contact
========================================================================== */

.up-btn {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
  -o-border-radius: 50%;
  /* [disabled]background: #929292; */
  display: block;
  margin: 0 auto;
  color: #fff;
  font-size: 18px;
  line-height: 46px;
  text-align: center;
  position: absolute;
  top: -26px;
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
}

.up-btn:hover,
up-btn:focus {
  color: #fff;
  opacity: 0.6;
}

.contact-details {
  margin-top: 0px;
  margin-right: 0;
  margin-bottom: 0px;
  margin-left: 0;
}

.contact-details h2 {
  font-size: 20px;
}

.contact-details h2 span {
  display: block;
  color: #dda741;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-size: 14px;
  margin-top: 18px;
}

.contact-wrap {
  position: relative;
}

.view-sp-pl {
  margin: 0;
  margin-left: 15px;
}



ul.legals {
  list-style: none;
  color: #333333;
  line-height: 25px;
}

ul.legals li {
  display: inline-block;
}

ul.legals li::after {
  content: " |";
}

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

.legals {
  text-align: left;
}

.credit {
  text-align: right;
}


/* ==========================================================================
FlexSlider Custom CSS
========================================================================== */

#servicesSlider {
  margin-top: 70px;
}

ul.slides li {
  margin-bottom: 20px;
}


/* ==========================================================================
Waypoints
========================================================================== */

.wp1,
.wp2,
.wp3,
.wp4,
.wp5,
.wp6 {
  visibility: hidden;
}

.bounceInLeft,
.bounceInRight,
.fadeInUp,
.fadeInUpDelay,
.fadeInDown,
.fadeInUpD,
.fadeInLeft,
.fadeInRight {
  visibility: visible;
}

.delay-05s {
  animation-delay: 0.5s;
  -webkit-animation-delay: 0.5s;
}

.delay-1s {
  animation-delay: 1s;
  -webkit-animation-delay: 1s;
}

.wp3 {
  background: url('../img/iphone-bg.png') no-repeat center center;
  background-position: 200px 10px;
  height: 100%;
}


/* 問い合わせ */

.tbl-contact {
  width: 100%;
  margin-bottom: 40px;
  border-collapse: separate;
  border-spacing: 2px;
}

.tbl-contact input[type=text],
.tbl-contact input[type=email],
.tbl-contact textarea {
  padding: 10px;
  background-color: #FFFFFF;
  width: 100% !important;
  color: #333333;
  box-shadow: 0px 0px 5px #CCC inset;
  border: solid 1px #CCC;
}

.tbl-contact textarea {
  height: 160px !important;
}

.tbl-contact th {
  padding: 10px;
  background-color: #EFEFEF;
}

.tbl-contact td {
  padding: 10px;
  background-color: #FFF;
}

.contact-btn input[type=submit],
.contact-btn input[type=submit]:hover {
  color: transparent;
}

.tbl-contact th span {
  padding: 2px 5px;
  margin-left: 5px;
  background-color: #e94666;
  color: #FFFFFF;
  font-size: 12px;
}

.contact-thanks-link a {
  color: #333333;
  text-decoration: underline;
  font-weight: 700;
}

@media screen and (max-width: 768px) {
  .tbl-contact th,
  .tbl-contact td {
    display: block;
    padding: 5px 10px;
  }
  .tbl-contact th p {
    margin: 0 !important;
  }
}

.view-sp {
  display: none;
}

.view-sp-flex {
  display: none;
}


/*.bana-lst > li { margin-bottom: 20px; }*/

.bana-lst {
  width: 90%;
  margin: 50px auto;
  padding: 0;
  list-style: none;
}

.bana-lst img {
  max-width: 90%;
  margin-bottom: 0;
}


/* 共通ヘッダー */


/*

.block-cmn-head {
  background-color: #e1ebfa;
}
*/


/*
.block-inner{

  height:52px !important;

}
*/

.block-cmn-head .block-inner {
  max-width: 1000px;
  height: 41px;
  margin: 0 auto;
  /*	padding: 0px 10px;*/
}

.block-cmn-logo {
  padding: 8px 0;
  margin-bottom: 1px;
}

.block-cmn-logo .txt {
  margin-left: 20px;
}

.block-cmn-logo .txt h1 {
  font-size: 12px;
  color: #333333;
}

.lst-cmn-nav {
  list-style: none;
  margin: 5px 0;
  padding-left: 0;
}

.lst-cmn-nav li {
  padding: 0 10px;
  border-right: 1px solid #929292;
  font-size: 12px;
}

.lst-cmn-nav li:last-of-type {
  border-right: none;
  padding-right: 0;
}

.lst-cmn-nav li a {
  color: #333333;
}

.block-cmn-logo .txt p,
.block-cmn-head h1 {
  margin: 0;
}

@media screen and (max-width: 768px) {
  .block-cmn-head .block-inner {
    height: auto;
  }
  .block-cmn-head .block-inner.flex.f-between.f-middle {
    -webkit-flex-direction: column;
    flex-direction: column;
  }
  .lst-cmn-nav {
    display: none;
  }
  .block-cmn-logo {
    padding: 11px 0 11px 5px;
    margin-right: auto;
  }
  .fig-logo img {
    width: 70%;
  }
}

footer .container {
  width: 90%;
  max-width: 970px;
}

@media screen and (max-width: 640px) {
  footer .lft {
    width: 100%;
  }
  footer .rit {
    width: 100%;
  }
}

footer .logo {
  margin-bottom: 28px;
  padding: 10px 0;
}


/*footer .rit .logo img{
	width: 154px;
}*/


.lst-foot-nav {
  width: 230px;
  list-style: none;
  padding-left: 0;
  margin: 0;
}

@media screen and (max-width: 640px) {
  .lst-foot-nav {
    width: 50%;
  }
}

.lst-foot-nav li {
  margin-bottom: 6px;
}

.lst-foot-nav li a {
  color: #333333;
}

@media screen and (max-width: 768px) {
  footer .container {
    width: 100%;
  }
  footer .flex.f-between.f-middle {
    -webkit-flex-direction: column;
    flex-direction: column;
  }
  footer .lft,
  footer .rit {
    width: 100%;
  }
  .lst-foot-nav {
    width: 50%;
  }
}

.lst-cnts18 {
  max-width: 920px;
  margin: 35px auto 0 auto;
  padding-left: 0;
  list-style: none;
  margin: 0 auto;
}

.lst-cnts18 li {
  margin-bottom: 3px;
  position: relative;
}

.lst-cnts18 li p {
  margin: 0 !important;
  ;
}

.block-cnts18-q {
  background-color: #F5EEEF;
}

.txt-cnts18-q {
  width: 45px;
  padding: 10px 0;
  background-color: #fff;
  color: #333333;
  font-size: 20px;
  text-align: center;
  font-weight: bold;
}

.txt-cnts18-open {
  width: 50px;
  position: absolute;
  right: 0;
}

.block-cnts18-a {
  display: none;
  margin-bottom: 20px;
  padding: 20px 20px 20px 70px;
}

.block-cnts18-a .lead {
  font-size: 14px;
  text-align: left !important;
}

.txt-cnts18 {
  /*  width: 800px;*/
  padding-left: 25px;
  font-weight: bold;
  text-align: left;
  font-size: 14px;
  color: #666666;
}

.txt-cnts18-open {
  width: 50px;
}

.tbl-company table {
  width: 100%;
  margin-top: 0;
  margin-right: auto;
  margin-left: auto;
  margin-bottom: 0;
}

.tbl-company th {
  background-color: #EADCF3;
  padding: 18px 20px;
  font-weight: normal;
  color: #333333;
  border-bottom: 2px solid #FFFFFF;
  line-height: 160%;
}

.tbl-company td {
  background-color: #FFFDDB;
  padding: 18px 20px;
  text-align: left;
  color: #333333;
  border-bottom: 2px solid #FFFFFF;
  line-height: 200%;
}

.block-pagetop div {
  position: fixed;
  bottom: 50px;
  right: 50px;
}

@media screen and (max-width: 640px) {
  .block-pagetop div {
    position: fixed;
    bottom: 10px;
    right: 10px;
  }
}

@media screen and (max-width: 640px) {
  #cnts18 {
    padding-left: 10px;
    padding-right: 10px;
  }
  .lst-cnts18 {
    width: 100%;
    padding-left: 0;
  }
  .txt-cnts18-q {
    width: 10%;
  }
  .txt-cnts18 {
    width: 75%;
    padding: 5px 0;
  }
  .txt-cnts18-open {
    width: 6%;
    padding-right: 5px;
  }
  .block-cnts18-02.block-960.flex.f-between.f-middle {
    -webkit-flex-direction: column;
    flex-direction: column;
  }
  .block-cnts18-02.block-960.flex.f-between.f-middle>* {
    width: 100%;
  }
  .fig-cnts18 {
    text-align: center;
  }
  .fig-cnts18 img {
    transform: rotate(90deg);
  }
  .lst-cnts18-02 li,
  .lead-cnts18 {
    font-size: 16px;
  }
  .txt-cnts18-q {
    -webkit-align-self: stretch;
    align-self: stretch;
  }
  .form table th,
  .form table td {
    display: block;
    width: 100%;
    border: none;
  }
  .form table th {
    padding-left: 0;
  }
  .form table td {
    padding: 0;
    margin-bottom: 10px;
  }
  .form td input.input01,
  .form td textarea {
    width: 100% !important;
  }
  .mfp_element_all {
    max-width: 100% !important;
  }
  .subscribe input[type=button],
  .subscribe input[type=submit] {
    padding: 10px 40px;
  }
  .tbl-company table {
    width: 100%;
  }
  .tbl-company th,
  .tbl-company td {
    display: block;
    width: 100%;
    padding: 10px;
  }
  .privacy .container .rule table tr .rule-table-th {
    width: 100%;
  }
}

.lst-price-img {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  width: 780px;
  margin: 0 auto;
  list-style: none;
  padding-left: 0;
}

@media screen and (max-width: 768px) {
  .view-pc {
    display: none;
  }
  img.sp_img {
    max-width: 70%;
  }
  .lst-price-img {
    -webkit-flex-direction: column;
    flex-direction: column;
    width: 100%;
  }
}


/*** パンくず ***/

.bread {
  width: 100%;
  background-color: #EADCF3;
}

.bread .cho_inner {
  padding: 8px 0;
}


/*
.lst-bread{
  padding: 8px 0;
}
*/

.lst-bread {
  list-style: none;
  margin: 0;
  padding: 0;
}

.lst-bread li {
  margin-right: 5px;
  color: #333333;
  font-size: 11px;
}

.lst-bread li a {
  color: #333333;
  text-decoration: underline;
}

.lst-bread.cho_inner {
  padding: 8px 0;
}


/*
.under-cnts {
}

.under-cnts-wrap > * {
  max-width: 970px;
}
*/


/*

.txt-cnt {
  text-align: center;
}
*/

.subscribe.contact {
  padding-bottom: 50px;
  padding-top: 30px;
}

.pr-lead {
  margin-bottom: 65px;
  color: #666666;
}

@media screen and (max-width: 768px) {
  /*
  .under-cnts-wrap {
    margin-bottom: 50px;
  }
*/
  .section-padding {
    padding-top: 30px!important;
  }
}


/* サポーター紹介 */

.supporter-wrap h2::after {
  border-color: #DE3E77;
}

.supporter-wrap .contact-details h2 strong {
  margin-top: 18px;
  display: block;
  font-size: 14px;
  font-weight: normal;
}

.supporter-wrap .contact-details h2 span {
  margin-top: 10px;
  color: initial;
  font-weight: bold;
}

@media screen and (max-width: 768px) {
  .foot-link .col-md-4 .light-box {
    padding: 5px 30px !important;
  }
  .foot-link .contact-details h2 span {
    margin-top: 15px;
  }
  .foot-link .contact-details h2::after {
    margin: 15px auto;
  }
}


/*********サイト改修ここから**********/

footer .rit .logo img {
  width: 210px;
  height: 77px;
}

@media screen and (max-width:460px) {
  .block-cmn-logo .txt p {
    font-size: 12px;
  }
  #concept.intro.text-center.section-padding {
    padding-top: 30px;
  }
  .swag h1 span {
    margin-top: 10px;
  }
  .dark-bg.text-center.section-padding {
    padding-top: 35px;
  }
  .lst-cnts18 .block-cnts18-q.f-between {
    -webkit-flex-direction: row;
    flex-direction: row;
  }
  .container.pb70 {
    padding-bottom: 0;
  }
  footer .rit .logo {
    text-align: center;
  }
  footer .rit .logo img {
    width: 50%;
    height: auto;
  }
  footer .copy {
    font-size: 10px;
    text-align: center;
  }
}

@media screen and (max-width:480px) {
  .container.pb70 {
    padding-bottom: 0;
  }
}

#customersvoice .block-supporter {
  border-bottom: 2px solid #929292;
  padding-bottom: 1em;
  line-height: 2em;
  min-height: 133px;
  overflow: hidden;
}

#customersvoice .block-supporter:first-child {
  border-top: 2px solid #929292;
}

#howto .headline-howto a {
  text-decoration: underline;
}

#customersvoice .block-supporter {
  padding-top: 1em;
}


/**** patination ***/

#customersvoice .pagination a,
#pager .pagination a {
  margin-left: 10px;
  color: #333333;
  background-color: #fff;
  border: 1px solid #929292;
}

#customersvoice .pagination li.active a,
#customersvoice .pagination a:hover,
#pager .pagination li.active a,
#pager .pagination a:hover {
  color: #fff;
  background-color: #333333;
}

.btn_voice_dtl {
  color: #DE3E77;
  line-height: 225%;
}


/* 青山 > コンテンツ背景 */

.aoym-bdy {
  background: #FDF5F8;
}

.bkrgba h3 {
  text-align: center;
  font-size: 4vmin;
  padding: 20px;
  margin: 0;
  color: #333333;
}

.bkrgba h3.no_img,
.bkrgba h3.no_right {
  font-size: 3vmin;
  text-align: left;
}

@media screen and (max-width:460px) {
  .bkrgba h3.no_img,
  .bkrgba h3.no_right {
    font-size: 6vmin;
    text-align: center;
  }
}


/* 青山 > コンテンツ内径 */

.aoym-area {
  max-width: 940px;
  margin: 0 auto;
  display: flex;
  padding-bottom: 20px;
}

.dkym-text {
  flex: 1 1 60%;
  padding: 3%;
}

.aoym-text {
  padding-right: 10px;
  padding-left: 0;
}

@media screen and (max-width:460px) {
  .aoym-area {
    flex-direction: column;
  }
  .dkym-text {
    order: 2;
  }
  .aoym-text {
    order: 2;
  }
  .aoym-img {
    order: 1;
    margin: 0 auto;
  }
}


/*ショコラの特徴*/

.characteristic {
  display: flex;
}

.characteristic-left {
  flex: 1 1 50%;
  padding: 3% 3% 3% 90px;
}

.characteristic-left h3 {
  position: relative;
}

.characteristic-right {
  flex: 1 1 50%;
  padding: 3%;
  order: 2;
}

.characteristic-left h3.no_img:before {
  content: url(../img/dkym--cake.png);
  position: absolute;
  left: -25%;
}

.characteristic-right h3.no_right {
  display: inline-block;
}

.characteristic-right span:before {
  content: url(../img/dkym--cake.png);
  position: relative;
  left: 10px;
}

@media screen and (max-width:460px) {
  .characteristic-left h3.no_img:before {
    content: "";
  }
  .characteristic-right span:before {
    content: "";
  }
  .characteristic-right h3.no_right {
    display: block;
  }
}

.characteristic-img {
  flex: 1 1 50%;
  padding: 3%;
}

.characteristic-img img {
  width: 100%;
  border-radius: 50px;
}

@media screen and (max-width: 768px) {
  .bkrgba h3 {
    font-size: 18px;
  }
  .bkrgba p {
    padding: 0 10px;
  }
  .bkrgba .aoym-area {
    flex-direction: column;
  }
  .bkrgba .aoym-area .dkym-text {
    order: 2;
  }
  .bkrgba .aoym-area .aoym-img {
    order: 1;
  }
  .characteristic-left {
    padding: 3%;
    order: 2;
  }
  .characteristic-right {
    order: 2;
  }
  .characteristic-img {
    order: 1;
  }
}


/*オーナー募集*/

.owner .container,
#voice .container {
  margin-bottom: 50px;
}

#voice h1 {
  background: #929292;
  color: #FFF;
  font-size: 20px;
  padding: 15px;
  margin: 50px 0 0;
}

.owner h2 {
  font-size: 26px;
  font-weight: bold;
  line-height: 1.5;
  margin-top: 0;
  color: #69483b;
  border-bottom: 2px solid #929292;
}

.owner h3 {
  font-size: 1.375em;
  font-weight: bold;
  color: #333333;
  width: 100%;
  line-height: 2.4;
}

.owner_point {
  background-image: url(../img/pint--img05.png), url(../img/eqip--img01.png);
  background-repeat: no-repeat;
  background-position: 80% 40%, 70% 80%;
}

.owner_faq dt {
  background: #929292;
  /* 「Q」タイトルの背景色 */
  color: #fff;
  /* 「Q」タイトルの文字色 */
  padding: 8px;
  border-radius: 2px;
}

.owner_faq dt:before {
  content: "Q.";
  font-weight: bold;
  margin-right: 8px;
}

.owner_faq dd {
  background-color: #fff;
  margin: 24px 16px 40px 32px;
  line-height: 140%;
  text-indent: -24px;
}

.owner_faq dd:before {
  content: "A.";
  font-weight: bold;
  margin-right: 8px;
}

@media screen and (max-width: 768px) {
  .owner h2 {
    font-size: 18px;
  }
  .owner p.text-center {
    text-align: left;
  }
  .owner_point {
    background-image: none;
  }
}


/*ご利用者の声*/

#voice p {
  border-bottom: 1px solid #929292;
  padding: 30px 30px;
  line-height: 2.5em;
}

#voice p:first-of-type {
  content: " ";
  border-top: 1px solid #929292;
  margin-top: 50px;
}


/*お役立ち情報*/

#howto_archive .archive_content {
  display: flex;
  align-items: flex-end;
  border-bottom: 1px solid #929292;
  padding: 20px 10px;
}

@media screen and (max-width:640px) {
  #howto_archive .archive_content {
    flex-direction: column;
    align-items: stretch;
  }
  img.archive_thumb {}
}

#howto_archive .archive_first {
  border-top: 1px solid #929292;
}

#howto_archive .archive_content img.archive_thumb {
  width: 160px;
  height: 110px;
  margin-right: 20px;
}

#howto_archive .archive_content .archive_title h2,
p {
  font-size: 14px;
}

#howto_archive .archive_content .archive_title h2::after {
  content: none;
}

#howto_archive .archive_content .archive_title p {
  margin-bottom: 10px;
}

#howto_archive .archive_content .archive_thumb {
  display: flex;
  align-items: center;
}

#howto_archive .archive_content .archive_thumb img {
  width: 50px;
}

#howto_archive .archive_content .archive_thumb p,
.archive_date p {
  font-size: 10px;
}

#howto_archive .archive_content .archive_date {
  margin-left: auto;
}

#archive_list ul {
  list-style: none;
  display: flex;
  justify-content: center;
  margin: 30px 0 50px;
}

#archive_list ul li {
  margin-bottom: 20px;
}

#archive_list ul li a {
  border: 1px solid #929292;
  padding: 0.5em 0.8em;
  margin: 2px;
}

#archive_list ul li a:hover {
  background: #929292;
  color: #FFF;
}

#howto_archive .archive_content #howto_thumb {
  display: flex;
  align-items: center;
}

#howto_archive .archive_content #howto_thumb img {
  padding: 0 10px;
  width: 90px;
}

#howto_archive .archive_content #howto_thumb p {
  margin: 0;
}


/*よくあるご質問*/

.lst-cnts18 a:hover {
  cursor: pointer;
  opacity: 0.6;
}


/*サイトマップ*/

#sitemap a {
  text-decoration: underline;
}

#sitemap ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

#sitemap ul li {
  margin: 0 0 0 30px;
  padding: 15px 0;
}

#sitemap .sitemap_child {
  display: flex;
}

h3.bule_bg_ttl {
  width: 100%;
  background-color: #e1ebfa;
  padding: 1em;
  margin: 0 0 30px;
}

@media screen and (max-width:640px) {
  #sitemap .sitemap_child {
    flex-direction: column;
  }
}

#sitemap .sitemap_child li {
  margin: 0 50px 0 0;
}


/* オフィシャル改修 ================================================================ */


/* トップページ コンテンツ */

.top-cnts-wrap a {
  display: block;
  cursor: pointer;
}


/* トップページ 私たちのコンセプト */

.headline-ourconcept {
  margin: 15px 0 0 0;
  font-size: 40px;
  color: #333333;
  font-weight: 300;
  line-height: 140%;
}

.headline-ourconcept:after {
  content: none;
}

.block-ourconcept-intro {
  max-width: 930px;
  margin: 55px auto 118px;
}

.block-ourconcept-intro>.txt {
  width: 490px;
}

.block-ourconcept-intro>.txt p,

/*.block-ourconcept-detail .txt p,*/

.cho_inner .txt p {
  margin: 0 0 1em 0;
  text-align: left;
  font-size: 15px;
  line-height: 2.4;
}

.block-ourconcept-intro>.ph {
  width: 366px;
}


/*
.block-ourconcept-detail {
  max-width: 1080px;
  margin: 0 auto 50px;
}
*/

.detail01 .txt,
.detail03 .txt {
  width: 500px;
}

.detail02 .txt {
  width: 480px;
}

.detail01 .txt .num,
.detail03 .txt .num {
  width: 96px;
}

.detail02 .txt .num {
  width: 114px;
}

.detail01 .txt .lead,
.detail03 .txt .lead {
  width: 400px;
  margin-bottom: 0;
  text-align: left;
}

.detail01 .txt p,
.detail03 .txt p {
  padding-left: 100px;
}

.detail03 .txt .lead {
  width: 366px;
  margin-bottom: 0;
}

.detail01 .ph {
  padding-top: 44px;
}

.detail02 .ph {
  padding-top: 3px;
}

.detail03 .ph {
  padding-top: 44px;
}

.block-ourconcept-detail .txt h3 {
  margin: 2em 0 20px 0;
  font-size: 30px;
  color: #333333;
  line-height: 130%;
}

.block-ourconcept-detail .ph {
  width: 520px;
}

@media screen and (max-width: 1200px) {
  .block-ourconcept-intro,
  .f-between.detail01,
  .f-between.detail02,
  .f-between.detail03 {
    flex-wrap: nowrap;
  }
  .detail01 .txt,
  .detail03 .txt {
    padding-right: 15px;
  }
  .detail02 .txt {
    padding-left: 15px;
  }
}

@media screen and (max-width: 768px) {
  .headline-ourconcept {
    font-size: 25px;
    padding: 0 15px;
  }
  .block-ourconcept-intro,
  .block-ourconcept-detail {
    width: 85%;
    margin: 30px auto;
    -webkit-flex-direction: column;
    flex-direction: column;
  }
  .block-ourconcept-intro>.txt,
  .block-ourconcept-intro>.ph,
  .detail01 .txt,
  .detail02 .txt,
  .detail03 .txt {
    width: 100%;
  }
  .block-ourconcept-intro>.ph {
    margin-bottom: 30px;
  }
  .block-ourconcept-detail .num {
    width: 25% !important;
    text-align: center;
  }
  .detail01 .txt .lead,
  .detail02 .txt .lead,
  .detail03 .txt .lead {
    width: 74%;
    margin-bottom: 0;
  }
  .block-ourconcept-detail .ph {
    width: 100%;
  }
  .block-ourconcept-detail .txt h3 {
    margin: 5px 0 15px 0;
    font-size: 22px;
    letter-spacing: normal;
  }
  .detail01 .ph,
  .detail02 .ph,
  .detail03 .ph {
    padding-top: 10px;
  }
  .detail01 .txt p,
  .detail03 .txt p {
    padding-left: 0;
  }
}


/* 相互リンク */

.block-txt {
  max-width: 970px;
  margin: 0 auto;
}

.headline-bg {
  padding: 0 20px;
  margin-bottom: 45px;
  background-color: #333333;
  color: #FFFFFF;
  font-size: 25px;
  line-height: 60px;
}

.headline-bg.mt {
  margin-top: 60px;
}

.block-txt p {
  margin-bottom: 1em;
  font-size: 14px;
  line-height: 170%;
}

.block-link {
  display: none;
  margin-top: 60px;
  padding-top: 40px;
  border-top: 2px solid #348987;
}

.block-link ul {
  margin: 0;
  padding-left: 0;
  list-style: none;
}

.block-link a {
  margin-right: 15px;
  font-weight: 700;
  text-decoration: underline;
}

.block-link li {
  margin: 1em 0;
}

.block-pager {
  display: none;
  margin-top: 60px;
}

.block-pager ul {
  margin: 0;
  padding-left: 0;
  list-style: none;
}

.block-pager ul li {
  margin: 0 4px;
}

.block-pager ul li span,
.block-pager ul li a {
  display: block;
  padding: 5px 10px;
  border: 1px solid #929292;
  font-size: 15px;
  line-height: 120%
}

.block-pager ul li span {
  background-color: #333333;
  color: #FFFFFF;
}

.block-pager ul li a {
  color: #348987;
  background-color: #FFFFFF;
}

@media screen and (max-width: 768px) {
  .block-txt {
    width: 100%;
  }
  .headline-bg {
    margin-bottom: 1.5em;
    padding: 0 10px;
    font-size: 20px;
    line-height: 40px;
  }
}


/* サイトマップ */

.block-sitemap {
  width: 700px;
  margin: 0 auto;
}

.block-sitemap ul {
  margin: 0;
  padding-left: 0;
}

.block-sitemap a {
  text-decoration: underline;
}

.block-sitemap p {
  margin: .6em 0;
}

.block-sitemap li.mt {
  margin-top: 35px;
}

.block-sitemap li>p {
  width: 40%;
}

.block-sitemap li>div {
  width: 60%;
}

.block-sitemap li>div p {
  width: 50%;
}

@media screen and (max-width: 768px) {
  .block-sitemap {
    width: 80%;
  }
  .block-sitemap li {
    -webkit-flex-direction: column;
    flex-direction: column;
  }
  .block-sitemap li>p,
  .block-sitemap li>div {
    width: 100%;
  }
  .block-sitemap li>div p {
    width: 100%;
    padding-left: 1em;
  }
}


/* サポーター */

.block-supporter .txt {
  width: 460px;
}

.block-supporter .txt p {
  font-size: 15px;
  line-height: 220%;
}

.headline-bdr {
  margin-bottom: 35px;
  padding-bottom: 12px;
  padding-left: 2px;
  border-bottom: 2px solid #929292;
}

.headline-bdr p {
  margin: 0;
  padding-left: 10px;
  font-size: 22px;
  color: #333333;
  border-left: 5px solid #929292;
  line-height: 22px;
}

.headline-bdr.mt {
  margin-top: 20px;
}

.lead-supporter {
  margin: 0 0 1em 0;
  font-size: 15px !important;
  color: #666666;
  line-height: 230% !important;
}

.lead-supporter:last-of-type {
  margin: 0;
}

.tbl-sup {
  width: 100%;
}

.block-bdr {
  border: 1px solid #929292;
  background-color: #FFFFFF;
}

.block-bdr.mt {
  margin-top: 60px;
}

.block-bdr .headline-bg {
  margin-bottom: 0;
}

.block-bdr .lead-supporter {
  padding: 28px 33px;
}

@media screen and (max-width: 768px) {
  .block-supporter {
    -webkit-flex-direction: column-reverse;
    flex-direction: column-reverse;
  }
  #customersvoice .block-supporter {
    -webkit-flex-direction: column;
    flex-direction: column;
  }
  .block-supporter .txt {
    width: 100%;
    margin-top: 20px;
  }
}

#customer .container .row.customer_card {
  max-width: 890px;
  width: 100%;
  margin: 0 auto;
  padding: 50px;
  border: 1px solid #aaa;
  border-radius: 5px;
  background-color: #F5EEEF;
  overflow: hidden;
}

.customer_img {
  margin: 10px auto;
}

.customer_img img {
  width: 100%;
  max-width: 150px;
  height: auto;
  background-color: #fff;
  border: 1px solid #aaa;
  vertical-align: middle;
}

.profile {
  border-bottom: 1px solid #aaa;
  margin-bottom: 1em;
}

.customer_profile dt,
.customer_profile dd {
  padding: 0 1em;
  font-size: 16px;
  line-height: 250%;
  background-color: #fff;
  border-bottom: 1px solid #aaa;
  margin-bottom: 1em;
}

.customer_profile dt {
  float: left;
  text-align: justify;
  clear: both;
  font-weight: normal;
}

.customer_profile .answer {
  padding: 0.5em 1.5em;
  background-color: #fff;
  margin: 0 0 14px;
}

.question {
  width: 100%;
  padding: 0 1em;
  font-size: 14px;
  line-height: 250%;
  background-color: #e1ebfa;
  margin: 0;
}

.answer {
  padding: 0.5em 1.5em;
  background-color: #fff;
  margin: 3px 0 14px;
}

@media screen and (max-width: 768px) {
  #customer .container .row.customer_card {
    padding: 15px 5%;
  }
  .customer_profile dt,
  .customer_img {
    float: none;
  }
  .customer_img {
    width: 100px;
  }
  .customer_profile dt,
  .customer_profile dd {
    width: 100%;
    font-size: 1em;
  }
  .customer_profile dt {
    margin-bottom: 0;
  }
  .customer_profile dd {
    margin-left: 0;
  }
}


/* プログラム */

.tbl-prg th {
  white-space: nowrap;
  vertical-align: top;
}

.mtt {
  margin-top: 60px;
}

.block-supporter.mt {
  margin-top: 70px;
}


/*
.block-supporter {
margin-bottom: 10%;
}
*/

@media screen and (max-width:460px) {
  .block-supporter {
    margin-bottom: 0;
  }
}


/*
section .container .row > * {
  padding-left: 3px;
}
*/

section .container .row>.block-bdr {
  padding-left: 0;
}

section .container .row>.headline-bg {
  padding-left: 20px;
}

a.bdr {
  text-decoration: underline;
}

a.hovbdr:hover {
  text-decoration: underline;
}

@media screen and (max-width: 768px) {
  section .container .row>.topttl {
    padding-left: 10px;
    padding-right: 10px;
  }
  /*section .container .row > * {
		margin-left: 15px;
	}*/
}


/* お役立ち情報 */

.lst-howto {
  padding-left: 0;
}

.lst-howto>li {
  max-width: 900px;
  padding: 24px 0;
  border-top: 2px solid #CCCCCC;
}

.lst-howto>li:last-of-type {
  border-bottom: 2px solid #CCCCCC;
}

.lst-howto>li>.ph {
  width: 205px;
}

.lst-howto>li>.txt {
  width: 650px;
  padding: 5px 0;
}

.headline-howto {
  margin: 0 0 17px 0;
  font-size: 15px;
  font-weight: bold;
}

.headline-howto a {
  color: #666666;
}

.lead-howto {
  color: #666666;
  font-size: 15px;
}

.lead-howto a {
  color: #666666;
}

#howto .block-prof {
  width: 450px;
}

#howto .block-prof>.ph02 {
  width: 50px;
}

#howto .block-prof>.name {
  color: #666666;
  font-size: 15px;
}

.lst-howto .ft>.date {
  /* [disabled]-webkit-align-self: flex-end; */
  /* [disabled]align-self: flex-end; */
  /* [disabled]width: 120px; */
  padding-right: 15px;
  color: #666666;
  font-size: 12px;
  font-weight: bold;
  text-align: right;
}

#howto .block-pager {
  display: block;
}

.fb_iframe_widget>span {
  vertical-align: baseline !important;
}

.block-hd-howto {
  margin-bottom: 15px;
  padding: 20px 10px;
  border-top: 2px solid #CCCCCC;
  border-bottom: 1px solid #CCCCCC;
}

.block-hd-howto .date {
  color: #666666;
  font-size: 12px;
  font-weight: bold;
}

.headline-detail-howto {
  margin: 25px 0;
  font-size: 30px;
  color: #666666;
  font-weight: bold;
}

.headline-detail-howto span {
  font-size: 18px;
}

.block-sns {
  margin-top: 25px;
}

.block-sns>* {
  margin-right: 5px;
}

.block-bd-howto .ph {
  margin-bottom: 30px;
  width: auto;
  max-height: 425px;
  text-align: center;
  overflow: hidden;
}

.block-bd-howto p {
  margin-bottom: 1.2em;
  font-size: 15px;
  color: #666666;
  line-height: 200%;
}

.block-bd-howto p:last-of-type {
  margin-bottom: 0;
}

@media screen and (max-width:
/*480px*/

995px) {
  .lst-howto>li {
    -webkit-flex-direction: column;
    flex-direction: column;
  }
  .lst-howto>li>.ph {
    width: 205px;
    margin: 0 auto 20px;
    text-align: center;
  }
  .lst-howto>li>.txt {
    width: 100%;
  }
}


/*レスポンシブ*/

@media screen and (max-width:995px) {
  .block-ourconcept-intro {
    width: 85%;
    margin: 30px auto;
    -webkit-flex-direction: column;
    flex-direction: column;
    justify-content: center;
  }
  .block-ourconcept-intro>.txt {
    width: 100%;
  }
  .block-ourconcept-intro>.ph {
    margin: 0 auto;
  }
  /*トップページ,コンセプト*/
  .f-between.detail01,
  .f-between.detail02,
  .f-between.detail03 {
    flex-wrap: wrap;
    justify-content: center;
  }
  .lst-cnts18 {
    width: 100%;
    padding-left: 0;
  }
}

@media screen and (max-width:460px) {
  .headline-detail-howto {
    font-size: 1.17em;
  }
  .headline-detail-howto span {
    font-size: 0.75em;
  }
  .lst-howto>li {
    padding-right: 5%;
    padding-left: 5%;
  }
}

.footer_navi ul {
  list-style: none;
  text-align: left;
}

.footer_navi ul a {
  color: #333333;
  font-size: 12px;
}


/* 青山
---------------------------------------------------------------------------*/

.aoym {
  background: url(../img/aoyama/aoym--bg-01.png) no-repeat;
  background-position: center top;
}


/* 青山 > タイトル */

.aoym-ttl {
  text-align: center;
  margin: 0;
}

.aoym-ttl::after {
  content: none;
}

@media screen and (max-width:640px) {
  .aoym-ttl img {
    width: 90%;
  }
}


/* 青山 > コンテンツ背景 */

.aoym-bdy {
  background: url(../img/aoym-bdy-bg-35.png);
}

.bkrgba {
  height: 100%;
  background: rgba(255, 255, 255, 0.5);
}


/* 青山 > コンテンツ内径 */

.aoym-area {
  max-width: 970px;
  margin: 0 auto;
  padding: 75px 0 74px 0;
}

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


/* 青山 > テキスト */

.aoym-text {
  padding-right: 30px;
  padding-left: 30px;
  padding-bottom: 30px;
}

.aoym-text p,
.txt p,
.news_detail_text p,
.owner_text p {
  font-size: 1em;
  line-height: 225%;
  color: #3D2323;
}

.concept-text,
.intro_text {
  letter-spacing: 1px;
  line-height: 250%;
}

@media screen and (max-width:640px) {
  .top_intro .aoym-text {
    padding-bottom: 70px;
  }
  .aoym-text {
    display: block;
    width: 100%;
    padding-right: 0;
    padding-left: 0;
    margin-bottom: 10px;
    background: url(../img/aoyama/aoym--daunuts.png) no-repeat;
    background-position: center bottom;
  }
  .top_intro .cho_inner {
    background-image: none;
  }
  .concept-text {
    letter-spacing: 1.5px;
  }
}


/* 青山 > 画像 */

.aoym-area .aoym-img {
  width: 40%;
  padding: 1%;
  /*  align-items: center;*/
  overflow: hidden;
}

.aoym-area .aoym-img ul {
  padding: 0;
}

.aoym-area .aoym-img ul li img {
  padding-bottom: 20px;
}

@media screen and (max-width:640px) {
  .aoym-area .aoym-img {
    display: block;
    width: 100%;
    padding-top: 20px;
  }
  .aoym-area .aoym-img ul {
    flex-direction: row;
    padding: 1%;
  }
}


/* 青山 > ページナビ 
.aoym-arrow{
	background: url(../img/aoyama/aoym--ft-02.png) no-repeat;
	background-position: center top;
	text-align: center;

}
@media screen and (max-width:640px){
	.aoym-arrow{
		background: url(../img/aoyama/sp--aoym--ft-02.png) no-repeat;
	}
}
*/


/* お過ごし
---------------------------------------------------------------------------*/

.osgs-mes {
  background: url(../img/aoyama/osgs--bg-h324-1.png) no-repeat;
  background-position: center top;
  height: 324px;
}

@media screen and (max-width:640px) {
  .osgs {
    background: url(../img/aoyama/sp--osgs--bg-02.png) no-repeat;
    background-position: right;
    background-size: cover;
  }
  .osgs-mes {
    padding: 0;
    background: none;
  }
}


/* お過ごし > テキスト */

.osgs-mes h2 {
  /*	height: 200px;*/
  padding-bottom: 35px;
  color: #FFFFFF;
  font-size: 20px;
  line-height: 198%;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0.3em;
  text-shadow: 1px 1px 10px #929292, -1px 1px 10px #929292, -1px -1px 10px #929292, 1px -1px 10px #929292;
}

.osgs-mes.line3 h2 {
  padding-bottom: 55px;
}

.top_page .osgs-mes h2 {
  margin-bottom: 0;
  padding-bottom: 40px;
}

.full_banner .nownairan .btn_contact {
  position: relative;
  bottom: auto;
  left: auto;
  transform: none;
}

@media screen and (max-width:640px) {
  .osgs-mes h2 {
    font-size: 18px;
    padding-left: 5%;
    padding-right: 5%;
  }
  .osgs-mes {
    background: none;
  }
  .full_banner .nownairan h2 {
    margin-top: 0;
  }
}


/* お過ごし > ページナビ
.osgs-arrow{
	background: url(../img/aoyama/osgs--ft-02.png) no-repeat;
	background-position: center top;
	text-align: center;
}

.osgs-arrow-sp{
	display: none;
}
@media screen and (max-width:640px){
	.osgs-arrow{
		background: url(../img/aoyama/sp--osgs--ft-02.png) no-repeat;
		margin-top: -1px;
	}


	.aoym-arrow,
	.osgs,
	.osgs-arrow{ background-position: -150px 0; }

}
*/


/* 設備
---------------------------------------------------------------------------*/

.eqip {
  padding-top: 0;
  /* 40px */
  padding-bottom: 70px;
}


/*
#equip{
 padding-bottom:90px !important;

}
*/

@media screen and (max-width:640px) {
  .eqip {
    padding-top: 0;
    /* 20px; */
    padding-bottom: 20px;
  }
}


/* 設備 > タイトル */

.eqip-ttl {
  padding: 20px 0 0 0;
  text-align: center;
}

@media screen and (max-width:640px) {
  .eqip-ttl {
    padding: 20px 0 20px 0;
  }
  .eqip-ttl img {
    width: 50%;
  }
}


/* 設備 > アイテム */

.eqip-item {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  max-width: 920px;
  padding-bottom: 30px;
  /* 2018.11.27*/
  padding-left: 0;
  margin: 0 auto;
}

.eqip-item li {
  max-width: 25%;
  vertical-align: top;
}

.eqip-item>li.eqip-item04 {
  /*	width: 264px;*/
  /*  margin-left: auto;*/
  margin-right: 0;
}

.eqip-parts {
  max-width: 186px;
  margin: 0 auto;
}

.eqip-img {
  text-align: center;
}

.eqip-subttl {
  /*  padding-top: 30px;*/
  font-size: 16px;
  line-height: 114%;
  text-align: center;
  font-weight: bold;
  color: #69483b;
  margin: 0;
}

.eqip-info {
  padding-top: 0.5em;
  font-size: 14px;
  line-height: 157%;
  margin: 14px 0;
  margin: 0 auto;
}

@media screen and (max-width:640px) {
  .eqip-item {
    display: block;
    width: 95%;
    padding-top: 0;
  }
  .eqip-item>li,
  .eqip-item>li.eqip-item04,
  .eqip-parts {
    display: block;
    max-width: 100%;
  }
  .eqip-subttl {
    padding-top: 0px;
  }
  .eqip-info {
    padding-bottom: 16px;
    width: 14em;
    /**186px;**/
    margin: 0 auto;
    text-align: center;
  }
  .eqip-img.wifi {
    margin-top: 0;
  }
}

@media screen and (max-width:480px) {
  .eqip-info {
    width: 100%;
  }
}


/* 特徴
---------------------------------------------------------------------------*/

.pint {
  background: url(../img/aoyama/pint--bg.png);
  background-position: center top;
}


/* 特徴 > タイトル */

.pint-ttl {
  padding: 50px 0 45px 0;
  text-align: center;
}

@media screen and (max-width:640px) {
  .pint-ttl {
    padding: 20px 0 20px 0;
  }
  .pint-ttl img {
    width: 50%;
  }
}


/* 特徴 > アイテム */

.pint-item {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  max-width: 970px;
  margin: 0 auto;
  padding-left: 0;
}

.pint-item>li {
  padding-bottom: 10px;
}


/*
.pint-item > li.pint-item04 {
  width: 264px;
  margin-left: auto;
  margin-right: 0;
}
*/

.pint-parts {
  width: 220px;
  margin: 0 auto;
}

.pint-img {
  text-align: center;
}

.pint-subttl {
  font-size: 16px;
  line-height: 155.5%;
  /* 114% */
  text-align: center;
  font-weight: bold;
  color: #69483b;
  margin: 0;
}

@media screen and (max-width:640px){
  .point_item .flex{
    flex-direction: column;
  }
}

.point_item .txt {
  padding-right: 30px;
  padding-left: 15px;
}

.point_item:nth-child(2n) .txt {
  padding-left: 30px;
  padding-right: 15px;
}

.point_item.f-reverse .txt .point_item:last-child {
  padding-bottom: 0px;
}

.pint-info {
  padding: 0 12px;
  /*	font-family: 'Noto Sans Japanese', serif;*/
  font-size: 14px;
  line-height: 171.4%;
  /* 157%*/
  /*  letter-spacing: -0.5px;*/
}

.virtual_plan .pint-info {
  text-align: left;
}

.cnc_point .pint-info {
  text-align: center;
}

@media screen and (max-width:640px) {
  .pint-item {
    justify-content: space-around;
    padding: 0;
  }
  .pint-subttl {
    padding-top: 10px;
  }
  .pint-info {
    padding-bottom: 10px;
  }
  .point_item .txt,
  .point_item.f-reverse .txt {
    padding-right: 5%;
    padding-left: 5%;
    margin-bottom:12px;
  }
  .pint-item>li {
    padding-bottom: 14px;
  }
  .pint-img {
    margin-top: 0;
    margin-bottom: 10px;
  }
}


/* 特徴 > ページナビ */

.pint-arrow {
  background: url(../img/aoyama/pint--ft.png) repeat-x;
  background-position: center top;
  text-align: center;
}

.pint-arrow-sp {
  display: none;
}


/* 手ごろな
---------------------------------------------------------------------------*/

.tgrn-mes {
  background: url(../img/tgrn--bg-h324.png) no-repeat;
  background-position: center top;
  height: 324px;
}


/* 手ごろな > テキスト */

.tgrn-mes h2 {
  color: #FFFFFF;
  font-size: 26px;
  line-height: 198%;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0.3em;
  text-shadow: 0 0 10px #1e1e1e
}

@media screen and (max-width:640px) {
  .tgrn {
    background: url(../img/aoyama/sp--tgrn--bg-03.png) no-repeat;
    background-position: center;
    background-size: cover;
  }
  .tgrn-mes h2 {
    font-size: 18px;
  }
  .tgrn-mes {
    background: none;
  }
}


/* 手ごろな > ページナビ 
.tgrn--hd-arrow{
	background: url(../img/aoyama/tgrn--hd-03.png) no-repeat;
	background-position: center top;
	text-align: center;
}
.tgrn-arrow {
    background: url(../img/aoyama/tgrn--bg-ft-03.png) no-repeat;
    background-position: center top;
    text-align: center;
}
@media screen and (max-width:640px){
	.tgrn-arrow{
		background: url(../img/aoyama/sp--tgrn--bg-ft-03.png) no-repeat;
		margin: -1px;
	}
	.tgrn--hd-arrow{
		background: url(../img/aoyama/sp--tgrn--hd-03.png) no-repeat;
	}
	.tgrn-mes{
		padding: 0;
	}
}
*/


/* 料金 > ページナビ */

.prce-arrow {
  background: url(../img/aoyama/prce--ft.png) repeat-x;
  background-position: center top;
  text-align: center;
}

.prce-arrow-top {
  background: url(../img/aoyama/plus/prce--top.png) repeat-x;
  background-position: center top;
  text-align: center;
}

.prce-arrow1 {
  background: url(../img/mess--ft.png) repeat-x;
  background-position: center top;
  text-align: center;
}


/* 料金
---------------------------------------------------------------------------*/

.prce {
  background: url(../img/aoyama/prce--bg.png);
}


/* 料金 > タイトル */

.prce-ttl {
  padding: 68px 0 0 0;
  text-align: center;
}

@media screen and (max-width:640px) {
  .prce-ttl {
    padding: 20px 0 0 0;
  }
  .prce-ttl img {
    width: 25%;
  }
}


/* 料金 > ページナビ */

.rntl-arrow {
  margin-top: 139px;
  /*background: url(../img/aoyama/rntl--ft.png) repeat-x;
	background-position: center top;*/
  text-align: center;
}

@media screen and (max-width:640px) {
  .rntl-arrow {
    margin-top: 20px;
  }
}

.vertial ul {
  width: 920px;
  margin: 0 auto;
  padding-top: 50px;
}

.vertial ul li {
  display: inline-block;
}

.vertial>ul>li {
  float: left;
  width: 33.333%;
}

.vertial-item {
  width: 300px;
  margin: 0 auto;
}

.vertial-info {
  width: 940px;
  margin: 0 auto;
  padding-top: 10px;
  padding-bottom: 15px;
  /*	font-family: 'Noto Sans Japanese', serif;*/
  font-size: 14px;
  line-height: 200%;
}

.vertial-img {
  width: 735px;
  margin: 0 auto;
  padding-top: 30px;
  padding-bottom: 100px;
}

.vertial-img a {
  display: block;
}

@media screen and (max-width: 640px) {
  .vertial {
    width: 95%;
    margin: 0 auto;
    padding-top: 30px;
    padding-bottom: 30px;
  }
  .vertial ul {
    width: 95%;
    padding-top: 0;
  }
  .vertial>ul>li {
    float: none;
    width: 100%;
    padding-top: 20px;
  }
  .vertial .lower {
    padding-top: 0px
  }
  .vertial-info {
    width: 95%;
  }
  .vertial-img {
    width: 90vw;
    text-align: center;
    padding-bottom: 0;
  }
  .vertial-img img {
    width: 100%;
  }
}


/* FAQ
---------------------------------------------------------------------------*/


/* FAQ > タイトル */

.faq_wrap {
  /*  padding: 30px 0 50px;*/
}

.faq-ttl {
  padding: 68px 0 0px 0;
  text-align: center;
  font-family: 'Ubuntu Condensed', sans-serif;
  font-size: 45px;
  color: #69483b;
}

.faq-ttl02 {
  padding: 5px 0 64px 0;
  text-align: center;
  font-size: 16px;
  color: #69483b;
}

.link_line {
  text-decoration: underline;
}

@media screen and (max-width:640px) {
  .faq-ttl {
    padding: 20px 0 0 0;
  }
  .faq-ttl02 {
    padding: 5px 0 20px 0;
  }
}


/* FAQフォーマット */

.txt-cnts18-q {
  width: 45px;
  /*  height: 45px;---20190407sp対応*/
  min-height: 45px;
  padding: 10px 0;
  background-color: #e1ebfa;
  color: #69483b;
  font-size: 14px;
  line-height: 20px;
  text-align: center;
  font-weight: bold;
}

.txt-cnts18-open {
  width: 50px;
}

.block-cnts18-a {
  display: none;
  margin-bottom: 20px;
  padding: 20px;
}

@media screen and (max-width: 640px) {
  .block-cnts18-a {
    margin-bottom: 0;
  }
}

.lead-cnts18 {
  margin-bottom: 1em;
  font-size: 14px;
  font-weight: bold;
  line-height: 140%;
}

.lead-cnts18 strong {
  color: #ED0421;
}

@media screen and (max-width: 640px) {
  #cnts18 {
    padding-left: 10px;
    padding-right: 10px;
  }
  .lst-cnts18 {
    width: 100%;
  }
  .txt-cnts18-q {
    width: 10%;
  }
  .txt-cnts18 {
    width: 80%;
    /*--------------20190407変更*/
    padding: 5px 0 5px 14px;
  }
  .txt-cnts18-open {
    width: 6%;
    padding-right: 5px;
  }
  .block-cnts18-02.block-960.flex.f-between.f-middle {
    -webkit-flex-direction: column;
    flex-direction: column;
  }
  .block-cnts18-02.block-960.flex.f-between.f-middle>* {
    width: 100%;
  }
  .fig-cnts18 {
    text-align: center;
  }
  .fig-cnts18 img {
    transform: rotate(90deg);
  }
  .lst-cnts18-02 li,
  .lead-cnts18 {
    font-size: 16px;
  }
}


/* リード */

.lead {
  font-size: 14px;
  line-height: 160%;
  margin-bottom:4px;
}


/* FAQ > ページナビ */

.faq-arrow {
  margin-top: 100px;
  background: url(../img/aoyama/rntl--ft.png) repeat-x;
  background-position: center top;
  text-align: center;
}

@media screen and (max-width:640px) {
  .faq-arrow {
    margin-top: 20px;
  }
}


/* 問い合わせ
---------------------------------------------------------------------------*/


/* 問い合わせ > タイトル */

.ctct-ttl {
  padding: 59px 0 41px 0;
  text-align: center;
}

@media screen and (max-width:640px) {
  .ctct-ttl {
    padding: 20px 0 20px 0;
  }
  .ctct-ttl img {
    width: 40%;
  }
}


/* 問い合わせ > サブタイトル */

.ctct-subttl {
  font-size: 28px;
  line-height: 107%;
  text-align: center;
}


/* 問い合わせ > リード */

.ctct-lead {
  width: 920px;
  margin: 0 auto;
  font-size: 14px;
  line-height: 200%;
}

.ctct-lead span {
  color: #EB4364;
}

@media screen and (max-width:640px) {
  .ctct-lead {
    width: 95%;
  }
}


/* 問い合わせ > 必要項目 */

.ctct-need {
  width: 920px;
  margin: 20px auto 0 auto;
  padding: 9px 0 13px 0;
  border: 1px solid #69483B;
}

.ctct-need li {
  /*	font-family: 'Noto Sans Japanese', serif;*/
  font-size: 15px;
  line-height: 200%;
}

@media screen and (max-width:640px) {
  .ctct-need {
    width: 95%;
  }
}


/* 問い合わせ > 注意事項 */

.ctct-info {
  width: 920px;
  margin: 0 auto;
  padding-top: 6px;
  /*	font-family: 'Noto Sans Japanese', serif;*/
  font-size: 14px;
  line-height: 200%;
}

@media screen and (max-width:640px) {
  .ctct-info {
    width: 95%;
  }
}


/* 問い合わせ > フォーム */

.ctct-form {
  max-width: 920px;
  margin: 0 auto;
  background: #FFFFFF;
}

.ctct-form2 {
  max-width: 920px;
  margin: 0 auto;
  padding: 23px 26px;
  background: #FFFFFF;
}

.ctct-formtbl {
  width: 100%;
}

.ctct-formtbl th {
  width: 25%;
  min-width: 5em;
  border-bottom: 1px solid #FFFFFF;
  font-size: 15px;
  padding: 16px 0 16px 18px;
  background: #EADCF3;
  text-align: left;
  line-height: 150%;
  font-weight: 500;
}

.page-confirm th {
  padding: 16px 19px 15px 18px;
}

.ctct-formtbl td {
  width: 699px;
  border-bottom: 1px solid #FFFFFF;
  background: #FFFDDB;
  padding: 16px 19px 15px 18px;
  font-size: 16px;
  color: #333333;
  line-height: 150%;
}

.ctct-formtbl td input {
  /*  width: 660px;*/
  height: 38px;
  padding: 0 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  /*	font-family: 'Noto Sans Japanese', serif;*/
  font-size: 16px;
  color: #3D2323;
  border: 1px solid #D6C5C5;
  text-align: left!important;
}

.ctct-formtbl td textarea {
  /*  width: 660px!important;*/
  height: 179px!important;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  /*	font-family: 'Noto Sans Japanese', serif;*/
  font-size: 16px;
  color: #3D2323;
  border: 1px solid #D6C5C5;
}

.ctct-submit {
  text-align: center;
}


/**
.ctct-submit input {
  width: 330px;
  margin-top: 50px;
  background: #EB4263;
  -webkit-border-radius: 25px;
  -moz-border-radius: 25px;
  border-radius: 25px;
  font-size: 20px;
  color: #FFFFFF;
  font-weight: bold;
  line-height: 100%;
  padding: 14px 0 14px 0;
}

.ctct-submit input:hover {
  cursor: pointer;
  filter: alpha(opacity=60);
  /* IE6, IE7 */


/* -ms-filter: "alpha( opacity=60 )"; */


/* IE8 */


/* opacity: 0.6; */


/* IE8 over, Opera, Safari, CSS3 over */


/* -moz-opacity: 0.6; */


/* Mozilla(FF,NS) */


/* -khtml-opacity: 0.6; */


/* Safari 1.x */


/* } */

.radio-span {
  line-height: 48px;
  padding-left: 5px;
  font-size: 15px;
}

@media screen and (max-width:480px) {
  .radio-span {
    font-size: 10px;
  }
}

.radio-wrapper {
  display: flex;
  width: 100% !important;
  border-bottom: none!important;
  padding: 10px 18px!important;
}

@media screen and (max-width:640px) {
  .radio-wrapper {
    padding: 10px!important;
  }
}

@media screen and (max-width:920px) {
  .radio-wrapper {
    flex-direction: column;
  }
  .radio-wrapper label {
    height: 27px;
  }
}

form#mailformpro label {
  border-radius: 3px;
  margin: 3px 15px 3px 3px;
  display: flex;
  white-space: nowrap;
}

form#mailformpro label>input {
  width: 13px;
}

@media screen and (max-width: 920px) {
  #mailformpro .ctct-formtbl tr td.radio-wrapper label.radio-sp-ad {
    margin-top: -13px;
  }
}

.ctct-submit button {
  width: 220px;
  height: 51px;
  font-size: 15px;
  font-weight: 700;
  padding: 12px 10px 10px;
  margin-top: 23px;
  outline: none;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  background-color: #F70D24;
  border-radius: 5px;
  color: #fff;
  border-width: 0;
  -webkit-transition: none;
  transition: none;
  box-shadow: 0 4px 0 #a72e2a;
  text-align: center;
}

.ctct-submit button:hover {
  margin-top: 25px;
  box-shadow: 0 2px 0 #a72e2a;
}

.ctct-formtbl td {
  width: 75%;
  font-size: 15px;
}

.ctct-formtbl td input,
.ctct-formtbl td textarea {
  width: 100%;
  max-width: 600px;
  font-size: 15px;
  line-height: 1.5;
}

.ctct-formtbl td textarea {
  height: 80px!important;
}


/*** 送信ボタン　***/

.ctct-submit {
  position: relative;
  height: 85px;
}

.ctct-submit input {
  width: 220px;
  height: 51px;
  font-size: 15px;
  font-weight: 700;
  padding: 12px 10px 10px;
  margin-top: 23px;
  outline: none;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  background-color: #F70D24;
  border-radius: 5px;
  color: #fff;
  border-width: 0;
  -webkit-transition: none;
  transition: none;
  box-shadow: 0 4px 0 #a72e2a;
  text-align: center;
}

.ctct-submit input:hover {
  margin-top: 25px;
  box-shadow: 0 2px 0 #a72e2a;
}

.ctct-submit {
  margin-bottom: 4px;
}

.ctct-submit input:hover .ctct-submit {
  margin-bottom: 2px;
}


/** 必須アイコン **/

.ctct-form th span.req {
  margin-left: 7px;
  padding: 1px 3px 0;
  color: #fff;
  font-size: 10px;
  font-weight: bold;
  line-height: 1;
  text-align: center;
  background-color: #dc3c36;
  font-weight: bold;
  vertical-align: middle;
}

@media screen and (max-width:640px) {
  .ctct-form,
  .ctct-form2 {
    width: 95%;
    padding: 5px;
  }
  .ctct-formtbl th {
    width: 26%;
    padding: 5px 5px 0 5px;
    font-size: 11px;
  }
  .ctct-formtbl td {
    width: 72%;
    padding: 10px;
    font-size: 14px;
  }
  .ctct-formtbl td input,
  .ctct-formtbl td textarea {
    /*    width: 100%;*/
    width: 100%;
    font-size: 14px;
  }
  .ctct-submit input {
    /* width: 50%; */
    margin-bottom: 20px;
  }
  .ctct .cho_inner>p {
    padding-left: 10px;
    padding-right: 10px;
  }
}


/* 問い合わせ > ページナビ */

.ctct-arrow {
  margin-top: 57px;
  background: url(../img/aoyama/ctct--ft.png) repeat-x;
  background-position: center top;
  text-align: center;
}


/* 問い合わせ > エラー画面等 */

.cnts-lead {
  /*	font-family: 'Noto Sans Japanese', serif;*/
  font-size: 15px;
  color: #3D2323;
  text-align: center;
  line-height: 150%;
  padding: 50px 0;
}

.form-tbl-btn {
  padding: 80px 0 50px 0;
  text-align: center;
}

.form-tbl-btn input:hover {
  cursor: pointer;
  filter: alpha(opacity=60);
  /* IE6, IE7 */
  -ms-filter: "alpha( opacity=60 )";
  /* IE8 */
  opacity: 0.6;
  /* IE8 over, Opera, Safari, CSS3 over */
  -moz-opacity: 0.6;
  /* Mozilla(FF,NS) */
  -khtml-opacity: 0.6;
  /* Safari 1.x */
}

.form-tbl-btn li input {
  width: 330px;
  margin-top: 20px;
  background: #EB4263;
  -webkit-border-radius: 25px;
  -moz-border-radius: 25px;
  border-radius: 25px;
  font-size: 20px;
  color: #FFFFFF;
  font-weight: bold;
  line-height: 100%;
  padding: 14px 0 14px 0;
}

.contact-thanks-link {
  margin-bottom: 0;
}


/* メッセージ
---------------------------------------------------------------------------*/


/* メッセージ > タイトル */

.mess-ttl {
  padding: 70px 0 0 0;
  text-align: center;
  font-family: 'Ubuntu Condensed', sans-serif;
  font-size: 45px;
  color: #69483b;
}

.mess-ttl02 {
  padding: 3px 0 60px 0;
  text-align: center;
  font-size: 16px;
  color: #69483b;
}

@media screen and (max-width:640px) {
  .mess-ttl {
    padding: 20px 0 20px 0;
  }
}


/* メッセージ > テキスト */

.mess-text {
  padding-right: 10px;
  padding-left: 0;
}

.mess-txt-inner {
  /*  width: 90%;*/
}

.mess-txt-inner p {
  font-size: 14px;
  line-height: 225%;
  color: #3D2323;
  letter-spacing: 1.5px;
  width: 450px;
}


/* メッセージ > 画像 */

.mess-img {
  /*	display: table-cell;*/
  /*	width: 360px;*/
  padding: 0;
  vertical-align: top;
}


/*
.mess-img ul {
  padding-left: 10%;
}
*/

.mess-img img {
  padding-bottom: 20px;
}

@media screen and (max-width:959px) {
  .mess-img ul.flex.f-between {
    flex-wrap: wrap;
  }
}

@media screen and (max-width:640px) {
  .mess-img .f-between {
    margin: 0 auto;
    justify-content: center;
    flex-direction: row;
  }
  .mess-img ul {
    padding-left: 0;
  }
  .mess-img li {
    width: 30%;
    text-align: center;
  }
  .mess-img img {
    max-width: 70%;
  }
  .intro .f-between {
    display: flex;
    flex-direction: column;
  }
  .mess-txt-inner p {
    width: 100%;
  }
}


/* メッセージ > ページナビ */

.mess-arrow {
  /*background: url(../img/aoyama/mess--ft.png) repeat-x;*/
  background: url(../img/aoyama/plus/prce--ft.png) repeat-x;
  background-position: center top;
  text-align: center;
}

.com-box {
  width: 100%;
}

.company {
  border-collapse: collapse;
  width: 450px;
  font-size: 14px;
  line-height: 110%;
  margin: 10px 0;
}

.company--cap {
  font-weight: bold;
  text-align: left;
  padding-top: 70px;
  padding-bottom: 30px;
}

.company th,
.company td {
  min-height: 3em;
  padding: 20px 10px;
  border-bottom: 1px solid #999;
}

.company th {
  width: 120px;
  text-align: left;
}

@media screen and (max-width: 460px) {
  .mess-ttl {
    padding: 20px 0 0 0;
  }
  .mess-ttl02 {
    padding: 3px 0 20px 0;
  }
  .company {
    width: 90%;
    margin: 0 auto;
  }
  .company--cap {
    border-bottom: 1px solid #999;
  }
  .company td {
    display: block;
    text-align: center;
  }
  .company th {
    display: block;
    border-top: none;
    border-bottom: none;
    width: 100%;
    text-align: center;
  }
  .company th,
  .company td {
    padding: 10px 10px;
  }
}


/* 料金
---------------------------------------------------------------------------*/


/* Photo > タイトル */

.photo-ttl {
  padding: 68px 0 0px 0;
  text-align: center;
  font-family: 'Ubuntu Condensed', sans-serif;
  font-size: 45px;
  color: #69483b;
}

.photo-ttl02 {
  padding: 3px 0 64px 0;
  text-align: center;
  font-size: 16px;
  color: #69483b;
}

@media screen and (max-width:640px) {
  .photo-ttl {
    padding: 20px 0 0 0;
  }
  .photo-ttl02 {
    padding: 3px 0 20px 0;
  }
}


/* PHOTO > 表示エリア */

.photo-block {
  max-width: 920px;
  margin: 0 auto;
}

.photo ul {
  padding-left: 0;
  margin-left: 0;
  margin-top: 0;
  margin-bottom: 0;
}

.photo-area {
  /*  width: 366px;*/
  padding-bottom: 50px;
  padding-right: 15px;
}

@media screen and (max-width:640px) {
  .photo-area {
    display: block;
    width: 100%;
    padding-bottom: 0px;
  }
}


/* PHOTO > 写真 */

.photo-img {
  border: 8px solid #69483B;
  text-align: center;
  max-width: 276px;
}

.photo-img img {
  width: 260px;
  height: 200px;
  object-fit: cover;
}

.phot f-between {
  margin: 0 !important;
}

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


/* PHOTO > 詳細 */

.photo-data {
  padding-top: 15px;
  font-size: 14px;
  line-height: 179%;
  text-align: center;
}

@media screen and (max-width:640px) {
  .photo-data {
    padding-bottom: 30px;
    text-align: center;
  }
}


/* PHOTO > ページナビ */

.prce-arrow {
  background: url(../img/aoyama/prce--ft.png) repeat-x;
  background-position: center top;
  text-align: center;
}


/* Access
---------------------------------------------------------------------------*/


/*.acc{
	background: url(../img/aoyama/prce--bg.png);
}*/


/* Access > タイトル */

.acc-ttl {
  padding: 68px 0 0px 0;
  text-align: center;
  font-family: 'Ubuntu Condensed', sans-serif;
  font-size: 45px;
  color: #69483b;
}

.acc-ttl02 {
  padding: 3px 0 64px 0;
  text-align: center;
  font-size: 16px;
  color: #69483b;
}

@media screen and (max-width:640px) {
  .acc-ttl {
    padding: 20px 0 0 0;
  }
  .acc-ttl02 {
    padding: 3px 0 20px 0;
  }
}


/* access > 表示エリア */

.acc-block {
  max-width: 920px;
}

.acc-dkym {
  vertical-align: top;
}

.acc-aoym {
  width: 330px;
  vertical-align: top;
}

.acc-map {
  width: 100%;
  margin: 0 auto;
}

.acc-area-h {
  padding: 30px 30px 30px 0;
  margin-right: 30px;
}

.acc-area-f {
  width: 100%;
  /*  padding-top: 20px;*/
  margin-right: 20px;
}

.acc-area-h h2 {
  margin-bottom: 0;
  margin-top: 1.33em;
  font-size: 1em;
  font-weight: 500;
  line-height: 1.1;
}

@media screen and (max-width:640px) {
  .acc-block {
    width: 90%;
    margin: 0 auto;
  }
  .acc-area-h,
  .acc-area-f {
    width: 100%;
    padding: 10px 0;
    margin: 0 auto;
  }
  .acc-area-h ul.acc-inc {
    padding-left: 1em;
  }
  .acc-map {
    width: 100%;
  }
  .acc-img iframe {
    height: 55vh;
  }
  .acc-block .flex {
    flex-direction: column;
  }
}


/* Access > 写真 */

.acc-img {
  border: 2px solid #929292;
  text-align: center;
}

.acc-img iframe {
  display: block;
  width: 100%;
}

.acc-inc {
  /*	font-family: 'Noto Sans Japanese', serif;*/
  font-size: 14px;
  line-height: 179%;
  padding-top: 10px;
  padding-left: 0;
  margin-top: 0;
}


/*.prce-inc > li{
	font-family: 'Noto Sans Japanese', serif;
	font-size: 14px;
	line-height: 179%;
}*/

.acc-data {
  /*	font-family: 'Noto Sans Japanese', serif;*/
  font-size: 14px;
  line-height: 179%;
  padding-top: 10px;
}

@media screen and (max-width:640px) {
  .acc-date {
    width: 90%;
    display: block;
    margin: 0 auto;
  }
  .acc-area,
  .acc-img,
  .acc-inc {
    width: 90%;
    margin: 0 auto;
  }
}


/* Access > ページナビ */

.acc-arrow {
  background: url(../img/aoyama/mess--ft.png) repeat-x;
  background-position: center top;
  text-align: center;
  margin-top: 100px;
}


/* フッター
---------------------------------------------------------------------------*/

.foot {
  background: #929292;
}


/* フッター > ロゴ */

.foot-logo {
  padding-top: 18px;
  text-align: center;
}


/* フッター > リンク */


/*

.foot-link{
	display: table;
	width: 322px;
	margin: 0 auto;
}
.foot-link > li{
	display: table-cell;
}
@media screen and (max-width:640px){
	.foot-link{
		display: block;
		width: 95%;
		letter-spacing: 0.4em;
		text-align: center;
	}
	.foot-link > li{
		display: inline-block;
		width: 30%;
	}
	.foot-link > li img{ width: 100%; }
}
*/

.view-sp {
  display: none;
}

@media screen and (max-width: 1024px) {
  .view-pc {
    display: none;
  }
  .view-sp {
    display: block;
  }
  nav.g_navi.view-pc {
    display: none;
  }
  /* g-navi スマホ非表示 */
}

.text_block .container {
  padding: 30px 10%;
  margin-top: 30px;
}


/*news*/

#news dt {
  width: 10em;
  float: left;
  padding-top: 1.5em;
  padding-left: 0.5em;
  color: #333333;
  clear: both;
}

#news dd {
  border-bottom: 1px solid #EEC1EA;
  padding: 1.5em 1em 1.5em 10em;
  margin-left: 0;
  min-height: 50px;
  text-decoration: underline;
}

@media screen and (max-width:640px) {
  #news dt {
    float: none;
  }
  #news dd {
    padding: 0 0 1em 1em;
  }
}


/* plan */

.page_kv {
  background: url(../img/aoyama/tgrn--bg-03.jpg) no-repeat center 56%;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
  /*	background-attachment: fixed;*/
  padding: 50px 0;
}

.page_kv h1 {
  text-shadow: 0 0 10px #fff;
}

.point_ttl {
  padding-bottom: 0;
}

.intro-ttl {
  font-size: 20px;
  color: #69483b;
  font-weight: bold;
  text-align: center;
  padding-bottom: 10px;
  margin-top: 0;
}

.intro_txt {
  padding-top: 0;
  padding-bottom: 30px;
}

.contact-ttl {
  font-size: 20px;
  color: #333333;
  font-weight: bold;
  text-align: center;
  padding-bottom: 10px;
  margin-top: 0;
}

.sec-ttl {
  text-align: center;
  /*  font-family: 'Ubuntu Condensed', sans-serif;*/
  font-size: 30px;
  color: #333333;
  font-weight: bold;
  margin: 0 auto;
}

.sec-ttl02 {
  display: block;
  padding: 5px 0 0 0;
  text-align: center;
  font-size: 16px;
  font-weight: 600;
  color: #333333;
}

@media screen and (max-width:640px) {
  .sec-ttl {
    padding: 20px 0 0 0;
  }
  .sec-ttl02 {
    /*padding: 7px 0 20px 0;*/
    padding: 2.5vw 0 2vw;
    font-size:11px!important;
  }
}

@media screen and (max-width:480px) {
  .sec-ttl {
    padding: 0;
  }
}

.blok_center {
  margin: 0 auto;
  text-align: center;
}

.vertial-info {
  width: 800px;
  text-align: left;
}


/************************* news 詳細用 ******************************/

.news_detail {
  padding: 30px 0 50px;
}

#news h2.news_det_ttl {
  font-size: 26px;
  font-weight: bold;
  line-height: 1.5;
  margin-top: 0;
  /*
    text-align: center;
    letter-spacing: 0.3em;
*/
  color: #69483b;
  border-bottom: 2px solid #929292;
}

.news_detail_text {
  padding-left: 1em;
  padding-right: 1em;
  padding-bottom: 30px;
  border-bottom: 2px solid #929292;
  line-height: 225%;
}

.news_detail_text ul {
  margin-bottom: 0;
}

.news_detail_text h3>p,
.news_detail_text h3>ul,
.news_detail_text h3>div {
  margin-left: 1em;
}

.news_detail_text h3.news_text_ttl {
  font-size: 1.375em;
  font-weight: bold;
  color: #333333;
  width: 100%;
  line-height: 1.5em;
}

.style_center {
  width: 60%;
  min-width: 300px;
  margin: 0 auto;
}

.br_line {
  border-bottom: 1px solid #91d2dc;
}

.br_line.end {
  margin-bottom:0;
}


#news.news_20180914 .news_detail_text {
  position: relative;
  padding-bottom: 250px;
}

#news.news_20180914 .news_detail_text::after {
  content: url(../img/counseling_img.png);
  display: block;
  width: 100px;
  height: auto;
  position: absolute;
  right: 18%;
  bottom: 0;
}

#news .news_day {
  padding-bottom: 30px;
  margin: 0;
  color: #666;
  font-size: 14px;
  line-height: 1;
}

.news_text_ttl p {
  padding-left: 0;
}

.news_detail_text .top_img img {
  object-fit: cover;
  object-position: center;
}

.marker_yellow {
  background: linear-gradient(transparent 60%, #ffff66 60%);
}

.news_detail_text table th,
.price_table.table th {
  font-weight: normal;
}

.service hr.table_btm {
  border-top: 1px solid #ddd !important;
}

.news_detail_text ul {
  list-style: disc;
  line-height: 1.75;
}

.news_detail_text ul,
.news_detail_text ol {
  padding-left: 1.5em;
}

.more_btn {
  text-align: right;
}

.more_btn a {
  text-decoration: underline;
  padding-right: 12px;
  color: #666666;
  font-weight: bold;
}

.news_detail_text ol {
  list-style: none;
}

.news_detail_text .mb0 {
  margin-bottom: 0;
}

.news_detail_text .ex_box {
  margin-left: 2em;
}


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

.cho_inner {
  max-width: 970px;
  margin: 0 auto;
}

.md_inner {
  width: 100%;
  max-width: 920px;
  margin: 0 auto;
}

ul.md_inner {
  padding: 0;
}

.sm_inner {
  max-width: 720px;
  margin: 0 auto;
}

.sm_inner>ul {
  padding-left: 0;
  padding-right: 40px;
}

#sitemap .container,
.container {
  padding-left: 0;
  padding-right: 0;
}

.choco_bg {
  background-color: #ffe8f4;
  /* #d9c7ba; */
  padding: 40px 20px;
}

.text_block {
  color: #69483b;
  max-width: 900px;
  padding: 10px 20px;
  border: 1px solid #d9c7ba;
}

.foot-info {
  padding-top: 28px;
}

.pri_text {
  margin: 0 0 30px;
}

.voice_img {
  width: 120px;
  height: 105px;
  overflow: hidden;
  background-color: #fff;
  text-align: center;
  padding: 10px 20px;
  margin-right: 10px;
}

.voice_img img {
  width: 90%;
  height: auto;
}

.voice_inner {
  padding: 0 1em;
}

.block-supporter p {
  overflow: hidden;
  padding-top: 1em;
  margin: 0;
}

@media screen and (max-width:920px) {
  .container,
  .ms_inner,
  .block-cmn-head .block-inner,
  .equip,
  .virtual_plan,
  .m_room_intro,
  .m_price,
  .mess-text,
  .footbar>div,
  .footer_contact {
    padding-left: 5%;
    padding-right: 5%;
  }
  .merit p {
    padding-left: 0;
  }
}

@media screen and (max-width:640px) {
  .sm_inner>ul {
    padding-right: 0;
  }
}

@media screen and (max-width:480px) {
  #news h2.news_det_ttl {
    font-size: 18px;
  }
  #news.news_20180914 .news_detail_text::after {
    display: none;
  }
  #news.news_20180914 .news_detail_text {
    padding-bottom: 0;
  }
  .voice_img {
    width: 75px;
    height: 80px;
    padding: 5px;
  }
}


/*service*/

.service h2 {
  margin: 0 0 20px 0;
  font-size: 30px;
  color: #333333;
  line-height: 130%;
  padding-left: 1em;
  border-bottom: 1px solid #929292;
  border-left: 7px solid #929292;
}

.price_table.table caption {
  color: #333333;
  font-weight: bold;
}

.service>section {
  padding-bottom: 30px;
}

.service_img {
  max-width: 378px;
  height: auto;
  max-height: 250px;
  /*  padding-top: 50px;*/
  overflow: hidden;
}

.img_left {
  /*  padding-right: 30px;*/
}

.img_right {
  /*  padding-left: 30px;*/
}

.service table tr {
  border-style: none!important;
}

.service table th,
.service table td {
  border-bottom: 1px solid #ddd;
}

.service table th:first-child,
.service table td:first-child {
  border-top: 1px solid #ddd;
}


/**top/plan**/

.plan_bnr {
  padding: 50px 0;
}

.plan_bnr a {
  display: block;
}

.plan_bnr img {
  padding-bottom: 30px;
}

.bnr_w_full {
  max-width: 890px;
  margin: 0 auto;
}

.plan_bnr .point7 {
  padding-bottom: 20px;
}

.about liht-box:hover {
  border-bottom: none
}

.bottom_bnr {
  /*  padding: 30px 0;*/
}

.bnr_w_full {
  padding-bottom: 30px;
}

@media screen and (max-width:640px) {
  .service_img,
  .text_area {
    max-width: 100%;
    padding: 0 1%;
  }
  .service_img img {
    /*    width: 100%;*/
    padding-bottom: 30px;
  }
  .plan_bnr .flex {
    flex-direction: column;
    justify-content: center;
    padding: 0 0 30px;
    margin: 0 auto;
  }
  .plan_bnr .bnr_w_full img {
    width: 100%;
  }
  .plan_bnr img {
    width: 80%;
  }
  .plan_bnr .flex li {
    text-align: center;
  }
}

@media screen and (max-width:480px) {
  .service_img img {
    max-width: 100%;
  }
  .about p.text-center {
    text-align: left;
  }
  .about .container.pt70 {
    padding-top: 30px;
  }
  .about .light_card h3 {
    margin-bottom: 10p
  }
  .about .light_card {
    padding: 25px 0;
  }
  .about .light_card p {
    margin-bottom: 0;
  }
  .about .light_card h3 img.pb30 {
    padding-bottom: 10px;
  }
  .pint-arrow {
    margin-bottom: 15px;
  }
}


/**flow**/

.flow {
  /*  max-width: 920px;*/
  /*  margin: 0 auto;*/
  margin-top:15px;
}

.flow_ttl h2 {
  padding-left: 1em;
  margin: auto 0;
  font-size: 21px;
  font-weight: bold;
  color: #333333;
  line-height: 225%;
  text-align: left;
  vertical-align: baseline;
}

.flow_ttl_icon {
  display: block;
  width: 100px;
  /*  height: 75px;*/
  color: #333333;
  font-size: 21px;
  line-height: 225%;
  background-color: #e1ebfa;
}

.point,
.merit {
  background-image: url(../img/aoyama/ctct--bg.png);
  background-repeat: repeat;
  padding-top: 0;
}

.about {
  background-color: #e1ebfa;
  padding-top: 0;
}

.top_ttl_w {
  padding: 0 0 1em;
  margin: 0 auto;
  font-size: 20px;
  line-height: 2.4;
  font-weight: bold;
  color: #333333;
}

.style_disc {
  list-style: disc;
  line-height: 200%;
}


/*looking_for*/

.looking_for .sm_inner {
  background-image: url(../img/bg_look_01.png), url(../img/bg_look_04.png), url(../img/bg_look_03.png);
  background-repeat: no-repeat;
  background-position: right top 5%, right 10% top 50%, right 2% bottom;
}

@media screen and (max-width:640px) {
  .looking_for .sm_inner {
    padding-left: 1%;
    padding-right: 1%;
    padding-bottom: 300px;
    background-position: bottom left 10%, bottom left 35%, bottom right 35%, bottom right 10%;
  }
  .looking_for .sm_inner>ul {
    padding-left: 0;
  }
}

.looking_for ul li h3 {
  font-weight: 500;
  font-size: 18px;
  margin-bottom: 0;
}

.point h3,
.point_h3 {
  margin: 0 0 20px 0;
  font-size: 21px;
  color: #333333;
  line-height: 150%;
  text-align: left;
  font-weight: bold;
}

.point_item .txt p {
  text-align: justify;
}

.no_icon {
  width: auto;
  height: 55px;
  margin-right: 30px;
}

.concept .gaiyou .point_itemp {
  text-align: justify;
}

.merit p {
  margin-top: 0;
  line-height: 2.4;
  font-size: 15px;
  padding-right: 20px;
}

.merit img,
.photo_styl {
  border-radius: 15px;
  object-fit: cover;
}

@media screen and (max-width:480px) {
  .point h3,
  .point_h3 {
    font-size: 14px;
    font-weight: bolder;
  }
  .gaiyou .point_h3 span.narrow {
    letter-spacing: -0.08em;
    font-size: 0.9em;
  }
  .no_icon {
    height: 42px;
    /*    margin-left: 30px;*/
  }
  .point p {
    padding: 0 1em;
  }
  .point img {
    display: block;
    max-width: 100%;
    padding: 0 1%;
    margin: 0 auto;
  }
  #about .looking_for ul {
    padding-left: 10px;
  }
  .merit .flex.f-between img {
    display: block;
    max-width: 90%;
    margin: 0 5%;
  }
}

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

.point .point_img {
  max-width: 520px;
}

.point .point_img img {
  border-radius: 15px;
  width: 100%;
  height: auto;
  object-fit: cover;
}

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

.plan_price .table-bordered {
  margin-bottom: 0;
}

.p_price_tbl caption {
  font-size: 1.75em;
  padding-bottom: 1em;
  padding-top: 30px;
}

#plan table.p_price_tbl th {
  line-height: 1.2em;
}

.p_price_tbl th {
  position: relative;
  border: 1px solid #EEC1EA!important;
  font-size: 15px;
  font-weight: 600;
  text-align: center;
  vertical-align: bottom !important;
  width: 25%;
  padding-top: 21px !important;
  padding-bottom: 21px !important;
  z-index: -1;
}

.p_price_tbl th span {
  line-height: 1.2em;
}
@media (max-width: 768px){
  .p_price_tbl th span {
    line-height: 1.4;
  }  
}

.p_price_tbl td {
  text-align: center;
  padding-top: 1em !important;
  padding-bottom: 1em !important;
  border: 1px solid #EEC1EA!important;
}

.option .p_price_tbl th {
  vertical-align: middle!important;
}


.p_price_tbl td dl dt {
  font-size: 10px;
  font-weight: normal;
}

table.p_price_tbl td dl dd {
  font-size: 20px;
  margin-left: 0;
}

span.td_ttl {
  display: inline-block;
  font-size: 11px;
  letter-spacing: -0.5px;
  /*  width: 25%;*/
  text-align: left;
}

span.td_txt {
  display: inline-block;
  /*  width: 70%;*/
  text-align: left;
  font-size: 10px;
}

.p_price_tbl td {
  background-color: #fff;
}

.p_price_tbl .txt_red {
  color: #cc0000;
}

table.p_price_tbl tr th span.appeal {
  display: block;
  font-size: 11px;
  /*  font-weight: 700;*/
  color: #333333;
  margin-bottom: 1em;
  display: inline-block;
}

table.p_price_tbl tr:first-of-type th br {
  display: none;
}

table.p_price_tbl tr th span.str {
    display: block;
    margin-top: -4px;
    font-size: 14px;
}

@media screen and (max-width:480px){
  table.p_price_tbl tr th span.str {
    font-size: 15px;
  }
}

table.p_price_tbl tr th span.str.big {
  font-size: 17px;
}

table.p_price_tbl td.f_nomal {
  height: 43px;
  vertical-align: middle
}

.p_price_tbl dl {
  margin-top: 10px;
  margin-bottom: 10px;
}

.option .p_price_tbl th {
  font-size: 14px !important;
}

.virtua.l_plan .pint-info {
  text-align: left;
}

.f_ast,
.f_sm {
  font-size: 10px;
  line-height: 1.2em;
}

.f_big {
  font-size: 2em;
}

.f_biger {
  font-size: 1.5em;
  font-weight: normal;
}

dd span.f_big {
  font-size: 28px;
}

table.p_price_tbl td dl dd.f_nomal {
  line-height: 16px;
  font-size: 14px;
  padding: 8px 0;
}

table.p_price_tbl th.ichiban {
  position: relative;
}

.osusume {
  position: relative;
}

.osusume::after {
  content: "";
  width: 40px;
  height: 31px;
  display: block;
  background-image: url(../img/osusume.png);
  background-size: cover;
  background-repeat: no-repeat;
  position: absolute;
  top: 2px;
  left: 5px;
}

table.p_price_tbl th.gentei {
  position: relative;
}

.gray {
  background-color: #978D86;
  color: #fff;
}

.choco {
  background-color: #d9c7ba;
}

.red {
  background-color: #f6e5d7;
}

.orenge {
  background-color: #ED8D49;
}

.yellow {
  background-color: #FFC530;
}

.l_gray {
  background-color: #f5f5f5!important;
}

.l_gold {
  background-color: #FFE97F;
}

.l_red {
  background-color: #f5dfa6;
}

.ichigo {
  background-color: #ffa5b0;
}

.minto {
  background-color: #8ef2c2;
}

.l_pink {
  background-color: #ffe1f1;
}

.pink {
  background-color: #fec3e3;
}

.text_pink {
  color: #F70D24;
}

.app_btn {
  display: block;
  width: 92px;
  height: 25px;
  margin: 10px auto 0;
  background-color: #F70D24;
  border-radius: 5px;
  /*  margin-top: 9px;*/
  color: #fff;
  font-size: 11px;
  line-height: 25px;
}

.p_price_tbl .app_btn {
  margin-top: 12px;
}

span.f_ast.red,
span.f_ast.l_red {
  display: inline-block;
  margin-top: 5px;
}

.app_btn:hover {
  color: #FFF;
}

.row.cho_inner.text-center {
  max-width:970px;
}

.card {
  margin: 0 auto;
  max-width: fit-content;
  max-width: -moz-fit-content;
  background-color: #fff;
  border: 1px solid #d9c7ba;
  padding: 20px;
}

.light_card {
  background-color: #fff;
  -webkit-box-shadow: 0px 3px 0px 0px #f0f2f4;
  -moz-box-shadow: 0px 3px 0px 0px #f0f2f4;
  box-shadow: 0px 3px 0px 0px #f0f2f4;
  padding: 20px 0;
  margin: 30px auto;
  max-width: 300px;
}

.light_card h3 span {
  font-weight: bolder;
}

.light_card h3 .about_img {
  display: block;
  width: auto;
  height: auto;
  margin: 0 auto;
}

.light_card h3 .about_img img {
  width: 100px;
  height: auto;
}


/*
.osusume {
  position: relative;
}

.osusume::after {
  content: "";
  width: 50px;
  height: 39px;
  display: block;
  background-image: url(../img/osusume.png);
  background-size: cover;
  background-repeat: no-repeat;
  position: absolute;
  top: 3px;
  left: 5px;
}
*/

.otamesi .table tr td {
  vertical-align: middle;
}

@media screen and (max-width:480px) {
  .card {
    width: 100%;
    margin: 0 auto;
  }
  .card h4 {
    font-size: 18px;
  }
  table.p_price_tbl {
    margin-bottom: 30px;
  }
  #plan table.p_price_tbl th {
    padding: 4vw 0!important;
  }
  .p_price_tbl td.l_gray {
    padding-top: 2vw!important;
    padding-bottom: 2.5vw!important;
  }
  #counseling .container .cho_inner p {
    text-align: left;
  }
  #plan h2.sec-ttl,
  #virtual_price h3.sec-ttl {
    padding-bottom: 1em;
    line-height: 1.1;
  }
  #plan h2.sec-ttl {
    padding-bottom: 0;
  }
  .plan_price .table-bordered {
    margin-bottom: 5vw;
  }
  .plan_price .col-md-4:last-child table{
    margin-bottom:0;
  }
  .table-bordered {
    border: none;
  }
  .option table,
  .option table caption,
  .option table th,
  .option table td,
  .option table tbody,
  .option table tr {
    width: 100%;
    display: block;
  }
  .p_price_tbl .app_btn {
    margin-top: 3px;
    margin-bottom:13px;
  }
}

.terms_sub_ttl>li {
  padding-top: 1em;
  font-weight: bold;
}

.terms_sub_ttl li ul li,
.terms_sub_ttl li p {
  padding-bottom: 1em;
  font-weight: normal;
}

.terms ul {
  padding-left: 0;
}

.soon {
  text-align: center;
  font-size: 24px;
}

.foot-link {
  margin-top: 50px;
}

.plan .eqip-item {
  padding-bottom: 0;
}

.plan_option .plan_box {
  padding-top: 0;
}


/*********************************************** 
up.date2018.07.13
*************************************************/

.link_inner,
#info .container {
  max-width: 970px;
  margin: 0 auto;
}

#info .container .cho_inner dl.row {
  padding: 0;
  margin: 0;
  width: 100%;
}

.cho_inner dl dt {
  padding-left: 7px;
}

#customersvoice .clearfix::after {
  content: none;
}

.overflow {
  overflow: hidden;
}

.recomment {
  align-items: center;
  margin-top: -50px;
}

.recomment .card {
  line-height: 210%;
  /*  margin-bottom: 70px;*/
  padding: 20px 10px;
  border: none;
  background-color: transparent;
}

.about .light_card h3 {
  margin-bottom: 0;
}

.ils_plan {
  width: 30%;
  text-align: center;
}

.ils_plan img {
  width: 70%;
  height: auto;
}

.to_btn {
  text-decoration: underline;
}


/** merito demerito **/

.merit div.col-md-7 {
  padding-left: 0;
  padding-right: 0;
}

.check_inner {
  list-style-image: url('../img/icon_check32.png');
  list-style-position: inside;
  font-size: 15px;
  color: #666666;
  line-height: 150%;
  margin-top: 30px;
  width: 90%;
  margin: 30px auto 0;
  padding-left: 0;
}

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

.check_inner ol {
  list-style: none;
  line-height: 150%;
  margin: 0;
  padding-left: 0;
}

.point_kigyouka h3 {
  margin-top: 30px;
  margin-bottom: 1em;
  font-size: 18px;
  font-weight: bold;
  color: #666666;
}

.fukidashi_wrap {
  width: 90%;
  margin: 0 auto;
  padding: 0 30px 0;
  /*  background-color: #e1ebfa;*/
}

.fukidashi_img {
  display: block;
  width: 100px;
  max-width: 100%;
  padding-top: 30px;
}

.fukidashi {
  display: inline-block;
  margin-right: auto;
  overflow: hidden;
}

.fukidashi p {
  max-width: 300px;
  margin-left: 30px;
  padding: 15px;
  border-radius: 30px;
  background-color: #d9c7ba;
  position: relative;
}

.fukidashi p::after {
  content: "";
  display: inline-block;
  position: absolute;
  bottom: 30px;
  left: -19px;
  border: 8px solid transparent;
  border-right: 18px solid #d9c7ba;
  -ms-transform: rotate(35deg);
  -webkit-transform: rotate(35deg);
  transform: rotate(35deg);
}

.fukidashi_right {
  display: inline-block;
  margin-left: auto;
  overflow: hidden;
}

.fukidashi_right p {
  max-width: 300px;
  margin-right: 30px;
  padding: 15px;
  border-radius: 30px;
  background-color: #d9c7ba;
  position: relative;
}

.fukidashi_right p::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 30px;
  right: -19px;
  border: 8px solid transparent;
  border-left: 18px solid #d9c7ba;
  -ms-transform: rotate(35deg);
  -webkit-transform: rotate(35deg);
  transform: rotate(35deg);
}

.footbar {
  padding-top: 1em;
  padding-bottom: 1em;
}

@media screen and (max-width:480px) {
  .fukidashi_wrap {
    width: 100%;
  }
  .fukidashi_wrap .flex {
    flex-direction: column;
  }
  .fukidashi_img {
    margin: 0 auto;
  }
  .fukidashi_right p::after,
  .fukidashi p::after {
    content: none;
  }
  .fukidashi p::before,
  .fukidashi_right p::before {
    content: "";
    display: inline-block;
    position: absolute;
    top: -19px;
    right: 40%;
    border: 8px solid transparent;
    border-bottom: 18px solid #d9c7ba;
  }
  .text_block,
  #info,
  .company_img,
  .plan_intro,
  .tbl_pc_mb {
    display: none;
  }
  .footer_navi li:nth-of-type(3) {
    border-right: none;
    /*    padding-top: 7px;*/
  }
  .footbar li a {
    line-height: 1.2em;
  }
  .footbar {
    padding-top: 1em;
  }
  .bnr_w_full:not(:last-child) {
    padding-bottom: 15px;
  }
  nav .col-md-8.col-md-offset-2.col-sm-8.col-sm-offset-2.col-xs-8.col-xs-offset-2 {
    min-height: 0;
  }
  body p,
  .block-ourconcept-intro>.txt p,
  .cho_inner .txt p {
    font-size: 14px;
    color: #333333;
  }
  footer .logo img {
    width: 147px;
    padding-bottom: 10px;
  }
  .foot-info {
    padding-top: 10px;
  }
  footer .logo {
    margin-bottom: 0;
    margin-top: -30px;
  }
  /*
  .virtual_plan h2, 
  .plan h2 {
    font-size: 22px;
    padding-bottom: 30px;
    line-height: 1.5em;
  }
*/
  .recomment {
    margin-bottom: 0!important;
    /* 30px; 2018.11.28 */
  }
  .recomment .card {
    margin-bottom: 0;
    padding:0;
  }
  .recomment .card ul{
    padding-left:2em;
  }
  .pint-parts {
    padding-bottom: 0;
  }
  .view-sp .p_price_tbl {
    width: 80%;
    margin: 0 auto 30px;
  }
  .top_ttl_w {
    font-size: 15px;
  }
  .service h2 {
    font-size: 24px;
  }
  .service h2:nth-child(n+1) {
    letter-spacing: -2px;
  }
  /*
  .flow_ttl h2  {
    font-size: 24px;
  }
*/
  .headline-howto,
  .block-bd-howto p,
  .ctct-formtbl th,
  .merit p,
  .check_inner,
  .cho_inner .txt p,
  .block-pager ul li span,
  .block-pager ul li a,
  .block-supporter .txt p,
  .lead-supporter {
    font-size: 14px;
  }
  .p_price_tbl caption.sp_font20 {
    font-size: 20px;
  }
}

.kacco {
  letter-spacing: -.5px;
}


/**** プライバシーポリシー・特定商取引法に基づく表示****/

.privacy .tbl-company th,
.law .tbl-company th {
  width: 25%;
}

.privacy .container .rule table tr .rule-table-th {
  width: 22%;
}

@media screen and (max-width:640px) {
  .privacy .container .rule table tr .rule-table-th {
    width: 100%;
  }
}

@media screen and (max-width:480px) {
  .privacy .tbl-company th,
  .law .tbl-company th {
    width: 100%;
  }
}

.point .point_img .obj_right {
  object-position: right;
}

.point .point_img .obj_left {
  object-position: left;
}


/*準備中表示 (コンタクトフォーム非表示中) */


/*.contactus .ctct-form {
  display: none;
}
.contactus .ctct::before {
  content: "準備中";
  display: block;
  text-align: center;
  padding: 30px 0;
  font-size: 30px;
  color: #aaa;
  font-weight: bold;
}*/

#pager nav {
  background-color: transparent;
}


/** top truble **/

.truble_item {
  padding: 15px;
  background-color: #fff;
  border-radius: 15px;
  margin-bottom: 30px;
}

.truble_item.col-sm-4 {
  width: 31%;
}

.trouble h3 {
  width: 100%;
  border-bottom: 1px solid #929292;
  border-left: 4px solid #929292;
  padding-left: 0.5em;
}

.truble_item h4 {
  font-size: 1.2em;
  font-weight: bold;
  padding-bottom: 10px;
  border-bottom: 1px dotted #d9c7ba;
  line-height: 2.4;
  position: relative;
}

.truble_item h4 span {
  width: 4em;
  height: auto;
  font-size: 0.71em;
  font-weight: bold;
  color: #333333;
  padding-right: 0.5em;
  position: absolute;
  top: -20px;
}

.truble_item p {
  text-align: left;
}

.truble_item.row {
  margin-left: 0;
  margin-right: 0;
}

.sp_footer {
  color: #333333;
}

.sp_footer ul {
  padding-left: 0;
}

.sp_footer li {
  display: inline-block;
}


/** sp footer_contact_btn**/

.contact_btn button {
  margin: 0 7px 14px;
  border-color: #333333;
}

.contact_btn button a {
  color: #333333;
}


/** 2018.11.27 up_date **/

.footbar_navi {
  display: none;
}

.plan_border {
  width: 100%;
  margin: 15px auto 0;
  border-top: 1px dashed #ddd;
}

.plan_box {
  width: 50%;
  padding-left: 10%;
  padding-top: 0;
  text-indent: -1em;
}

.plan_box:not(:last-child) {
  border-right: 1px dashed #ddd;
}


/** 2019.01.06 up_date **/

.footer_contact {
  /*  width: 250px;*/
  margin: 0 auto;
}

.footer_contact .free,
.footer_contact .company {
  font-size: 0.85em;
}

.footer_contact .telno {
  font-size: 1.6em;
  line-height: 1.2;
  color: #333333;
}

.news_detail td {
  text-align: right;
}

.m_room .photo .photo-img {
  margin-bottom: 10px;
}

.m_room .photo img {
  width: 100%;
  height: auto;
  min-height: 170px;
}

.filter_glay {
  -webkit-filter: grayscale(100%);
  -moz-filter: grayscale(100%);
  -ms-filter: grayscale(100%);
  -o-filter: grayscale(100%);
  filter: grayscale(100%);
}

.photo-img.soon {
  position: relative;
}

.photo-img.soon::after {
  content: "現在リニューアル中\A ２末公開";
  white-space: pre;
  display: inline-block;
  width: 100%;
  height: 30px;
  top: 50%;
  left: 0;
  text-align: center;
  position: absolute;
  color: #fff;
  font-size: 18px;
  text-shadow: 0 0 1px #555;
}

.m_room .photo-img.soon::after {
  top: 40%;
}

.top_page .plan_price tabele td {
  padding-left: 8px;
  padding-right: 8px;
}

.service_img.soon {
  position: relative;
}

.service_img.soon::before {
  content: "現在リニューアル中\A 2月末からご利用開始予定";
  white-space: pre;
  display: inline;
  text-align: center;
  color: #fff;
  font-size: 18px;
  position: absolute;
  top: 40%;
  left: 20%;
}

@media screen and (max-width:768px) {
  .mess-img ul {
    padding-left: 20px;
  }
  /*
  .mess-img ul li {
    width: 30%;
  }
*/
  .aoym-text {
    padding-right: 0;
  }
}

@media screen and (max-width:450px) {
  .mess-img ul li {
    /*    max-width: 33.333%;*/
  }
  .op_td>div {
    flex-direction: column;
  }
  .plan_box {
    border-right: none;
    width: 100%;
  }
}


/** 2019.03.14 リニューアルオープン **/

.renewal_opne {
  padding: 70px 0 0;
  text-align: center;
}

.renewal_wrap {
  /*   padding: 0 20px 10px;*/
  /*   background: #ffe1f1;*/
  /*   border: 2px dashed #F7F9CC;*/
  border: 3px solid #68483c;
  border-radius: 10px;
  /*   box-shadow: 0 0 0 3px #68483c;*/
  background-image: linear-gradient( -90deg, #fff 25%, #d9e4cd 25%, #d9e4cd 50%, #fff 50%, #fff 75%, #d9e4cd 75%, #d9e4cd);
  background-size: 16px 16px;
}

.renewal_ttl {
  font-family: 'Amatic SC', cursive;
  font-size: 250%;
  font-weight: normal;
  line-height: 1.2;
  letter-spacing: 0.3em;
  margin: 0;
  color: #fff;
  /*
  position: relative;
  z-index: 1;
*/
  background-color: #68483c;
  padding: 5px;
}

.renewal_sub_ttl {
  font-size: 150%;
  font-weight: bold;
  line-height: 1.2;
  padding-top: 16px;
  color: #ed465f;
  margin: 0;
  position: relative;
  z-index: 1;
}

.renewal_wrap ul {
  padding-left: 10px;
  ;
}


/*
.renewal_ttl::after{
  content: "";
  display: inline-block;
  width: 100%;
  height: 50px;
  border-radius: 10px;
  background-color: #7eee6f;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
*/

.renewal_wrap ul {
  flex-wrap: nowrap;
}

@media screen and (max-width:768px) {
  .renewal_wrap {
    margin: 0 5%;
  }
  .renewal_wrap ul {
    padding: 0;
  }
  .renewal_wrap ul li {
    padding: 0 0 15px 0;
  }
  .renewal_wrap ul li .photo-img {
    width: 100%;
    max-width: 250px;
    height: auto;
  }
}


/*****************************
2019/03/25 up date
****************************/


/****** common **********/


/*** width ****/

.block-cmn-head .block-inner,
nav.g_navi ul,
.hero .ttl_inner,
footer .container {
  max-width: 960px;
}

.cho_inner,
.md_inner,
.eqip-item,
.pint-item {
  max-width: 900px;
  margin: 0 auto;
}

.ctct-lead {
  width: 100%;
  max-width: 900px;
}

.faq .md_inner,
.ctct-form,
.acc-map,
.privacy .md_inner,
#sitemap .md_inner {
  max-width: 900px;
}

.acc-block {
  max-width: 800px;
  margin: 0 auto;
}


/*** font size ****/

body,
.aoym-text p,
p,
.pint-info,
.eqip-info,
.block-ourconcept-intro>.txt p,
.cho_inner .txt p,
.block-cnts18-q .lead,
.block-cnts18-a .lead,
.mess-txt-inner p,
.company th,
.company td,
.ctct-lead,
#sitemap ul li a,
dt,
dd,
.ctct-formtbl th,
.acc-area-h h2,
.acc-inc,
.acc-data {
  font-size: 15px;
  color: #333333;
}

@media screen and (max-width: 768px) {
  body,
  .aoym-text p,
  p,
  .pint-info,
  .eqip-info,
  .block-ourconcept-intro>.txt p,
  .cho_inner .txt p,
  .block-cnts18-q .lead,
  .block-cnts18-a .lead,
  .mess-txt-inner p,
  .company th,
  .company td,
  .ctct-lead,
  #sitemap ul li a,
  dt,
  dd,
  .ctct-formtbl th,
  .acc-area-h h2,
  .acc-inc,
  .acc-data {
    font-size: 10px;
  }
}

h1.kv_ttl {
  color: #333333;
  font-size: 28px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 2px;
  max-height: 79.2px;
  text-shadow: 1px 1px 10px #fff, -1px 1px 10px #fff, 1px -1px 10px #fff, -1px -1px 10px #fff;
  margin: 0.67em 0;
  line-height: 1.2;
  padding-top: 5px;
}

h1.kv_ttl span {
  display: block;
  font-size: 15px;
  margin-top: 20px;
  min-height: 15.2px;
  line-height: 1.2;
}


/** メインコンテンツ **/

.concept_text{
	margin:60px 0 0;
}
@media screen and (max-width:480px){
  .concept_text{
      margin:30px 0 0;
  }
}
.recomment {
    margin: 0 0 30px;
}

.ctct-form form {
  padding: 0;
}

.section-padding,
.news_detail {
  padding: 20px 0;
}

.about.section-padding{
  padding: 57px 0 43px;
}


@media screen and (max-width: 768px) {
  .about.section-padding{
    padding: 9vw 0 6vw;
  }
}

.nop-container {
  display: flex;
  vertical-align: middle;
}

.nop-container>.women input,
.nop-container>.men input {
  width: 60px;
  margin: 0 15px 10px;
  height: 38px;
  padding: 0 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  /*	font-family: 'Noto Sans Japanese', serif;*/
  font-size: 16px;
  color: #3D2323;
  border: 1px solid #D6C5C5;
  text-align: left
}

.sec-ttl {
  font-size: 24px;
  padding-bottom: 10px;
}

.sec-ttl02 {
  font-size: 15px;
}

@media screen and (max-width: 768px) {
  h1.kv_ttl {
    font-size: 22px;
    margin-top: 0;
    margin-bottom: 0;
  }
  h1.kv_ttl span {
    font-size: 15px;
  }
  .section-padding,
  .news_detail {
    padding: 20px 0 20px;
  }
  .section-padding:first-child{
    padding:0 0 20px!important;
  }
}

.light_card h3 span {
  font-size: 16px;
}

.page_kv {
  height: 150px;
  margin-top: 54px;
  padding: 25px 0;
}


.info_title {
  font-size: 15px;
  font-weight: bold;
  display: block;
  margin-bottom: 10px;
}

@media screen and (max-width: 768px) {
  .info_title {
    font-size: 15px;
    font-weight: bold;
  }
}

@media screen and (max-width: 768px) {
  .information {
    padding-bottom: 20px;
  }
}

.information .sec-ttl {
  padding-bottom: 0;
}

.flex_spot {
  display: -webkit-flex;
  display: flex;
}

.spot_img {
  padding: 10px 20px;
  margin-right: 10px;
}

.spot_img img {
  max-width: none;
}

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

.block-supporter {
  padding-top: 2em;
  padding-bottom: 2em;
  border-top: 1px solid #929292;
  border-bottom: 1px solid #929292;
}

@media screen and (max-width: 768px) {
  .block-supporter {
    padding-top: 1.5em;
    padding-bottom: 1.5em;
  }
}

.hero {
  margin-top: 58px;
  /***  ナビ固定のためkvの入り込みを解除  ***/
  background-image: url(../img/head--bg-1.png);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}


@media screen and (max-width:768px) {
  .block-cmn-head .block-inner {
    padding-left: 5%;
    padding-right: 5%;
    flex-direction: column;
    justify-content: flex-start;
  }
  nav.g_navi ul {
    flex-wrap: wrap;
  }
}

@media screen and (max-width:480px) {
  nav {
    background-color: #bba180;
  }
  nav ul li a {
    padding: 14px 20px 14px 0;
  }
  .hero {
    /*margin-top: 55px;*/
    margin-top: 14vw;
  }
  .sp_footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: fixed;
    z-index: 300;
    bottom: 0;
    width: 100%;
    /*padding: 7px 2%;*/
    padding: 1.2vw 2vw 2.8vw;
    background-color: #68483c;
  }
  .sp_contact_info {
    /*    width: 180px;*/
    width: 57%;
    padding: 0;
  }
  .contact_ttl {
    display: none;
    /*display: inline-block;*/
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    font-size: 10px;
    line-height: 1.5;
    background-color: #fff;
    text-align: center;
    padding: 5px 3px;
    margin: 0 7px 0 0;
  }
  .sp_tel_wrap img {
    display: none;
  }
  .sp_tel_wrap {}
  .sp_tel_wrap .tel_no {
    font-size: 26px;
    line-height: 32px;
    font-weight: normal;
    letter-spacing: -0.02em;
    padding-right: 1%;
    padding-left: 0;
    color: #fff;
  }
  .sp_contact_info p.sub {
    font-size: 10px;
    line-height: 10px;
    color: #fff;
    margin: 0;
    padding-right: 1%;
    padding-top: 2px;
  }
  .sp_contact_navi {
    width: 43%;
    margin-top: 1vw;
    padding: 0;
    text-align: right;
  }
  .sp_contact_navi>div {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
  }
  .sp_contact_navi p {
    margin: 0;
    text-align: center;
    letter-spacing: 1px;
  }
  .sp_contact_navi p a {
    display: block;
    color: #fff;
    font-size: 15px;
    line-height: 15px;
    font-weight: 400;
    padding: 5px;
    margin: 5px 0;
  }
  .sp_contact_navi .btn {
    font-size: 15px;
    line-height: 13px;
    /*padding: 3px 10px;*/
    padding: 2vw 2.3vw;
    margin: 0 3px 0;
    background-color: #F70D24;
    box-shadow: 0 4px 0 #a72e2a;
    border: none;
    color: #FFFFFF;
  }
  .footbar {
    /*padding-bottom: 13px;*/
  }
  .footbar>.flex {
    align-items: center;
  }
  .footer_contact .btn_brown,
  .footer_contact .btn_orange {
    width: 140px;
  }
  .contact_btn_wrap li {
    margin: 7px 0;
  }
  .tel_no {
    padding-left: 0.3em;
    font-size: 28px;
  }
  .to_top {
    display: none;
  }
}


/************ top **************************/

.hero {
  height: 500px;
}

.hero .ttl_inner {
  /*height: 75%;*/
}

.hero .ttl_inner img.hero_logo {
  max-height: 150px;
}

.hero .illust_aria img {
  position: relative;
  max-height: 120px;
  top: -26px;
}

.hero .top_ttl {
  font-size: 15px;
  letter-spacing: 2px;
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 35px;
  text-shadow: 2px 2px 3px #fff, 2px -2px 3px #fff, -2px 2px 3px #fff, -2px -2px 3px #fff, 0 0 3px #fff;
}

@media screen and (max-width: 768px) {
  .hero.topmainvis {
    height: 250px;
  }
  .hero .ttl_inner {
    height: auto;
  }
  .hero .top_ttl {
    display: none;
  }
}

.photo_area_l {
  max-width: 720px;
  width: 100%;
  max-height: 400px;
  height: 100%;
  margin: 30px auto;
  border: 7px solid #a65132;
  overflow: hidden;
}

.photo_area_l img {
  width: 100%;
  height: auto;
}


/* about */

.about {
  background-color: #FFFBBF;
}

.light_card {
  /*  border: 1px solid #a65132;*/
  background-color: #fff;
}

.about ul li {
  padding-right: 10px;
  padding-left: 10px;
}


/*.light_card h3 .about_img.mt{
  margin-top: -10px;
  margin-bottom: 10px;
}*/

.about ul .light_card h3 span {
  display: block;
  line-height: 1.2;
}

.about ul .light_card h3 span:first-of-type {
  margin-bottom: 17px;
}

.about ul .light_card p {
  margin-bottom: 0;
  line-height: 1.5;
}

.salmon {
  background-color: #FAEDF8;
}

.mosky_sky {
  background-color: #bce2e0;
}

.daidai {
  background-color: #ffd66b;
}

@media screen and (max-width:768px) {
  .top_photo .sm_inner {
    padding-right: 3%;
    padding-left: 3%;
  }
  .about ul .light_card h3 span img {
    height: 20vw;
  }
}


/************ faq *******************/

.txt-cnts18-q {
  background: #EEC1EA;
  color: #ffffff;
}

.block-cnts18-q {
  background-color: #FFFDDB;
}


/** access **/

.acc-area-h {
  padding-bottom: 0;
}

.acc-data {
  margin-bottom: 0;
}


/**company**/

.mess-txt-inner {
  padding-bottom: 30px;
}

.company th,
.company td {
  line-height: 1.2;
  height: 45px;
  padding: 11px 10px 10px;
  border-bottom: 1px solid #a8926e;
  vertical-align: middle;
}

.mess-img img {
  padding-bottom: 10px;
  padding-left: 10px;
}


/**privacy**/

.tbl-company th {
  background-color: #EADCF3;
}


/**flow**/

.flow_ttl h2 {
  font-size: 18px;
}

.flow_ttl_icon {
  font-size: 18px;
  background-color: #91d2dc;
  color:#fff;
}

.flow .md_inner {
  padding-right: 25px;
  padding-left: 25px;
}

.service_img {
  width: 70px;
  height: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
}

@media screen and (max-width:480px){
  .flow_ttl_icon,.flow_ttl h2{
    font-size:13px;
  }
  .flow_ttl_icon {
    width: 70px;
  }
}


/*** 特徴 ***/

.concept .top_intro .mess-img ul {
  padding-left: 0;
}

.aoym-text {
  padding-right: 0;
  padding-left: 0;
}

.aoym-text p {
  letter-spacing: 0;
}

.about p.intro {
  margin-top: 6px;
  margin-bottom: 6px;
}

.concept .pint-item {
  margin-top: -10px;
}

.concept .voice .sec-ttl {
  padding-top: 0;
  padding-bottom: 20px;
}

.mes {
  background-position: center;
  height: 324px;
  /*  padding-top: 50px;*/
}

.osgs .mes {
  background: url(../img/osgs_bg.png) no-repeat;
  background-position: center, 40%;
}

.concept .osgs {
  margin-top: -20px;
}

.aoyama .mes {
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.1) 57%), url(../img/aoyama/osgs--bg-h324-1.png) no-repeat center;
  background-size: auto;
  height: 260px;
  margin-top: 20px;
  padding-top: 35px;
  padding-bottom: 25px;
}

.top_intro p,
.top_intro ul,
.mess-txt-inner p,
.mess-img ul {
  margin-top: 0;
}

@media screen and (max-width:640px) {
  .full_banner {
    background: url(../img/osgs_bg_sp.png) no-repeat;
    background-position: center;
    /*    background-size: cover;*/
  }
  .aoyama .mes {
    height: 205px;
    padding-top: 20px;
    background-image: url(../img/aoyama/osgs--bg-02.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    padding-right: 3%;
    padding-left: 3%;
  }
}

.btn_contact {
  display: block;
  width: 300px;
  padding: 11px 10px 9px;
  background-color: #F70D24;
  color: #fff;
  font-size: 18px;
  text-align: center;
  box-shadow: 0 4px 0 #a72e2a;
  margin: 0;
}

.btn_contact a {
  font-size: 16px;
  color: #fff;
  display: block;
}

.full_banner {
  width: 100%;
  position: relative;
}

.full_banner .btn_contact {
  position: absolute;
  left: 50%;
  bottom: 30px;
  transform: translateX(-50%);
}

.full_banner .btn_contact.line3 {
  bottom: 50px;
}

.btn_contact:hover {
  box-shadow: 0 2px 0 #a72e2a;
  bottom: 28px;
}

.aoyama.full_banner {
  position: relative;
}

.aoyama.full_banner .btn_contact {
  bottom: 80px;
}

.aoyama.full_banner .btn_contact:hover {
  bottom: 78px;
}

.aoyama .mes img,
img.aoym-ttl {
  max-height: 124px;
  max-width: 500px;
  height: auto;
  width: 100%;
  margin-bottom: 30px;
  margin-top: 5px;
}

.point_h3 {
  font-size: 20px;
}

.ls-s {
  letter-spacing: -1px;
}

.option .p_price_tbl th {
  font-size: 13px!important;
}

@media screen and (max-width: 768px) {
  .option .p_price_tbl {
    margin-top: 4vw;
  }
}

.option .p_price_tbl {
  padding: 0 5%;
}

.p_photo .photo_item,
.m_room .photo_item {
  width: 50%;
  height: 300px;
  overflow: hidden;
}

.p_photo .photo_item img {
  width: 100%;
  height: auto;
}

.p_photo .btn_contact {
  margin: 30px auto 0;
}

.table_wrap,
.about .cho_inner {
  padding: 0 0px;
}

.table_wrap.mt {
  margin-top: 20px;
}

td.f_nomal {
  font-size: 11px;
}

.plan_price{
    padding-top:60px;
}

.plan_price td.l_gray dl {
  margin: 7px 0 5px;
}

.plan_price .price_txt {
    font-size: 11px;
    margin: 1em 15px;
}

.table_wrap .col-md-4 {
  padding-right: 10px;
  padding-left: 10px;
}

@media screen and (max-width:480px){
  .table_wrap .col-md-4 {
  padding:0;
}
}

.eqip-item {
  max-width: 820px;
  margin: 0 auto;
}

.l_banner .osgs .mes {
  background: url(../img/IMG_8112.png) no-repeat center;
  background-size: cover;
  padding: 30px 0;
  height: 260px
}

.l_banner .osgs .mes {}

.top_page .table_wrap,
.m_room .p_price_tbl {
  margin-top: 13px;
}

.m_room .p_price_tbl th {
  font-size: 15px;
  vertical-align: middle !important;
}

#top_news {
  display: none;
}

.cho_instagram .sec-ttl {
  margin-bottom: 13px;
}

@media screen and (max-width: 768px) {
  .aoyama .mes img {
    width: 100%;
    height: auto;
  }
}


/***** コンテンツ上下スペース ******************************************************/

.main {
  padding: 50px 0 0px;
}

.reservation {
  padding: 0 0 55px;
}

.access {
  padding: 50px 0 0;
}

#news {
  padding: 20px 0;
}

.con_top_p {
  margin-top: -13px;
}

.con_top_ul {
  margin-top: -15px;
}

.con_bottom_ul {
  margin-bottom: -15px;
}

.con_top_hr {
  margin-top: -20px;
}

.con_top_hr {
  margin-bottom: -20px;
}

.con_bottom_table {
  margin-bottom: -20px;
}

.con_bottom_ul {
  margin-bottom: -15px;
}

.con_top_form {
  margin-top: -10px;
}

.con_botom_form {
  margin-bottom: -10px;
}

.con_bottom_img {
  margin-bottom: -23px;
}

.company_img ul {
  margin-bottom: -10px;
}

.main.top_page {
  padding-top: 0;
}

.con_bottom_insta {
  margin-bottom: -39px;
}

@media screen and (max-width: 768px) {
  .main {
    padding: 20px 0 0;
  }
  .main.plan {
    padding: 53px 0 70px;
  }
  .access {
    padding: 30px 0 5px;
  }
  #news {
    padding: 20px 0 50px;
  }
  .service>section {
    padding-bottom: 0px;
  }
  section div.pb30 {
    padding-bottom: 17px;
  }
  #first_under>p {
    margin-bottom: 0;
  }
  .box-reservation iframe {
    margin: 10px auto 0;
  }
}


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


/*  スマホヘッダーメニュー改修　*/

nav.sp_nav {
  display: none;
}

@media screen and (max-width:1024px) {
  .block-cmn-head {
    /*    padding-top: 10px;*/
  }
  nav.sp_nav {
    display: flex;
    justify-content: center;
    background-color: transparent;
    /*      width: 72.25%;*/
    margin-left: 75px;
  }
  .fig-logo {
    width: 90px;
    height: auto;
    margin: 10px 0 6px;
    left: 3%;
    top: 7px;
  }
  .block-cmn-head .block-inner {
    padding-right: 2%;
    padding-left: 2%;
    height: 52px;
  }
  .sp_nav ul {
    margin-bottom: 0;
    width: 100%;
    justify-content: flex-end;
    align-items: center;
  }
  .sp_nav li a {
    padding-right: 13px;
    padding-top: 19px;
    font-size: 10px;
  }
  .sp_nav li a.btn_orange,
  .sp_nav li a.btn_brown {
    /*    margin-top: -2px;*/
    height: 26px;
    width: 65px;
    margin-top: 0vw;
    margin-left: 3px;
    padding: 2px 0 0;
  }
  .sp_nav a.btn_orange,
  .sp_nav a.btn_brown {
    top: -4px;
  }
  .sp_nav li {
    position: relative;
  }
  .sp_nav label {
    margin-right: 5px;
  }
}


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

@media screen and (max-width:640px) {
  .p_photo .f-between,
  .f-between {
    flex-direction: row;
    -webkit-flex-direction: row;
  }
  .p_photo .photo_item,
  .m_room .photo_item {
    height: auto;
  }
  .table_wrap,
  .about .cho_inner {
    padding: 0;
  }
  img.aoym-ttl {
    padding: 0 5%;
  }
  .image-box {
    margin-left: 1.3% !important;
  }
  /******↓footer******/
  footer {
    padding-top: 15px;
  }
  .foot-info {
    margin-top: 7px;
    margin-bottom: 10px;
  }
  .footbar ul li a {
    font-size: 10px;
    padding-right: 10px;
  }
  .footbar>.flex {
    padding-left: 3%;
    padding-right: 2%;
  }
  /******↓page kv******/
  .page_kv {
	height: 100px;
  }
  h1.kv_ttl {
    margin-top: 2.5vw;
  }
  h1.kv_ttl span {
    display: none;
    margin-top: 0;
  }
  /******↓faq******/
  .txt-cnts18-q {
    min-height: 40px;
  }
  .txt-cnts18 {
    line-height: 1.5;
  }
  /******↓contact******/
  .ctct-submit input {
    margin-top: 17px;
  }
  .acc-img {
    overflow: hidden;
    height: 0;
    padding-bottom: 90%;
  }
  .acc-data {
    text-align: justify;
  }
  .acc-area-f {
    padding-bottom: 0;
  }
  /**company**/
  .mess-text p {
    line-height: 200%;
  }
  .company th,
  .company td {
    line-height: 24px;
  }
  .sec-ttl {
    font-size: 15px;
    padding-bottom: 10px;
  }
  .m_room_intro p {
    text-align: left;
  }
  .vir_intro {
    padding-bottom: 20px;
  }
  .pb50 {
    padding-bottom: 20px;
  }
  .aoym-text p {
    line-height: 200%;
  }
  .concept .aoym-text p:not(:last-child) {
    padding-bottom: 15px;
  }
  .sp_br_kaigyou {
    line-height: 10px;
  }
  .top_intro .aoym-text {
    padding-bottom: 20px;
  }
  .mes {
    height: 260px;
  }
  .osgs .mes {
    background-size: cover;
  }
  .btn_contact {
    width: 240px;
    font-size: 14.4px;
    bottom: 20px;
  }
  .btn_contact a {
    font-size: 14.4px;
  }
  .full_banner .btn_contact {
    bottom: 20px;
  }
  .top_ttl_w {
    text-align: center;
  }
  .light_card {
    margin: 15px auto;
  }
  .about .light_card h3 {
    margin-top: 0;
  }
  .pint-subttl {
    padding-top: 0;
    line-height: 1.3;
  }
  .cnc_point .pint-info {
    margin-top: 10px;
    margin-bottom: 0;
    line-height: 1.3;
  }
  .pint-parts {
    width: 100%;
  }
  .block-supporter p {
    padding-top: 0;
  }
  .aoyama.full_banner {
    margin-bottom: 10px;
  }
  .aoyama.full_banner .btn_contact {
    bottom: 45px;
  }
  .point_h3 {
    font-size: 15px;
    line-height: 140%;
    font-weight: bold;
    text-align: center;
    margin-bottom:12px;
  }
  .full_banner {
    background: none;
  }
  .gaiyou .pb70 {
    padding-bottom: 50px!important;
  }
  .gaiyou .f-end {
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
  }
  .gaiyou .figmt {
    margin-top: 5px;
  }
  /**flow**/
  .flow .md_inner {
    padding-right: 0;
    padding-left: 0;
  }
  /**top**/
  .hero {
    height: 280px;
  }
  dd span.f_big {
    font-size: 36px;
    line-height: 120%;
  }
  .p_price_tbl th {
    padding: 2vw 0!important;
    line-height: 1.2em!important;
  }
  table.p_price_tbl tr th span.appeal {
    margin-bottom: 2vw;
  }
  .osusume::after {
    top: 30px;
  }
  .full_banner .btn_contact {
    bottom: 30px;
  }
  .cho_instagram {
    display: none;
  }
  .l_banner.pb70 {
    padding-bottom: 0!important;
  }
  .plan_price.pb70,
  .equip.pb70 {
    padding-bottom: 30px!important;
  }
  .equip.pb70 {
    padding-bottom: 7vw !important;
  }
  .p_photo .sec-ttl {
    display: none;
  }
  .plan_box {
    padding-top: 0;
  }
  #plan_option .p_price_tbl.table-bordered th.active {
    border-bottom: none;
    padding: 3.2vw 0 3vw!important;
    line-height: 1;
  }
  /*.eqip-item > li.eqip-item04 {
    display: none;
  }*/
  .pb70 {
    padding-bottom: 30px!important;
  }
  .equip .sec-ttl {
    padding-bottom: 0;
  }
  .contact_header h3 {
    margin-bottom: 11.3px;
  }
  /* .contact_header>p:first-of-type,
  .contact_header>h3 {
    display: none;
  } */  .intro-ttl {
    font-size: 18px;
    line-height: 1.5;
  }
  .contact-ttl {
    font-size: 16px;
    line-height: 1.5;
  }
  .intro-ttl.meetingmb {
    padding-bottom: 0;
  }
  .main.m_room {
    /*margin-top: -10px;*/
  }
  .light_card h3 .about_img.mt {
    margin-top: 0;
    margin-bottom: 0;
  }
}

@media screen and (max-width:480px) {
  .acc-img {
    height: 320px;
    padding-bottom: 0;
  }
  dd span.f_big {
    font-size: 21px;
  }
  table.p_price_tbl td dl dd {
    font-size: 12px;
    margin-left: 0;
  }
  table.p_price_tbl tr th span.appeal {
    font-size:10px;
  }
}


/* 設備 */

.block-facilities {
  margin-top: 50px;
  /* margin-top: 30px; */
}

.lst-facilities {
  margin-top: -10px;
  padding-left: 0;
}

.lst-facilities li {
  width: 25%;
  margin-top: 30px;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .lst-facilities {
    margin-top: 0;
  }
  .lst-facilities li {
    width: 50%;
    margin-top: 3vw;
    padding: 0 3vw;
  }
}


/* 経路 */

.box-route {
  margin-top: 48px;
}

.lst-route {
  margin-top: 10px;
  padding-left: 0;
}

.lst-route li {
  width: 240px;
  margin-top: 20px;
}

.tx-route {
  line-height: 150%;
}

@media screen and (max-width: 768px) {
  .lst-route {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row!important;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-top: 5vw;
  }
  .lst-route li {
    width: 50%;
    margin-top: 3vw;
    padding: 0 3vw;
  }
}

@media screen and (max-width: 768px) {
  .lst-route {
    margin-top: 0;
  }
}


/* フッターメールアイコン部非表示要素 */



/*body.contactus .g_navi ul li:last-of-type,
body.contact .g_navi ul li:nth-last-of-type(2) {
  display: block!important;
  padding-right: 0;
}*/

@media screen and (max-width: 768px) {
  body.contactus .sp_nav ul li:nth-of-type(2),
  body.contactus .sp_nav ul li:nth-of-type(1),
  body.contact .sp_nav ul li:nth-of-type(2),
  body.contact .sp_nav ul li:nth-of-type(1) {
    display: none;
  }
  body.contactus .sp_nav li:nth-child(3),
  body.contact .sp_nav li:nth-child(3) {
    margin-top: 1.6vw;
  }
}


/* フッターバナー */

.lst-ftbana {
  display: none;
  margin-top: 20px;
  padding-left: 0;
}

.lst-ftbana li {
  width: 210px;
  margin-bottom: 20px;
  text-align: center;
  font-size: 12px;
}

.lst-ftbana li a {
  display: block;
}

.lst-ftbana li div {
  margin-bottom: 5px;
  text-align: center;
}


/* 特徴ページ　声詳細追加 */

.box-voice-more {
  width: 900px;
  margin: 60px auto 50px;
  background-color: #FFFFFF;
  padding: 18px 35px 18px 18px;
  border: 2px solid #EEC1EA;
}

.box-voice-more.top {
  margin-top: 0;
}

.box-voice-more .fig {
  width: 160px;
}

.box-voice-more .tx {
  width: 648px;
}

.box-voice-more p {
  margin: 0;
}

.box-voice-more .name p {
  color: #333333;
}

.box-voice-more .name .big {
  font-size: 20px;
}

.box-voice-more .name .mini {
  font-size: 15px;
}

.box-voice-more .lead {
  font-size: 15px;
  line-height: 2.4;
  color: #333333;
}

.box-voice-more .url {
  text-align: right;
  font-size: 10px;
  color: #333333;
}

@media screen and (max-width: 768px) {
  .box-voice-more,
  .box-voice-more.top {
    width: 100%;
    margin-top: 8vw;
    padding: 3vw;
  }
  .box-voice-more .tx {
    width: 100%;
  }
  .box-voice-more .fig {
    width: 100%;
    margin-bottom: 3vw;
    text-align: center;
  }
  .box-voice-more .name .big {
    font-size: 4.5vw;
  }
  .box-voice-more .name .mini,
  .box-voice-more .lead {
    font-size: 14px;
  }  .box-voice-more .url {
    margin-top: 2vw;
    font-size: 2.5vw;
  }
}


/* 料金プランキャンペーンテキスト追加 */

.camp {
  line-height: 2.4;
  color: #F70D24;
}

.mini {
  font-size: 11px;
}

.camp-attr {
  margin: 0 35px 10px;
  font-size: 11px;
}

.al-cnt {
  text-align: center;
}


/* 会議室ページ 予約状況追加 */

.box-reservation {
  text-align: center;
}

.box-reservation iframe {
  margin: 10px auto 35px;
}

.ancpos {
  display: block;
  position: relative;
  margin-top: -58px;
  padding-top: 58px;
  z-index: -1;
}

@media screen and (max-width: 768px) {
  .box-reservation iframe {
    width: 90%;
    margin: 3vw auto 13px;
  }
}


/* フッター電話番号非表示 at 20190611 by hama */

.contact_info {
  display: none;
}


/* 問い合わせに注意書き追加　at 20190618 by hama */

.ctct-attr {
  text-align: center;
  color: #FF3366;
  margin-bottom: 20px;
}

.ctct-attr .ctct-lead {
  color: #FF3366;
}

.con_bottom_table td {
  vertical-align: middle!important;
}

.col-sm-8 p {
  padding-left: 120px;
}

.col-sm-4 img {
  margin-left: 3px
}

.back {
  margin-bottom: 42px;
  margin-top: 42px;
}

.back p {
  font-size: 14px;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .back p {
    font-size: 13px;
  }
}
@media screen and (max-width: 768px) {
  .back {
    margin: 0 0 28px;
  }
}

@media screen and (max-width: 750px) {
  .telLink {
    text-decoration: underline;
  }
}

@media screen and (min-width: 751px) {
  .telLink {
    pointer-events: none;
  }
  .sp-only {
    display: none;
  }
}


/* 初回無料バナー、予約・問い合わせバナー　追加　at 20201129 by 大石 */

.banners {
  display: block;
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 60px;
  text-align: center;
}

@media screen and (max-width: 1024px) {
  .banners {
    padding: 0 5% 60px;
  }
}

@media screen and (max-width: 768px) {
  .banners {
    padding: 0 5% 30px;
  }
}


/* 問い合わせバナーSP版　*/

@media screen and (min-width: 769px) {
  .banner_contact_sp {
    display: none;
  }
}

.banner_contact_sp {
  margin-top: 10%;
}

#banner_contact {
  position: relative;
  width: 900px;
  height: 500px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 60px;
  background-image: url(../img/contactblo.png);
}

@media screen and (max-width: 768px) {
  #banner_contact {
    display: none;
  }
}

a.link_contact_us {
  display: block;
  position: absolute;
  top: 178px;
  left: 118px;
  width: 279px;
  height: 49px;
  /*border:1px solid red;*/
}

a.link_reservation {
  display: block;
  position: absolute;
  top: 287px;
  left: 174px;
  width: 556px;
  height: 48px;
  /*border: 1px solid green;*/
}

#banner_contact a span {
  display: none;
}

a.link_contact_us:hover,
a.link_reservation:hover {
  background-color: #fff;
  opacity: 0.2;
}

img[usemap] {
  border: none;
  height: auto;
  max-width: 100%;
  width: auto;
}


/* スマホ版　ハンバーガーメニュー　

*/

.menu-icon {
  font-size: 32px;
  color: #333333;
  width: 30px;
  padding-top: 3px;
  padding-right: 3px;
}

.menu-item {
  position: absolute;
  background-color: #fff;
  top: 42px;
  left: 0;
  width: 100%;
}

.menu-item ul {
  list-style-type: none;
  max-height: 0px;
  overflow: hidden;
  transition: all 0.5s;
}

.menu-item ul li {
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  border-bottom: 1px dotted #EEC1EA;
}

.menu-item ul li:first-child {
  border-top: 1px dotted #EEC1EA;
}

.menu-item ul li a {
  display: inline-block;
  padding: 10px;
  color: #333333;
  text-decoration: none;
  letter-spacing: 0.05em;
}

#checkbox {
  display: none;
}

#checkbox:checked~.menu-item ul {
  max-height: 416px;
  padding: 15px 0;
  transition: all 0.5s;
  box-shadow: 0 3px 0 #EEC1EA;
}


/* Low Resolution Tablets and iPads max-width: 767px */

@media (min-width: 1025px) {
  .menu-icon {
    display: none;
  }
  .menu-item {
    position: relative;
    top: -10px;
    background-color: transparent;
  }
  .menu-item ul {
    max-height: 70px;
    padding: 15px 0;
    text-align: right;
  }
  .menu-item ul li {
    display: inline-flex;
    padding-left: 20px;
  }
}


/* CHOCOLAサイト　からの流用　*/

.top_logo_h1 {
  display: block;
  height: 27px;
  position: absolute;
  top: 3px;
  left: 0px;
  font-size: 10px;
}

@media screen and (max-width: 768px) {
  h1.kv_ttl.view-pc {
    display: none;
  }
}

@media screen and (max-width: 768px) {
  .back {
    margin: 0 0 28px;
  }
}

@media screen and (max-width: 768px) {
  .footer_navi li a {
    font-size: 13px;
  }
}

@media screen and (max-width: 768px) {
  .foot-info {
    font-size: 13px;
  }
}
@media screen and (max-width: 1024px) {
  .view-sp-flex {
    display: flex;
  }
}

@media screen and (max-width: 768px) {
  #sitemap ul li {
    margin-left: 40px;
  }
}

@media screen and (max-width: 1024px) {
  .contact_btn_wrap.text-center.flex.f-center.view-sp {
    display: flex;
  }
}

/** ALWAYS AT THE BOTTOM */

@media screen and (max-width: 768px) {
  .view-sp {
    display: block;
  }
  .view-pc {
    display: none;
  }
}