@charset "UTF-8";
/*note: INDEXの表示は、コメントの「 index: 」でハイライト表示してください。*/
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: 外部ファイルの読み込み */
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: リセットCSS と body要素の文字（色・書体）と背景色*/
/* Body要素の背景色 */
/* Body要素の文字色 */
/* Body要素の書体 */
/* リセット用のプレイスフォルダ */
html, body, div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
font,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td {
  border: 0;
  font-family: inherit;
  font-size: 100%;
  font-weight: inherit;
  font-style: inherit;
  margin: 0;
  outline: 0;
  padding: 0;
  vertical-align: baseline; }

body {
  line-height: 1; }

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

body {
  background-color: #fff;
  color: #3B4043; }
  body a {
    color: #009BCF; }
    body a:hover {
      color: #009BCF; }
    body a:active {
      color: #009BCF; }
    body a:visited {
      color: #009BCF; }

body {
  font-family: YuGothic, -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
  font-size: 100%;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 2; }

/* リセット処理関数 */
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: メディアクエリー*/
/* 切り替えポイントの設定 */
/* 処理 */
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: クリアフィックス*/
/* Class と ステークホルダー の名称設定 */
/* 処理 */
.clearfix:after, html:after, body:after {
  content: "";
  display: block;
  clear: both; }

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: スクリーンリーダー*/
/* スクリーンリーダーテキスト の名称設定 */
/* 処理 */
.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute; }

/*
WYSIWYGエディタに関わる部分の設定し、ステークホルダーにてサイトの随所で再利用します。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
NOTE

・ リセットCSS適用後に再設定するための定義です。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
INDEX

#01 要素の基本定義

	#01-01 Colors
		font-color
		background-color
		background-image
		border-color（ top, right, bottom, left ）

	#01-02 font-family
		font-family
		@include (WebFontの読み込み)
		
	#01-03 border-style
		border-style

	#01-04 Fonts ( font-color font-family 以外を定義 ) 
		font
		line-height
		…
		
	#01-03 Box Model (梱包される親の横幅を100％使った時の定義)
		margin
		border-size
		padding
		…

	#01-05 layout
		display
		width
		height
		float
		…

#02 WYSIWYG部分の設定

/*
┌─────────────────────────────
│ #01 要素の基本定義
│ 
*/
.wysiwyg h1,
#tinymce h1, .wysiwyg h2,
#tinymce h2, .wysiwyg h3,
#tinymce h3, .wysiwyg h4,
#tinymce h4, .wysiwyg h5,
#tinymce h5, .wysiwyg h6,
#tinymce h6, .wysiwyg p,
#tinymce p, .wysiwyg ul,
#tinymce ul, .wysiwyg ol,
#tinymce ol, .wysiwyg dl,
#tinymce dl, table, .wysiwyg table,
#tinymce table {
  margin-left: auto;
  margin-right: auto; }

.wysiwyg h1,
#tinymce h1, .wysiwyg h2,
#tinymce h2, .wysiwyg h3,
#tinymce h3, .wysiwyg h4,
#tinymce h4, .wysiwyg h5,
#tinymce h5, .wysiwyg h6,
#tinymce h6, .wysiwyg p,
#tinymce p, .wysiwyg ul,
#tinymce ul, .wysiwyg ol,
#tinymce ol, .wysiwyg dl,
#tinymce dl, table, .wysiwyg table,
#tinymce table {
  margin-bottom: 2rem; }
  @media only screen and (max-width: 768px) {
    .wysiwyg h1,
    #tinymce h1, .wysiwyg h2,
    #tinymce h2, .wysiwyg h3,
    #tinymce h3, .wysiwyg h4,
    #tinymce h4, .wysiwyg h5,
    #tinymce h5, .wysiwyg h6,
    #tinymce h6, .wysiwyg p,
    #tinymce p, .wysiwyg ul,
    #tinymce ul, .wysiwyg ol,
    #tinymce ol, .wysiwyg dl,
    #tinymce dl, table, .wysiwyg table,
    #tinymce table {
      margin-bottom: 3vw; } }

.wysiwyg span,
#tinymce span {
  display: inline; }

.wysiwyg h1,
#tinymce h1 {
  font-size: 2.5em; }

.wysiwyg h2,
#tinymce h2 {
  font-size: 2em; }

.wysiwyg h3,
#tinymce h3 {
  font-size: 1.75em; }

.wysiwyg h4,
#tinymce h4 {
  font-size: 1.5em; }

.wysiwyg h5,
#tinymce h5 {
  font-size: 1.25em; }

.wysiwyg h6,
#tinymce h6 {
  font-size: 1em; }

.wysiwyg strong,
#tinymce strong {
  font-weight: bold; }

.wysiwyg img,
#tinymce img {
  max-width: 100%; }

.wysiwyg ul,
#tinymce ul {
  list-style: disc; }
  .wysiwyg ul ul,
  #tinymce ul ul,
  .wysiwyg ul ol,
  #tinymce ul ol {
    width: auto;
    margin-bottom: 0; }

.wysiwyg ol,
#tinymce ol {
  list-style: decimal; }
  .wysiwyg ol ul,
  #tinymce ol ul,
  .wysiwyg ol ol,
  #tinymce ol ol {
    width: auto;
    margin-bottom: 0; }

.wysiwyg li,
#tinymce li {
  margin-left: 1.5em; }

/*
┌─────────────────────────────
│ #02 WYSIWYG部分の設定
│ 
*/
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: リセットCSS と サイトの初期設定 */
html {
  font-size: 64%; }
  html * {
    box-sizing: border-box; }
  @media only screen and (max-width: 425px) {
    html {
      font-size: 2.6666666667vw; } }

:focus {
  outline: 0; }

ol,
ul {
  list-style: none; }

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

caption,
th,
td {
  font-weight: normal;
  text-align: left; }

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: ""; }

blockquote,
q {
  quotes: "" ""; }

a img {
  border: 0; }

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

small {
  font-size: 80%; }

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

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

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

.flex {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex; }

.flex-column2 {
  justify-content: space-between;
  flex-wrap: wrap; }
  .flex-column2 > * {
    width: calc(50% - 1.5rem); }
    @media only screen and (max-width: 768px) {
      .flex-column2 > * {
        width: 100%;
        margin: 2rem 0; } }

.flex-column3 {
  margin: 0 -1.5rem;
  flex-wrap: wrap; }
  @media only screen and (max-width: 768px) {
    .flex-column3 {
      margin: 0; } }
  .flex-column3 > * {
    width: calc(33.333% - 3rem);
    margin: 1.4rem; }
    @media only screen and (max-width: 768px) {
      .flex-column3 > * {
        width: 100%;
        margin: 1rem 0; } }

.flex-column4 {
  flex-wrap: wrap;
  margin: 0 -1.5rem; }
  @media only screen and (max-width: 768px) {
    .flex-column4 {
      margin: 0 -1rem; } }
  .flex-column4 > * {
    width: calc(25% - 3rem);
    margin: 1.5rem; }
    @media only screen and (max-width: 768px) {
      .flex-column4 > * {
        width: calc(50% - 2rem);
        margin: 1rem; } }

.flex-column5 {
  flex-wrap: wrap;
  margin: 0 -1.5rem; }
  @media only screen and (max-width: 768px) {
    .flex-column5 {
      margin: 0 -1rem; } }
  .flex-column5 > * {
    width: calc(20% - 3rem);
    margin: 1.5rem; }
    @media only screen and (max-width: 768px) {
      .flex-column5 > * {
        width: calc(50% - 2rem);
        margin: 1rem; } }

.flex-colume-reverse {
  flex-direction: column-reverse; }

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

.align-items-center {
  align-items: center; }

.flex-jsc-center {
  justify-content: center; }

.flex-jsc-sbetween {
  justify-content: space-between; }

.container {
  max-width: 1120px;
  width: 90%;
  margin: 0 auto;
  padding: 8rem 0; }
  @media only screen and (max-width: 768px) {
    .container {
      padding: 6rem 0; } }
  @media only screen and (max-width: 425px) {
    .container {
      padding: 10.6666666667vw 0; } }

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

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

.text-right {
  text-align: right; }

hr {
  background-color: #3B4043;
  width: 100%;
  height: 1px;
  margin: 0;
  border: 0; }

h2 {
  font-size: 2.4rem; }

p {
  font-size: 1.4rem; }

.anchor-target {
  margin-top: -130px;
  padding-top: 130px; }
  @media only screen and (max-width: 1024px) {
    .anchor-target {
      margin-top: -120px;
      padding-top: 120px; } }

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: ボタンのスタイル */
/*note: INDEXの表示は、コメントの「 index: 」でハイライト表示してください。*/
.button, .back-button-wrapper .back-button {
  display: inline-block;
  background-color: #009BCF;
  border: 1px solid #009BCF;
  color: #fff;
  text-decoration: none;
  font-size: 1.6rem;
  font-weight: bold;
  text-align: center;
  min-width: 320px;
  transition-duration: .1s;
  padding: 1rem; }
  @media only screen and (max-width: 425px) {
    .button, .back-button-wrapper .back-button {
      min-width: 280px;
      font-size: 1.4rem; } }
  .button:hover, .back-button-wrapper .back-button:hover {
    color: #fff;
    opacity: .8; }
  .button:visited, .back-button-wrapper .back-button:visited {
    color: #fff; }

.button-white {
  display: inline-block;
  background-color: #fff;
  border: 1px solid #3B4043;
  color: #3B4043;
  text-decoration: none;
  font-size: 1.6rem;
  font-weight: bold;
  text-align: center;
  min-width: 320px;
  transition-duration: .1s;
  padding: 1rem; }
  @media only screen and (max-width: 425px) {
    .button-white {
      min-width: 280px; } }
  .button-white:visited {
    color: #3B4043; }
    .button-white:visited:hover {
      color: #fff; }
  .button-white:hover {
    background-color: #009BCF;
    border-color: #009BCF;
    color: #fff; }

.button-arrow-left, .button-arrow-right {
  position: relative; }
  .button-arrow-left:before, .button-arrow-right:before, .button-arrow-left:after, .button-arrow-right:after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 18px;
    height: 1px;
    transition-duration: 0.3s;
    background-color: #fff; }

.button-arrow-left:before {
  left: 15px; }
.button-arrow-left:after {
  display: none; }
.button-arrow-left:hover:before {
  left: 10px; }

.button-arrow-right:before {
  display: none; }
.button-arrow-right:after {
  right: 15px;
  transition-duration: 0.3s; }
.button-arrow-right:hover:after {
  right: 10px; }

.button-wrapper {
  text-align: center; }

.button-white:after {
  background-color: #3B4043; }
.button-white:hover:after {
  background-color: #fff; }

.button-large {
  padding: .5em 1.75em;
  font-size: 1.25em;
  line-height: 1.5;
  border-radius: .3em; }

.button-small {
  padding: .25em 1.25em;
  font-size: .875em;
  line-height: 1.5;
  border-radius: .2em; }

.button-block {
  display: block;
  width: 100%;
  margin: auto;
  text-align: center; }

.button-contact {
  background-color: #009BCF;
  color: #fff;
  text-align: center;
  max-width: 200px; }
  .button-contact:hover {
    color: #fff; }
  .button-contact:visited {
    color: #fff; }

.back-button-wrapper {
  text-align: center; }

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: アイコンスタイル */
.icon-mail {
  display: inline-block;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  vertical-align: middle; }

.icon-mail {
  background-image: url(../images/common/icon-mail.svg);
  width: 18px;
  height: 14px;
  vertical-align: -2px; }

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: セクションタイトル */
.section-title {
  line-height: 1;
  margin-bottom: 3rem; }
  .section-title .en {
    color: #009BCF;
    display: inline-block;
    font-family: 'Playfair Display', serif;
    font-size: 4.8rem;
    padding-right: 10px;
    letter-spacing: 6px; }
  .section-title small {
    display: inline-block;
    font-size: 1.4rem; }
    @media only screen and (max-width: 425px) {
      .section-title small {
        display: block;
        margin-top: 5px;
        font-size: 1.2rem;
        line-height: 1.8; } }

.lead {
  font-size: 2.4rem;
  font-weight: bold;
  margin-bottom: 2rem; }
  @media only screen and (max-width: 425px) {
    .lead {
      font-style: 2rem; } }

.title {
  margin-bottom: 1rem; }

.text {
  font-size: 1.4rem; }
  @media only screen and (max-width: 425px) {
    .text {
      font-size: 3.7333333333vw; } }

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: テーブルスタイル */
table, .wysiwyg table,
#tinymce table {
  border-collapse: collapse;
  width: 100%; }
  table th, .wysiwyg table th,
  #tinymce table th, table td, .wysiwyg table td,
  #tinymce table td {
    border: 1px solid #000;
    font-size: 0.8666666667em;
    vertical-align: middle;
    padding: 5px 10px; }
    @media only screen and (max-width: 768px) {
      table th, .wysiwyg table th,
      #tinymce table th, table td, .wysiwyg table td,
      #tinymce table td {
        padding: 5px;
        font-size: 0.6666666667em; } }
  table th, .wysiwyg table th,
  #tinymce table th {
    text-align: center; }

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: 背景スタイル */
.background {
  background-color: #F6F4E8; }

.background-deco-top, .background-deco-bottom {
  background-image: url(../images/common/bg-deco.png);
  background-size: 100% 100%;
  background-repeat: no-repeat;
  width: 100%;
  height: 20px; }
  @media only screen and (max-width: 768px) {
    .background-deco-top, .background-deco-bottom {
      background-size: cover; } }

.background-deco-top {
  background-position: top;
  transform: rotate(180deg);
  margin-bottom: -1px; }

.background-deco-bottom {
  background-position: bottom;
  margin-top: -1px; }

.background-gray {
  background: #666; }

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: 番号ありリスト */
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: 番号ありリスト */
.disc-list {
  list-style: disc; }
  .disc-list ul,
  .disc-list ol {
    width: auto;
    margin-bottom: 0; }
  .disc-list li {
    margin-left: 2em; }

.disc-list {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-wrap: wrap; }
  .disc-list li {
    width: calc(33.333% - 2em);
    line-height: 2; }
    @media only screen and (max-width: 768px) {
      .disc-list li {
        width: calc(100% - 2em); } }

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: 投稿がない場合 */
.no-post {
  font-size: 2.5em;
  font-weight: bold;
  text-align: center;
  width: 100%;
  margin: 2rem auto 4rem; }
  @media only screen and (max-width: 768px) {
    .no-post {
      font-size: 2em;
      margin: 2rem auto; } }

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: modal */
.modalWrap {
  display: none;
  z-index: 1000;
  position: fixed;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  background: rgba(0, 0, 0, 0.6); }

.modalContents {
  display: none;
  z-index: 1001;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%; }
  .modalContents .modalItem {
    margin: 5% auto;
    max-width: 1050px; }
    @media only screen and (max-width: 768px) {
      .modalContents .modalItem {
        margin: 15% auto;
        max-width: auto;
        max-width: initial;
        width: 90%; } }
  .modalContents .closeBtn {
    margin: 0 0 10px;
    text-align: right; }
    .modalContents .closeBtn img {
      width: 30px; }
  .modalContents.modalYoutube .scroll {
    position: relative;
    padding: 56.5% 0 0; }
    .modalContents.modalYoutube .scroll iframe {
      position: absolute;
      left: 0;
      top: 0;
      width: 100%;
      height: 100%; }

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: parts用の外部ファイル読み込み */
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: ヘッダー */
#header-bg {
  position: fixed;
  top: 0;
  left: 0;
  background-color: #fff;
  width: 100%;
  height: 90px;
  z-index: 99; }
  @media only screen and (max-width: 1024px) {
    #header-bg {
      height: 80px; } }
  .admin-bar #header-bg {
    top: 32px; }
    @media screen and (max-width: 600px) {
      .admin-bar #header-bg {
        top: 0; } }

#header {
  height: 90px; }
  @media only screen and (max-width: 1024px) {
    #header {
      height: 80px; } }
  .home #header {
    height: 0; }

#header-fixed {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 101; }
  .admin-bar #header-fixed {
    top: 32px; }
    @media screen and (max-width: 600px) {
      .admin-bar #header-fixed {
        top: 0; } }

#header-nav {
  max-width: 1240px;
  width: 98%;
  background-color: #fff;
  border-radius: 50px;
  margin: 20px auto;
  padding: 0 30px;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  height: 50px; }
  @media (max-width: 1250px) {
    #header-nav {
      background-color: transparent;
      height: auto;
      margin: 10px auto;
      padding: 0;
      max-width: 100%;
      width: 100%; } }
  #header-nav .logo a {
    background-color: #fff;
    border-radius: 30px;
    display: block; }
    @media (max-width: 1250px) {
      #header-nav .logo a {
        padding: 10px 20px;
        margin-left: 10px; } }
    #header-nav .logo a:hover {
      opacity: .8; }
  #header-nav .logo img {
    width: 110px;
    height: 40px;
    vertical-align: middle; }

#global-nav > ul {
  list-style: none;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: flex-end;
  align-items: center; }
  #global-nav > ul > li {
    padding-left: 25px; }
    #global-nav > ul > li:first-child {
      padding-left: 15px; }
    #global-nav > ul > li a {
      color: #3B4043;
      display: block;
      font-size: 1.6rem;
      font-weight: bold;
      line-height: 1;
      text-decoration: none; }
      #global-nav > ul > li a:hover {
        color: #009BCF; }
    #global-nav > ul > li .icon-insta {
      width: 30px;
      height: 30px; }
  #global-nav > ul .sns-flex {
    display: -webkit-inline-flex;
    display: -moz-inline-flex;
    display: -ms-inline-flex;
    display: -o-inline-flex;
    display: flex;
    justify-content: center;
    padding-left: 10px; }
    #global-nav > ul .sns-flex a {
      margin: 0 10px; }
#global-nav .clearfix:after {
  display: none; }

.sns-btn {
  display: none; }

@media (max-width: 1250px) {
  /* Fixed reset */
  #mobile-head {
    float: right;
    margin-right: 10px; }

  .sns-btn {
    width: 60px;
    height: 60px;
    margin-right: 10px;
    display: inline-block;
    vertical-align: top;
    text-align: center; }
    .sns-btn a {
      display: inline-block;
      width: 60px;
      height: 60px;
      padding: 10px;
      background-color: #fff;
      border-radius: 30px; }
      .sns-btn a:hover {
        opacity: 1; }
      .sns-btn a img {
        width: 40px;
        height: 40px; }

  #mobile-nav-btn {
    vertical-align: top;
    display: inline-block;
    background-color: #009BCF;
    position: relative;
    border-radius: 30px;
    width: 60px;
    height: 60px;
    padding: 19px;
    cursor: pointer; }

  #global-nav {
    position: absolute;
    background-color: #fff;
    top: 0;
    width: 100%;
    text-align: center;
    z-index: -1;
    transition: opacity .25s, visibility 0s ease .25s;
    opacity: 0;
    visibility: hidden;
    padding: 0; }
    #global-nav ul {
      width: 100%;
      display: block;
      padding: 80px 0 3rem; }
      #global-nav ul li {
        margin: auto;
        padding: 0;
        width: 90%;
        border-bottom: 1px solid #ccc; }
        #global-nav ul li:first-child {
          border-top: 1px solid #ccc;
          padding-left: 0; }
        #global-nav ul li a {
          display: block;
          font-size: 1.6rem;
          padding: 1.6rem 0;
          text-align: left;
          position: relative; }
          #global-nav ul li a:hover {
            color: #3B4043; }
          #global-nav ul li a:after {
            content: '';
            position: absolute;
            top: 0;
            bottom: 0;
            right: 10px;
            transform: rotate(45deg);
            width: 10px;
            height: 10px;
            border: 1px solid #000;
            border-width: 1px 1px 0 0;
            margin: auto; }
      #global-nav ul .sns-flex a {
        padding: 1rem;
        margin: 0 5px; }
        #global-nav ul .sns-flex a::after {
          content: none; }

  /* Toggle Button */
  #nav-toggle {
    position: absolute;
    display: inline-block;
    transition: all .4s;
    box-sizing: border-box;
    width: 22px;
    height: 22px; }
    #nav-toggle span {
      display: inline-block;
      transition: all .4s;
      box-sizing: border-box;
      position: absolute;
      left: 0;
      width: 100%;
      height: 2px;
      background-color: #fff; }
      #nav-toggle span:nth-child(1) {
        top: 1px; }
      #nav-toggle span:nth-child(2) {
        margin: auto;
        top: 0;
        bottom: 0; }
      #nav-toggle span:nth-child(3) {
        bottom: 1px; }

  .open {
    /* #global-nav スライドアニメーション */ }
    .open #nav-toggle span:nth-child(1) {
      -webkit-transform: translateY(9px) rotate(-45deg);
      transform: translateY(9px) rotate(-45deg); }
    .open #nav-toggle span:nth-child(2) {
      opacity: 0; }
    .open #nav-toggle span:nth-child(3) {
      -webkit-transform: translateY(-9px) rotate(45deg);
      transform: translateY(-9px) rotate(45deg); }
    .open #global-nav {
      transition-delay: 0s;
      opacity: 1;
      visibility: visible; } }
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: 共通フッター*/
/*下からの距離が変化して全体が下→上→下に動く*/
@keyframes arrowmove {
  0% {
    top: 1%; }
  50% {
    top: 3%; }
  100% {
    top: 1%; } }
#pagetop {
  position: absolute;
  right: 5%;
  animation: arrowmove 1s ease-in-out infinite;
  transform: translateY(-50%);
  z-index: 99; }
  @media only screen and (max-width: 768px) {
    #pagetop {
      display: none; } }
  #pagetop span {
    bottom: 10px;
    color: #000;
    line-height: 1;
    font-size: 1.6rem;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl; }
  #pagetop:after {
    content: "";
    position: absolute;
    top: 0;
    width: 1px;
    right: 3px;
    height: 15px;
    background-color: #000;
    transform: skewX(30deg); }
  #pagetop:before {
    content: "";
    display: block;
    margin: auto;
    width: 1px;
    height: 30px;
    background-color: #000; }

#footer {
  background-color: #F6F4E8;
  text-align: center;
  position: relative; }
  #footer .container {
    padding: 4rem 0; }
  #footer .logo {
    display: inline-block;
    margin-bottom: 4rem; }
    @media only screen and (max-width: 768px) {
      #footer .logo {
        margin-bottom: 0; } }
    #footer .logo img {
      width: 200px;
      height: 70px; }
  @media only screen and (max-width: 768px) {
    #footer #footer-nav {
      display: none; } }
  #footer #footer-nav > ul {
    list-style: none;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: center;
    align-items: center; }
    #footer #footer-nav > ul > li {
      padding: 0 13px; }
      #footer #footer-nav > ul > li a {
        color: #3B4043;
        display: block;
        font-size: 1.2rem;
        font-weight: bold;
        line-height: 1;
        text-decoration: none; }
        #footer #footer-nav > ul > li a:hover {
          color: #009BCF; }
      #footer #footer-nav > ul > li .icon-insta {
        width: 24px;
        height: 24px; }
  #footer #copyright {
    display: block;
    width: 100%;
    background-color: #3B4043;
    color: #fff;
    font-size: 1rem;
    padding: 1rem; }

@media only screen and (max-width: 1024px) {
  #footer #footer-nav > ul {
    flex-wrap: wrap; }
    #footer #footer-nav > ul > li {
      width: calc(100%/9);
      padding: 0 5px;
      margin: 5px 0; } }
/*index: サイドバー */
#sidebar {
  width: 300px;
  float: right; }
  @media only screen and (max-width: 768px) {
    #sidebar {
      width: 100%;
      float: none;
      margin: 2rem 0; } }

.widget-area {
  margin-bottom: 2rem; }
  @media only screen and (max-width: 768px) {
    .widget-area {
      margin: 2rem 0 0; } }
  .widget-area h2 {
    font-size: 2rem;
    font-weight: bold; }
    @media only screen and (max-width: 768px) {
      .widget-area h2 {
        font-size: 1.8rem; } }
  .widget-area ul {
    width: 100%; }
    .widget-area ul li a {
      color: #3B4043;
      display: block;
      font-size: 1.4rem; }
      .widget-area ul li a:hover {
        color: #009BCF; }

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: パンくずリスト*/
#header-breadcrumb {
  max-width: 1120px;
  width: 90%;
  margin: 2rem auto;
  font-size: 1.2rem; }
  @media only screen and (max-width: 768px) {
    #header-breadcrumb {
      margin: 1rem auto; } }
  #header-breadcrumb li {
    display: inline-block; }
    #header-breadcrumb li + li:before {
      content: '>';
      padding: 0 0.5rem; }

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: ページネーション*/
.pagination {
  width: 100%; }
  .pagination .nav-links {
    margin: 40px 0;
    text-align: center; }
    .pagination .nav-links a,
    .pagination .nav-links span {
      display: inline-block;
      width: 50px;
      line-height: 48px;
      border: 1px solid #009BCF;
      background-color: #fff;
      margin: 0 5px;
      font-size: 1.4em;
      color: #009BCF;
      text-decoration: none; }
      @media only screen and (max-width: 768px) {
        .pagination .nav-links a,
        .pagination .nav-links span {
          font-size: 1.2rem;
          margin: 0; } }
      .pagination .nav-links a:hover,
      .pagination .nav-links span:hover {
        background: #009BCF;
        border-color: #009BCF;
        color: #fff; }
    .pagination .nav-links .current {
      background: #009BCF;
      border-color: #009BCF;
      color: #fff; }

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: ページタイトル*/
#page-title {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  max-width: 1120px;
  margin: auto;
  padding-left: 1rem; }
  #page-title-wrapper {
    overflow: hidden; }
  #page-title:after {
    content: '';
    display: inline-block;
    height: 150px;
    width: 70%;
    background-image: url(../images/store/bg@2x.jpg);
    background-size: contain; }
    @media only screen and (max-width: 425px) {
      #page-title:after {
        width: 60%;
        height: 100px;
        background-size: cover; } }
  #page-title .p-title {
    border-left: 1px solid #009BCF;
    font-size: 2rem;
    font-weight: bold;
    padding: 2rem 1rem 0;
    line-height: 1; }
    @media only screen and (max-width: 425px) {
      #page-title .p-title {
        padding-top: 1rem;
        font-size: 1.4em; } }
  #page-title .en {
    display: block;
    font-family: 'Heebo', sans-serif;
    font-size: 5.8rem; }
    @media only screen and (max-width: 425px) {
      #page-title .en {
        font-size: 3.4rem; } }

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: ヒーローイメージ*/
#hero {
  position: relative;
  z-index: 100; }

.hero-slider img {
  width: 100%; }

.slider-text {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 5%;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  text-align: left;
  margin: 0; }
  @media only screen and (max-width: 768px) {
    .slider-text {
      left: 2%; } }
  .slider-text img {
    max-width: 431px; }
    @media only screen and (max-width: 768px) {
      .slider-text img {
        max-width: 310px; } }

.slide-deco {
  width: 100%;
  height: 75px;
  background-image: url(../images/slider/slide-deco@2x.png);
  background-repeat: no-repeat;
  background-size: 100% 100%;
  background-position: bottom;
  position: absolute;
  bottom: -1px;
  left: 0;
  right: 0; }
  @media only screen and (max-width: 768px) {
    .slide-deco {
      background-size: 100% auto; } }

#hero-slider-nav .slick-dots {
  bottom: 0; }
  #hero-slider-nav .slick-dots li button:before {
    content: '●';
    opacity: .6;
    color: #009BCF; }
  #hero-slider-nav .slick-dots li button:hover:before {
    opacity: 1; }
  #hero-slider-nav .slick-dots li.slick-active button:before {
    opacity: 1; }

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: ホーム concept */
#home-concept .flex {
  justify-content: space-between;
  align-items: flex-start; }
  @media only screen and (max-width: 768px) {
    #home-concept .flex {
      display: block; } }
  #home-concept .flex .box {
    width: 55%; }
    @media only screen and (max-width: 768px) {
      #home-concept .flex .box {
        width: 100%; } }
    #home-concept .flex .box:first-child {
      width: 45%; }
      @media only screen and (max-width: 768px) {
        #home-concept .flex .box:first-child {
          width: 60%; } }
      @media only screen and (max-width: 425px) {
        #home-concept .flex .box:first-child {
          width: 90%; } }
#home-concept .container {
  padding-top: 0; }
#home-concept .section-title {
  border-left: 2px solid #009BCF;
  padding-top: 8rem; }
  @media only screen and (max-width: 768px) {
    #home-concept .section-title {
      padding-top: 4rem; } }
#home-concept .text {
  font-size: 1.6rem;
  padding-top: 8rem; }
  @media only screen and (max-width: 768px) {
    #home-concept .text {
      padding-top: 0; } }

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: ホーム SNS */
#home-insta {
  padding: 8rem 0; }
  #home-insta .button-wrapper {
    margin-top: 6rem; }
  #home-insta .button-white {
    font-family: 'Heebo', sans-serif; }
    #home-insta .button-white:before {
      content: '';
      position: absolute;
      width: 37px;
      height: 37px;
      background-image: url(../images/common/icon-insta.svg);
      background-size: contain;
      background-position: center;
      background-repeat: no-repeat;
      display: block;
      background-color: transparent; }

.my-insta-box {
  width: 100%;
  overflow: hidden; }
  .my-insta-box #sb_instagram {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important; }
  .my-insta-box .sbi_item {
    width: 300px !important;
    max-width: 55.3333333333vw !important; }
    @media only screen and (max-width: 768px) {
      .my-insta-box .sbi_item {
        width: 200px !important; } }
  .my-insta-box .sbi_photo {
    height: 300px !important;
    max-height: 76vw !important; }
    @media only screen and (max-width: 768px) {
      .my-insta-box .sbi_photo {
        height: 200px !important; } }
  .my-insta-box #sb_instagram #sbi_images .sbi_item {
    padding: 0 !important;
    margin: 0 5px !important; }
  .my-insta-box #sb_instagram .sbi_photo {
    outline: 0; }

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: ホーム 特集 */
#home-special .container {
  max-width: 1440px;
  width: 100%;
  padding: 6rem 0 12rem; }
  @media only screen and (max-width: 768px) {
    #home-special .container {
      padding: 6rem 0; } }
#home-special .box {
  position: relative; }
#home-special .image {
  max-width: 960px;
  width: 70%;
  overflow: hidden;
  position: relative; }
  @media only screen and (max-width: 768px) {
    #home-special .image {
      width: 100%; } }
  #home-special .image:after {
    content: '';
    position: absolute;
    background-color: rgba(255, 255, 255, 0.3);
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
    bottom: 0;
    display: block;
    transition-duration: .3s; }
  #home-special .image img {
    width: 100%;
    height: auto;
    transition-duration: .3s; }
#home-special .caption {
  position: absolute;
  background-color: #fff;
  padding: 6rem 7%;
  max-width: 680px;
  width: 50%;
  right: 0;
  top: -1px; }
  @media only screen and (max-width: 768px) {
    #home-special .caption {
      padding: 4rem 2rem;
      position: relative;
      top: 0;
      width: 90%;
      margin: -5rem auto 0; } }
#home-special .title {
  margin-bottom: 4rem; }
  @media only screen and (max-width: 768px) {
    #home-special .title {
      margin-bottom: 2rem; } }
  #home-special .title span {
    font-size: 3.6rem;
    font-weight: bold;
    line-height: 1.4; }
    @media only screen and (max-width: 768px) {
      #home-special .title span {
        font-size: 3rem; } }
  #home-special .title small {
    display: block;
    color: #009BCF;
    font-family: 'Heebo', sans-serif;
    font-size: 1.6rem; }
#home-special .button-wrapper {
  margin-top: 5rem;
  text-align: left; }
  @media only screen and (max-width: 768px) {
    #home-special .button-wrapper {
      text-align: center; } }
#home-special .button {
  width: 90%;
  max-width: 320px;
  min-width: inherit; }
#home-special a:hover .image:after {
  opacity: 0; }
#home-special a:hover img {
  transform: scale(1.1); }

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: ホーム 素材 */
#home-material {
  background-color: #F6F4E8; }
  #home-material .container {
    padding: 6rem 0;
    position: relative; }
    @media only screen and (max-width: 425px) {
      #home-material .container {
        padding: 6rem 0 4rem; } }
  #home-material .section-title {
    position: absolute;
    top: -30px;
    left: 0;
    margin: 0; }
  #home-material .flex {
    justify-content: space-between; }
    @media only screen and (max-width: 768px) {
      #home-material .flex {
        display: block; } }
  @media only screen and (max-width: 768px) {
    #home-material .box {
      margin: 3rem 0; } }
  #home-material .box a {
    color: #3B4043;
    text-decoration: none; }
    #home-material .box a:hover img {
      transform: scale(1.1); }
  #home-material .box .image {
    overflow: hidden; }
    #home-material .box .image img {
      transition-duration: .3s; }
  #home-material .box .title {
    font-weight: bold;
    margin-top: 1rem; }
  #home-material .box small {
    font-size: 1.2rem; }
  #home-material .box span {
    display: block;
    font-size: 3rem;
    line-height: 1.5; }
  #home-material .box .text {
    border-top: 1px solid #CDD6DD;
    padding-top: 1rem; }
  #home-material .box:nth-child(3) span {
    font-size: 2.3rem; }

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: ホーム 商品 */
#home-product .flex {
  justify-content: space-between;
  flex-wrap: wrap; }
#home-product .box {
  margin-bottom: 1.5rem; }
#home-product a:hover {
  opacity: .8; }
#home-product .button-wrapper {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around; }
  #home-product .button-wrapper .button-white {
    margin-top: 6rem; }
    @media only screen and (max-width: 768px) {
      #home-product .button-wrapper .button-white {
        margin-top: 4rem; } }

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: ホームのお知らせ一覧*/
#home-information {
  background-color: #f6f4e8;
  position: relative;
  z-index: 1; }
  #home-information .container {
    padding: 6rem 0;
    position: relative; }
    @media only screen and (max-width: 425px) {
      #home-information .container {
        padding: 6rem 0 4rem; } }
  #home-information .section-title {
    position: absolute;
    top: -30px;
    left: 0;
    margin: 0; }
  #home-information .list {
    position: relative;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 2rem; }
    @media only screen and (max-width: 425px) {
      #home-information .list {
        display: block; } }
    #home-information .list > a {
      background-color: #fff;
      color: inherit;
      display: block;
      text-decoration: none;
      width: calc(50% - 15px);
      margin: 10px 0;
      padding: 20px;
      padding-right: 40px;
      position: relative; }
      @media only screen and (max-width: 425px) {
        #home-information .list > a {
          width: 100%;
          padding: 5.3333333333vw;
          padding-right: 10.6666666667vw; } }
      #home-information .list > a:after {
        content: '';
        position: absolute;
        display: block;
        top: 0;
        bottom: 0;
        right: 20px;
        margin: auto;
        transform: rotate(45deg);
        width: 12px;
        height: 12px;
        border: 1px solid #009BCF;
        border-width: 2px 2px 0 0;
        transition-duration: .3s; }
        @media only screen and (max-width: 425px) {
          #home-information .list > a:after {
            right: 5.3333333333vw; } }
      #home-information .list > a:before {
        transition-duration: .3s;
        content: '';
        width: 0;
        height: 5px;
        background-color: #009BCF;
        display: block;
        left: 0;
        bottom: 0;
        position: absolute; }
      #home-information .list > a:hover {
        color: #009BCF; }
        #home-information .list > a:hover:after {
          right: 15px; }
          @media only screen and (max-width: 425px) {
            #home-information .list > a:hover:after {
              right: 4vw; } }
        #home-information .list > a:hover:before {
          width: 100%; }
      #home-information .list > a .meta {
        color: #3B4043;
        display: inline-block;
        font-size: 1.4rem;
        line-height: 1;
        vertical-align: middle; }
      #home-information .list > a .tag-wrapper {
        display: inline-block;
        vertical-align: middle; }
      #home-information .list > a .title {
        border-top: 1px solid #CDD6DD;
        font-size: 1.6rem;
        margin-top: 15px;
        padding-top: 10px; }

.tag {
  background: #009BCF;
  border-radius: 3px;
  color: #fff;
  display: inline-block;
  font-size: 1.2rem;
  font-weight: bold;
  text-align: center;
  margin-left: 1rem;
  padding: 0 1rem;
  word-break: keep-all; }
  @media only screen and (max-width: 768px) {
    .tag {
      padding: 0 .5rem; } }
  .tag.campaign {
    background: #6fba2c; }
  .tag.media {
    background: #f5a200; }
  .tag.blog {
    background: #333; }

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: jsライブラリ専用外部ファイル読み込み */
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: slickスライダーの共通設定*/
/* Slider */
.slick-loading .slick-list {
  background: #fff url("./../images/ajax-loader.gif") center center no-repeat; }

/* Icons */
@font-face {
  font-family: "slick";
  src: url("./fonts/slick.eot");
  src: url("./fonts/slick.eot?#iefix") format("embedded-opentype"), url("./fonts/slick.woff") format("woff"), url("./fonts/slick.ttf") format("truetype"), url("./fonts/slick.svg#slick") format("svg");
  font-weight: normal;
  font-style: normal; }
/* Arrows */
.slick-prev,
.slick-next {
  position: absolute;
  display: block;
  height: 30px;
  width: 30px;
  line-height: 0px;
  font-size: 0px;
  cursor: pointer;
  background: transparent;
  color: transparent;
  -webkit-transform: translate(0, 11%);
  -ms-transform: translate(0, 11%);
  transform: translate(0, 11%);
  padding: 0;
  border: none;
  outline: none;
  top: 0;
  bottom: 0;
  margin: auto; }
  @media only screen and (max-width: 1024px) {
    .slick-prev,
    .slick-next {
      -webkit-transform: translate(0, 14%);
      -ms-transform: translate(0, 14%);
      transform: translate(0, 14%); } }
  @media only screen and (max-width: 768px) {
    .slick-prev,
    .slick-next {
      -webkit-transform: translate(0, 20%);
      -ms-transform: translate(0, 20%);
      transform: translate(0, 20%); } }
  .slick-prev:hover, .slick-prev:focus,
  .slick-next:hover,
  .slick-next:focus {
    outline: none;
    background: transparent;
    color: transparent; }
    .slick-prev:hover:before, .slick-prev:focus:before,
    .slick-next:hover:before,
    .slick-next:focus:before {
      opacity: 1; }
  .slick-prev.slick-disabled:before,
  .slick-next.slick-disabled:before {
    opacity: 0.25; }
  .slick-prev:before,
  .slick-next:before {
    font-family: "slick";
    font-size: 30px;
    line-height: 0;
    color: #009BCF;
    opacity: 0.75;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; }

.slick-prev {
  left: -14px;
  z-index: 2; }
  [dir="rtl"] .slick-prev {
    left: auto;
    right: -25px; }
  .slick-prev:before {
    content: "←"; }
    [dir="rtl"] .slick-prev:before {
      content: "→"; }

.slick-next {
  right: -14px;
  z-index: 2; }
  [dir="rtl"] .slick-next {
    left: -25px;
    right: auto; }
  .slick-next:before {
    content: "→"; }
    [dir="rtl"] .slick-next:before {
      content: "←"; }

/* Dots */
.slick-dotted.slick-slider {
  margin-bottom: 20px; }
  @media only screen and (max-width: 1024px) {
    .slick-dotted.slick-slider {
      margin-bottom: 10px; } }

.slick-dots {
  position: absolute;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
  width: 100%; }
  .slick-dots li {
    position: relative;
    display: inline-block;
    height: 20px;
    width: 20px;
    margin: 0 1px;
    padding: 0;
    cursor: pointer; }
    .slick-dots li button {
      border: 0;
      background: transparent;
      display: block;
      height: 20px;
      width: 20px;
      outline: none;
      line-height: 0px;
      font-size: 0px;
      color: transparent;
      padding: 5px;
      cursor: pointer; }
      .slick-dots li button:hover, .slick-dots li button:focus {
        outline: none; }
        .slick-dots li button:hover:before, .slick-dots li button:focus:before {
          color: #009BCF;
          opacity: 0.25; }
      .slick-dots li button:before {
        position: absolute;
        top: 0;
        left: 0;
        content: "■";
        width: 20px;
        height: 20px;
        font-family: "slick";
        font-size: 12px;
        line-height: 20px;
        text-align: center;
        color: #fff;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale; }
    .slick-dots li.slick-active button:before {
      color: #009BCF;
      opacity: 1; }

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent; }

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0; }
  .slick-list:focus {
    outline: none; }
  .slick-list.dragging {
    cursor: pointer;
    cursor: hand; }

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto; }
  .slick-track:before, .slick-track:after {
    content: "";
    display: table; }
  .slick-track:after {
    clear: both; }
  .slick-loading .slick-track {
    visibility: hidden; }

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none; }
  [dir="rtl"] .slick-slide {
    float: right; }
  .slick-slide img {
    display: block; }
  .slick-slide.slick-loading img {
    display: none; }
  .slick-slide.dragging img {
    pointer-events: none; }
  .slick-initialized .slick-slide {
    display: block; }
  .slick-loading .slick-slide {
    visibility: hidden; }
  .slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent; }

.slick-arrow.slick-hidden {
  display: none; }

.slider {
  display: none; }
  .slider * {
    box-sizing: border-box;
    line-height: 0; }
  .slider.slick-slider {
    display: block; }
  .slider .slick-track .slick-slide a:hover {
    opacity: .8; }
  .slider .slick-track .slick-slide img {
    width: 100%;
    height: auto;
    margin: auto;
    vertical-align: middle;
    display: block; }
  .slider .slick-arrow {
    z-index: 9;
    width: 26px;
    height: 39px;
    margin: auto;
    top: 0;
    bottom: 0;
    transform: none; }
    .slider .slick-arrow:before {
      content: '';
      display: block;
      width: 100%;
      height: 100%;
      background-image: url(../images/slider-arrow.svg);
      background-repeat: no-repeat;
      background-size: contain;
      background-position: center;
      opacity: 1; }
    .slider .slick-arrow:hover {
      opacity: 0.8; }
    .slider .slick-arrow.slick-prev {
      left: 10px;
      transform: rotate(180deg); }
      @media only screen and (max-width: 768px) {
        .slider .slick-arrow.slick-prev {
          left: 0; } }
    .slider .slick-arrow.slick-next {
      right: 10px; }
      @media only screen and (max-width: 768px) {
        .slider .slick-arrow.slick-next {
          right: 0; } }
  .slider .slick-dots {
    bottom: 20px; }
    .slider .slick-dots li {
      width: 15px;
      height: 15px; }
      .slider .slick-dots li button {
        width: 15px;
        height: 15px;
        background: #fff;
        border: 1px solid #F6F4E8;
        border-radius: 50%; }
        .slider .slick-dots li button:before {
          content: none; }
      .slider .slick-dots li.slick-active button {
        background: #F6F4E8; }
  .slider.slick-dotted {
    margin-bottom: 0; }

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: 固定ページ専用外部ファイル読み込み */
/*note: INDEXの表示は、コメントの「 index: 」でハイライト表示してください。*/
.form .hissu,
.form .wpcf7-not-valid-tip {
  color: #ff0200; }
.form .contact-title {
  font-weight: bold; }
.form dl,
.form dt,
.form dd {
  box-sizing: border-box; }
.form dl {
  display: flex;
  width: 100%;
  margin: 40px 0; }
  .form dl.naiyou {
    align-items: flex-start; }
  @media only screen and (max-width: 768px) {
    .form dl {
      display: block; } }
.form form {
  max-width: 800px;
  margin: auto; }
.form dt {
  width: 30%;
  color: #000; }
  @media only screen and (max-width: 768px) {
    .form dt {
      width: 100%;
      margin-bottom: 5px; } }
.form dd {
  width: 70%; }
  @media only screen and (max-width: 768px) {
    .form dd {
      width: 100%; } }
.form input[type="text"] {
  border: 1px solid #ccc;
  font-size: 100%;
  width: 100%;
  height: 30px;
  -webkit-appearance: none;
  border-radius: 0; }
.form label::before,
.form label::after {
  content: none; }
.form input[type="email"] {
  border: 1px solid #ccc;
  font-size: 100%;
  width: 100%;
  height: 30px;
  -webkit-appearance: none;
  border-radius: 0; }
.form textarea {
  border: 1px solid #ccc;
  font-size: 100%;
  width: 100%;
  height: 170px;
  max-width: 100%;
  max-height: 250px;
  min-height: 170px;
  min-width: 100%;
  -webkit-appearance: none;
  border-radius: 0; }
.form input[type="submit"] {
  -webkit-appearance: none;
  border-radius: 0; }
.form .soushin {
  max-width: 224px;
  width: 100%;
  height: 50px;
  margin: auto; }
.form .button {
  cursor: pointer; }
  .form .button-wrapper {
    text-align: center;
    margin: 2rem 0 4rem; }
.form span.ajax-loader {
  display: block;
  margin: 1em auto; }
.form .scroll {
  max-width: 800px;
  height: 300px;
  margin: auto;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  background: #fff;
  border: 3px solid #009BCF;
  border-radius: 5px 5px;
  padding: 2rem 1rem; }
  .form .scroll .scroll-last {
    margin-bottom: 0; }
.form .complete {
  min-height: 360px;
  display: none; }
  .form .complete h1 {
    font-size: 2em; }
.form .mw_wp_form_complete + .complete {
  display: block; }
  .form .mw_wp_form_complete + .complete + #policy {
    display: none; }
.form .mw_wp_form_confirm + .complete + #policy {
  display: none; }
.form .policy {
  font-size: 0.9em; }
  .form .policy h2 {
    font-size: 1.1em; }
  .form .policy h3 {
    font-size: 1em; }

.accessarea {
  text-align: center; }
  @media only screen and (max-width: 768px) {
    .accessarea {
      text-align: left; } }
  .accessarea label {
    cursor: pointer; }

.photo-margin {
  display: inline;
  float: right;
  margin: 0 0 20px 20px; }

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: 店舗 */
.p-store .area {
  margin-bottom: 8rem; }
  @media only screen and (max-width: 768px) {
    .p-store .area {
      margin-bottom: 6rem; } }
  @media only screen and (max-width: 425px) {
    .p-store .area {
      margin-bottom: 10.6666666667vw; } }

.p-store-lead {
  font-size: 1.4rem;
  text-align: center;
  padding: 0 0 6rem; }
  @media only screen and (max-width: 768px) {
    .p-store-lead {
      font-size: 1.3rem;
      text-align: left; } }
  @media only screen and (max-width: 425px) {
    .p-store-lead {
      padding: 0 0 10.6666666667vw; } }

.areaname {
  border-bottom: 1px solid #ccc;
  font-size: 3.2em;
  font-weight: bold;
  margin-bottom: 1rem; }
  @media only screen and (max-width: 425px) {
    .areaname {
      font-size: 2rem; } }

.arealist {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-wrap: wrap;
  margin: 0 -1rem 4rem; }
  @media only screen and (max-width: 768px) {
    .arealist {
      margin: 0 -0.5em 4rem; } }
  .arealist .child {
    width: 20%;
    padding: 1rem; }
    @media only screen and (max-width: 768px) {
      .arealist .child {
        width: 33.333%;
        padding: .5rem; } }
    .arealist .child a {
      border: 1px solid #333;
      color: #3B4043;
      display: block;
      font-size: 1.4rem;
      font-weight: bold;
      text-decoration: none;
      text-align: center;
      padding: 1.5rem 0; }
      @media only screen and (max-width: 425px) {
        .arealist .child a {
          padding: 1rem 0; } }
      .arealist .child a:hover {
        background-color: #333;
        color: #fff;
        text-decoration: none; }

.storewrapper {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }

.shopname {
  font-size: 1.8rem;
  font-weight: bold;
  margin: 3rem 0 0;
  padding: 1rem 1.5rem;
  background-color: #e6e6e6; }
  @media only screen and (max-width: 768px) {
    .shopname {
      padding: 1rem;
      font-size: 1.6rem; } }
  .shopname.blank {
    padding: 2.7rem 1.5rem; }
    @media only screen and (max-width: 768px) {
      .shopname.blank {
        padding: 2.6rem 1rem; } }

.storename {
  font-size: 1.8rem;
  font-weight: bold; }

.storesingle {
  width: 48%;
  border-bottom: 1px solid #000;
  font-size: 1.4rem;
  padding: 2rem 0; }
  @media only screen and (max-width: 768px) {
    .storesingle {
      width: 100%; } }
  .storesingle .googlemap {
    border: solid 1px #000;
    background-color: #000;
    font-size: 1.2rem;
    font-weight: bold;
    line-height: 40px;
    text-decoration: none;
    display: block;
    margin: 0.8rem 0;
    color: #fff;
    max-width: 150px;
    text-align: center; }
    .storesingle .googlemap:hover {
      opacity: .8; }
  .storesingle .category {
    list-style-type: none; }
    .storesingle .category li {
      display: inline-block;
      border: 1px solid #ccc;
      padding: 0 0.5rem;
      margin: 0 0.5rem 0 0; }

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: 店舗 */
.p-product-gender {
  border-bottom: 1px solid #ccc;
  font-family: 'Heebo', sans-serif;
  font-size: 3.2em;
  font-weight: bold;
  margin-bottom: 2rem; }
  @media only screen and (max-width: 425px) {
    .p-product-gender {
      font-size: 2rem; } }

.p-product-nav {
  justify-content: center;
  margin: 0 auto 5rem; }
  @media only screen and (max-width: 425px) {
    .p-product-nav {
      margin-bottom: 3rem; } }
  .p-product-nav a {
    border: 1px solid #ccc;
    border-width: 1px 0;
    color: #3B4043;
    font-family: 'Heebo', sans-serif;
    font-size: 2rem;
    text-decoration: none;
    padding: 1rem;
    display: block;
    width: 25%;
    margin: -1px 0 0;
    text-align: center;
    position: relative; }
    @media only screen and (max-width: 768px) {
      .p-product-nav a {
        width: 50%; } }
    @media only screen and (max-width: 425px) {
      .p-product-nav a {
        font-size: 1.6rem; } }
    .p-product-nav a:after {
      content: '';
      position: absolute;
      width: 80%;
      height: 2px;
      left: 0;
      right: 0;
      bottom: 0;
      margin: auto; }
    .p-product-nav a:hover:after {
      background-color: #009BCF; }
    .p-product-nav a:visited {
      color: inherit; }
      .p-product-nav a:visited:hover {
        color: #009BCF; }
  .p-product-nav .active {
    pointer-events: none;
    cursor: default; }
    .p-product-nav .active:after {
      background-color: #009BCF; }

.p-product-list {
  margin-bottom: 6rem; }
  @media only screen and (max-width: 425px) {
    .p-product-list {
      margin-bottom: 4rem; } }

.item > a {
  display: block;
  text-decoration: none; }
.item .no-link {
  pointer-events: none; }
.item .flex {
  align-items: center; }
  .item .flex .aqua-icon {
    display: none; }

.itemImg {
  display: block; }
  .itemImg img {
    width: 100%;
    height: auto; }

.itemTtl {
  color: #3B4043;
  font-size: 1.6rem;
  font-weight: bold; }
  @media only screen and (max-width: 425px) {
    .itemTtl {
      font-size: 1.2rem; } }

.itemClr {
  color: #3B4043;
  font-size: 1.4rem; }
  @media only screen and (max-width: 425px) {
    .itemClr {
      font-size: 1.2rem; } }

.itemPrice {
  font-size: 1.6rem;
  font-weight: bold;
  display: block; }
  @media only screen and (max-width: 425px) {
    .itemPrice {
      font-size: 1.4rem; } }

.sp {
  display: none; }
  @media only screen and (max-width: 768px) {
    .sp {
      display: block; } }

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

.text-red {
  color: #ff0000; }

.Maincontents .overview,
.Maincontents2 .overview {
  max-width: 700px;
  margin: auto;
  padding: 2rem;
  background-color: #fff; }
.Maincontents .sec-title,
.Maincontents2 .sec-title {
  font-size: 2.4rem;
  font-weight: bold;
  text-align: center;
  margin-bottom: 4rem;
  padding: 1rem;
  background-color: transparent;
  color: #3B4043; }
  @media only screen and (max-width: 768px) {
    .Maincontents .sec-title,
    .Maincontents2 .sec-title {
      font-size: 1.8rem;
      margin-bottom: 2rem;
      padding: 0.5rem; } }
.Maincontents .sec-about,
.Maincontents2 .sec-about {
  font-size: 1.8rem;
  text-align: center;
  background-color: #eeeeee;
  padding: 1rem;
  position: relative;
  margin: 0 0 3rem; }
  @media only screen and (max-width: 768px) {
    .Maincontents .sec-about,
    .Maincontents2 .sec-about {
      font-size: 1.6rem;
      margin-bottom: 2rem;
      padding: 0.5rem; } }
.Maincontents .text-box,
.Maincontents2 .text-box {
  font-size: 1.4rem;
  margin: 0 0 4rem; }
  @media only screen and (max-width: 768px) {
    .Maincontents .text-box,
    .Maincontents2 .text-box {
      margin-bottom: 3rem; } }
  .Maincontents .text-box .note-list,
  .Maincontents2 .text-box .note-list {
    padding-left: 0; }
    .Maincontents .text-box .note-list li,
    .Maincontents2 .text-box .note-list li {
      list-style: none;
      padding: 0;
      margin: 0; }
  .Maincontents .text-box a,
  .Maincontents2 .text-box a {
    text-decoration: underline;
    color: #0085ce; }
.Maincontents .sec1,
.Maincontents2 .sec1 {
  background-color: #eee;
  overflow: hidden;
  padding: 8rem 0; }
  @media only screen and (max-width: 768px) {
    .Maincontents .sec1,
    .Maincontents2 .sec1 {
      padding: 0; } }
.Maincontents .sec2,
.Maincontents2 .sec2 {
  padding: 8rem 0; }
  @media only screen and (max-width: 768px) {
    .Maincontents .sec2,
    .Maincontents2 .sec2 {
      padding: 0; } }
.Maincontents .enquete-title,
.Maincontents2 .enquete-title {
  font-size: 1.8rem;
  font-weight: bold;
  margin: 4rem 0 2rem;
  padding: 1rem; }
  @media only screen and (max-width: 768px) {
    .Maincontents .enquete-title,
    .Maincontents2 .enquete-title {
      font-size: 1.6rem;
      margin: 2rem 0;
      padding: 0.5rem; } }
.Maincontents .enquete,
.Maincontents2 .enquete {
  padding: 2rem;
  max-width: 700px;
  margin: auto;
  background-color: #fff; }
.Maincontents .wpcf7-form input,
.Maincontents .wpcf7-form textarea,
.Maincontents2 .wpcf7-form input,
.Maincontents2 .wpcf7-form textarea {
  background-color: #eeeeee;
  border-style: none;
  padding: 1.5rem;
  font-size: 1.6rem; }
  @media only screen and (max-width: 768px) {
    .Maincontents .wpcf7-form input,
    .Maincontents .wpcf7-form textarea,
    .Maincontents2 .wpcf7-form input,
    .Maincontents2 .wpcf7-form textarea {
      padding: 1rem;
      font-size: 1.4rem; } }
.Maincontents .wpcf7-form textarea,
.Maincontents2 .wpcf7-form textarea {
  width: 100%;
  height: 100px; }
.Maincontents .wpcf7-form span.wpcf7-not-valid-tip,
.Maincontents2 .wpcf7-form span.wpcf7-not-valid-tip {
  display: block; }
.Maincontents .wpcf7-form div.wpcf7-response-output,
.Maincontents2 .wpcf7-form div.wpcf7-response-output {
  font-size: 1.4rem; }
.Maincontents .list-title,
.Maincontents2 .list-title {
  font-size: 1.6rem;
  font-weight: bold;
  margin: 3rem 0 0; }
.Maincontents .enquete-list,
.Maincontents2 .enquete-list {
  margin: 2rem;
  padding: 0;
  font-size: 1.6rem; }
  @media only screen and (max-width: 768px) {
    .Maincontents .enquete-list,
    .Maincontents2 .enquete-list {
      margin: 1rem;
      font-size: 1.4rem; } }
  .Maincontents .enquete-list li,
  .Maincontents2 .enquete-list li {
    margin: 2rem 0;
    display: block;
    list-style: none; }
    @media only screen and (max-width: 768px) {
      .Maincontents .enquete-list li,
      .Maincontents2 .enquete-list li {
        margin: 1rem 0; } }
  .Maincontents .enquete-list span.wpcf7-list-item,
  .Maincontents2 .enquete-list span.wpcf7-list-item {
    display: block;
    margin: 0; }
  .Maincontents .enquete-list #num,
  .Maincontents2 .enquete-list #num {
    width: 80px;
    height: 50px;
    margin-left: 20px; }
  .Maincontents .enquete-list #text,
  .Maincontents .enquete-list #zip3,
  .Maincontents .enquete-list #addr3,
  .Maincontents2 .enquete-list #text,
  .Maincontents2 .enquete-list #zip3,
  .Maincontents2 .enquete-list #addr3 {
    max-width: 500px;
    width: 100%;
    margin-left: 20px; }
    @media only screen and (max-width: 768px) {
      .Maincontents .enquete-list #text,
      .Maincontents .enquete-list #zip3,
      .Maincontents .enquete-list #addr3,
      .Maincontents2 .enquete-list #text,
      .Maincontents2 .enquete-list #zip3,
      .Maincontents2 .enquete-list #addr3 {
        margin: 0; } }
    .Maincontents .enquete-list #text.age,
    .Maincontents .enquete-list #zip3.age,
    .Maincontents .enquete-list #addr3.age,
    .Maincontents2 .enquete-list #text.age,
    .Maincontents2 .enquete-list #zip3.age,
    .Maincontents2 .enquete-list #addr3.age {
      width: 80px; }
  .Maincontents .enquete-list br,
  .Maincontents2 .enquete-list br {
    display: none; }
  .Maincontents .enquete-list #sizetext,
  .Maincontents2 .enquete-list #sizetext {
    width: 100px; }
  .Maincontents .enquete-list #cdtext,
  .Maincontents2 .enquete-list #cdtext {
    width: 100%; }
.Maincontents .privacy-policy,
.Maincontents2 .privacy-policy {
  width: 100%;
  text-align: center;
  margin: 4rem 0; }
  @media only screen and (max-width: 768px) {
    .Maincontents .privacy-policy,
    .Maincontents2 .privacy-policy {
      margin: 3rem 0; } }
  .Maincontents .privacy-policy p,
  .Maincontents2 .privacy-policy p {
    margin: 0;
    font-size: 1.6rem; }
    @media only screen and (max-width: 768px) {
      .Maincontents .privacy-policy p,
      .Maincontents2 .privacy-policy p {
        font-size: 1.4rem; } }
  .Maincontents .privacy-policy label,
  .Maincontents .privacy-policy input,
  .Maincontents2 .privacy-policy label,
  .Maincontents2 .privacy-policy input {
    cursor: pointer; }
  .Maincontents .privacy-policy span.wpcf7-list-item,
  .Maincontents2 .privacy-policy span.wpcf7-list-item {
    margin: 0; }
.Maincontents .submit-btn,
.Maincontents2 .submit-btn {
  margin: 0 auto;
  text-align: center; }
.Maincontents #submitbtn,
.Maincontents2 #submitbtn {
  max-width: 360px;
  width: 100%;
  display: block;
  margin: auto;
  font-size: 1.8rem;
  cursor: pointer;
  background-color: #000;
  color: #fff;
  line-height: 3rem; }
  @media only screen and (max-width: 768px) {
    .Maincontents #submitbtn,
    .Maincontents2 #submitbtn {
      font-size: 1.6rem;
      max-width: 320px; } }
  .Maincontents #submitbtn:hover,
  .Maincontents2 #submitbtn:hover {
    background-color: #009BCF; }
  .Maincontents #submitbtn:disabled,
  .Maincontents2 #submitbtn:disabled {
    pointer-events: none;
    opacity: .6; }
.Maincontents label,
.Maincontents2 label {
  cursor: pointer; }

.campaignpage {
  max-width: 1000px;
  margin: auto; }
  .campaignpage .hero {
    padding: 0;
    margin: 0;
    border: none; }
  .campaignpage .MainContents .howto {
    position: relative; }
    @media only screen and (max-width: 768px) {
      .campaignpage .MainContents .howto {
        text-align: center; } }
    .campaignpage .MainContents .howto::after {
      content: '';
      display: block;
      width: 60px;
      height: 10px;
      position: absolute;
      left: 0;
      bottom: -20px;
      background: url("../images/campaign/title-deco.png") center center no-repeat;
      background-size: contain; }
      @media only screen and (max-width: 768px) {
        .campaignpage .MainContents .howto::after {
          right: 0;
          margin: auto; } }
  .campaignpage .MainContents h2 {
    background-color: transparent;
    color: #3B4043;
    margin: 2rem auto;
    font-size: 3rem;
    padding: 0; }
    @media only screen and (max-width: 768px) {
      .campaignpage .MainContents h2 {
        font-size: 1.8rem; } }
  .campaignpage .MainContents .stepwrapper {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start; }
    @media only screen and (max-width: 768px) {
      .campaignpage .MainContents .stepwrapper {
        display: block; } }
  .campaignpage .MainContents .step {
    box-sizing: border-box;
    width: calc(33.333% - 15px);
    min-height: 600px;
    border: 1px solid #d0af21;
    position: relative;
    padding: 15px;
    font-size: 1.4rem;
    line-height: 1.7;
    text-align: center;
    letter-spacing: -1.1px; }
    @media only screen and (max-width: 768px) {
      .campaignpage .MainContents .step {
        width: 100%;
        margin: 50px auto 0 !important;
        height: auto;
        min-height: 500px; } }
    .campaignpage .MainContents .step::before {
      content: '';
      display: block;
      width: 0;
      height: 0;
      border-top: 64px solid transparent;
      border-bottom: 64px solid transparent;
      border-right: 64px solid #d0af21;
      border-left: 64px solid transparent;
      transform: rotate(45deg);
      left: -65px;
      top: -65px;
      position: absolute;
      z-index: -1; }
    .campaignpage .MainContents .step::after {
      content: '';
      display: block;
      width: 0;
      height: 0;
      border-top: 64px solid transparent;
      border-bottom: 64px solid transparent;
      border-right: 64px solid transparent;
      border-left: 64px solid #0085ce;
      transform: rotate(45deg);
      right: -65px;
      bottom: -65px;
      position: absolute; }
    .campaignpage .MainContents .step .title {
      font-family: 'Roboto Slab', serif;
      font-size: 3rem;
      letter-spacing: 2px;
      font-style: italic;
      color: #0085ce;
      text-align: left;
      margin: 0 10px 10px;
      background-color: transparent; }
      .campaignpage .MainContents .step .title .number {
        font-size: 40px; }
    .campaignpage .MainContents .step .text span {
      display: inline-block; }
    .campaignpage .MainContents .step .text .larger {
      font-size: 18px;
      margin-bottom: 20px; }
    .campaignpage .MainContents .step .text .decolation {
      position: relative;
      font-weight: 300; }
      .campaignpage .MainContents .step .text .decolation::after {
        content: '';
        display: block;
        background-color: #ffef00;
        position: absolute;
        bottom: 2px;
        height: 10px;
        width: 100%;
        z-index: -1; }
    .campaignpage .MainContents .step .button_ig {
      display: block;
      position: relative;
      padding: 15px 0;
      width: 85%;
      text-align: center;
      text-decoration: none;
      margin: 20px auto;
      color: #fff;
      border-radius: 30px;
      filter: drop-shadow(0 5px 10px rgba(0, 0, 0, 0.2));
      transition: all 0.2s ease;
      /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#803ab1+0,fa1d1d+80,f9ad45+100 */
      background: #803ab1;
      /* Old browsers */
      background: -webkit-linear-gradient(left, #803ab1 0%, #fa1d1d 80%, #f9ad45 100%);
      background: -o-linear-gradient(left, #803ab1 0%, #fa1d1d 80%, #f9ad45 100%);
      background: linear-gradient(to right, #803ab1 0%, #fa1d1d 80%, #f9ad45 100%);
      /* FF3.6-15 */
      /* Chrome10-25,Safari5.1-6 */
      /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
      filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#803ab1', endColorstr='#f9ad45', GradientType=1);
      /* IE6-9 */ }
      .campaignpage .MainContents .step .button_ig::before {
        content: '';
        display: block;
        position: absolute;
        left: 20px;
        right: auto;
        top: 0;
        bottom: 0;
        margin: auto;
        width: 20px;
        height: 20px;
        background: url("../img/icon-ig.svg") center center no-repeat;
        background-size: contain; }
      .campaignpage .MainContents .step .button_ig::after {
        content: '';
        display: block;
        position: absolute;
        left: auto;
        right: 20px;
        top: 0;
        bottom: 0;
        margin: auto;
        width: 8px;
        height: 8px;
        border-top: 2px solid #fff;
        border-bottom: 2px solid transparent;
        border-right: 2px solid #fff;
        border-left: 2px solid transparent;
        transform: rotate(45deg); }
      .campaignpage .MainContents .step .button_ig:hover {
        text-decoration: none;
        transform: scale(1.02, 1.02);
        filter: drop-shadow(0 15px 10px rgba(0, 0, 0, 0.2)); }
    .campaignpage .MainContents .step img {
      padding: 15px;
      width: 100%; }
  .campaignpage .MainContents .step1 {
    margin-top: 60px;
    background: url(../images/campaign/ig-qr.png) center bottom 30px no-repeat;
    background-size: 80%; }
  .campaignpage .MainContents .step2 {
    margin-top: 30px;
    background: url(../images/campaign/img05.png) center bottom 40px no-repeat; }
  .campaignpage .MainContents .step3 {
    background: url(../images/campaign/img06.png) right bottom no-repeat;
    background-size: contain; }
  .campaignpage .MainContents .overview {
    text-align: center; }
  .campaignpage .MainContents .overview_table {
    border-bottom: 1px solid #eeeeee; }
  .campaignpage .MainContents dl {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    border-top: 1px solid #eeeeee;
    font-size: 1.4rem;
    margin: 0; }
    @media only screen and (max-width: 768px) {
      .campaignpage .MainContents dl {
        display: block;
        padding: 1.5rem 0; } }
    .campaignpage .MainContents dl dt {
      color: #0085ce;
      width: 25%;
      padding: 2rem 0; }
      @media only screen and (max-width: 768px) {
        .campaignpage .MainContents dl dt {
          width: 100%;
          padding: 0; } }
    .campaignpage .MainContents dl dd {
      width: 75%;
      padding: 2rem 0; }
      @media only screen and (max-width: 768px) {
        .campaignpage .MainContents dl dd {
          width: 100%;
          padding: 1rem 0 0; } }
  .campaignpage .MainContents ul {
    margin-left: 0; }
  .campaignpage .MainContents li {
    list-style: none;
    margin: 0; }
  .campaignpage .MainContents .sec1 {
    margin: auto;
    padding: 6rem 0 0;
    text-align: center; }
    @media only screen and (max-width: 768px) {
      .campaignpage .MainContents .sec1 {
        padding-top: 4rem; } }
  .campaignpage .MainContents .sec2 {
    margin: auto;
    background-color: #F6F4E8;
    padding: 6rem 0; }
    @media only screen and (max-width: 768px) {
      .campaignpage .MainContents .sec2 {
        padding: 4rem 0; } }
    .campaignpage .MainContents .sec2 .inner {
      margin: auto; }
  .campaignpage .MainContents .sec3 {
    width: 90%;
    margin: 6rem auto; }
    @media only screen and (max-width: 768px) {
      .campaignpage .MainContents .sec3 {
        margin: 4rem auto; } }
  .campaignpage .MainContents .sec4 {
    background-color: #F6F4E8;
    overflow: hidden;
    padding: 2rem 0;
    margin: 6rem 0; }
    @media only screen and (max-width: 768px) {
      .campaignpage .MainContents .sec4 {
        margin: 4rem 0; } }
    .campaignpage .MainContents .sec4 .inner {
      max-width: 800px;
      background-color: #fff;
      overflow: hidden;
      margin: 6rem auto;
      font-size: 1.4rem;
      padding: 4rem; }
      @media only screen and (max-width: 768px) {
        .campaignpage .MainContents .sec4 .inner {
          padding: 2rem;
          margin: 4rem 0; } }

.campaign_line .sp {
  display: none; }
  @media only screen and (max-width: 768px) {
    .campaign_line .sp {
      display: block !important; } }
.campaign_line .MainContents .sub-title {
  max-width: 515px;
  width: 100%;
  margin: auto;
  text-align: center; }
  .campaign_line .MainContents .sub-title h2 {
    font-size: 36px;
    text-align: center;
    color: #b3934a;
    display: inline-block;
    position: relative; }
    @media only screen and (max-width: 768px) {
      .campaign_line .MainContents .sub-title h2 {
        font-size: 20px; } }
    .campaign_line .MainContents .sub-title h2::before {
      content: "";
      position: absolute;
      background-image: url(../images/campaign/deco-01.png);
      background-size: cover;
      background-repeat: no-repeat;
      width: 120px;
      height: 20px;
      top: 0;
      bottom: 0;
      left: -3.7em;
      margin: auto; }
      @media only screen and (max-width: 768px) {
        .campaign_line .MainContents .sub-title h2::before {
          width: 59px;
          height: 10px;
          left: -3.4em; } }
    .campaign_line .MainContents .sub-title h2::after {
      content: "";
      position: absolute;
      background-image: url(../images/campaign/deco-01.png);
      background-size: cover;
      background-repeat: no-repeat;
      width: 120px;
      height: 20px;
      top: 0;
      bottom: 0;
      right: -3.7em;
      margin: auto; }
      @media only screen and (max-width: 768px) {
        .campaign_line .MainContents .sub-title h2::after {
          width: 59px;
          height: 10px;
          right: -3.4em; } }
.campaign_line .MainContents .sec1 .img {
  max-width: 710px;
  width: 100%;
  margin: auto; }
  @media only screen and (max-width: 768px) {
    .campaign_line .MainContents .sec1 .img {
      max-width: 245px; } }
.campaign_line .MainContents .sec1 .line_qr {
  max-width: 590px;
  width: 95%;
  margin: 4em auto; }
  @media only screen and (max-width: 768px) {
    .campaign_line .MainContents .sec1 .line_qr {
      max-width: 300px; } }
  .campaign_line .MainContents .sec1 .line_qr a {
    display: block; }
.campaign_line .MainContents .sec2 {
  background-color: #e9faf0 !important;
  overflow: hidden;
  padding: 1rem 0;
  margin: 6rem 0; }
  .campaign_line .MainContents .sec2 .inner {
    max-width: 860px;
    background-color: #fff;
    overflow: hidden;
    margin: 6rem auto;
    font-size: 1.4rem;
    padding: 4rem; }
    @media only screen and (max-width: 768px) {
      .campaign_line .MainContents .sec2 .inner {
        padding: 2rem;
        margin: 4rem auto 3rem; } }
  .campaign_line .MainContents .sec2 dl {
    font-size: 16px;
    font-weight: bold; }
    @media only screen and (max-width: 768px) {
      .campaign_line .MainContents .sec2 dl {
        font-size: 14px; } }
    .campaign_line .MainContents .sec2 dl dt {
      color: #b3934a; }
  .campaign_line .MainContents .sec2 .infomation_title {
    background-color: #ececec;
    text-align: center;
    color: #051c2c;
    margin: 0 18px 2rem;
    position: relative;
    font-size: 18px; }
    @media only screen and (max-width: 768px) {
      .campaign_line .MainContents .sec2 .infomation_title {
        font-size: 14px; } }
    .campaign_line .MainContents .sec2 .infomation_title::before {
      content: "";
      position: absolute;
      background-image: url(../images/campaign/210622/deco-02.png);
      background-repeat: no-repeat;
      background-size: cover;
      width: 18px;
      height: 36px;
      top: 0;
      bottom: 0;
      left: -18px;
      margin: auto; }
      @media only screen and (max-width: 768px) {
        .campaign_line .MainContents .sec2 .infomation_title::before {
          width: 15px;
          height: 30px;
          left: -15px; } }
    .campaign_line .MainContents .sec2 .infomation_title::after {
      content: "";
      position: absolute;
      background-image: url(../images/campaign/210622/deco-02.png);
      background-repeat: no-repeat;
      background-size: cover;
      transform: rotate(180deg);
      width: 18px;
      height: 36px;
      top: 0;
      bottom: 0;
      right: -18px;
      margin: auto; }
      @media only screen and (max-width: 768px) {
        .campaign_line .MainContents .sec2 .infomation_title::after {
          width: 15px;
          height: 30px;
          right: -15px; } }

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: アーカイブページ専用外部ファイル読み込み */
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: お知らせのアーカイブ*/
#post-archive {
  background-color: #F6F4E8;
  margin-bottom: 6rem; }
  #post-archive .list {
    position: relative;
    margin-bottom: 2rem; }
    @media only screen and (max-width: 768px) {
      #post-archive .list {
        margin-bottom: 0; } }
    @media only screen and (max-width: 425px) {
      #post-archive .list {
        display: block; } }
    #post-archive .list > a {
      background-color: #fff;
      color: inherit;
      display: block;
      text-decoration: none;
      margin: 10px 0;
      padding: 20px;
      position: relative; }
      @media only screen and (max-width: 768px) {
        #post-archive .list > a {
          margin-bottom: 0; } }
      @media only screen and (max-width: 425px) {
        #post-archive .list > a {
          width: 100%;
          padding: 4vw; } }
      #post-archive .list > a:before {
        transition-duration: .3s;
        content: '';
        width: 0;
        height: 5px;
        background-color: #009BCF;
        display: block;
        left: 0;
        bottom: 0;
        position: absolute; }
      #post-archive .list > a:hover {
        color: #009BCF; }
        #post-archive .list > a:hover:before {
          width: 100%; }
      #post-archive .list > a .meta {
        color: #3B4043;
        display: inline-block;
        font-size: 1.4rem;
        line-height: 1;
        vertical-align: middle; }
        @media only screen and (max-width: 768px) {
          #post-archive .list > a .meta {
            font-size: 1.2rem; } }
      #post-archive .list > a .tag-wrapper {
        display: inline-block;
        vertical-align: middle; }
      #post-archive .list > a .title {
        border-top: 1px solid #CDD6DD;
        font-size: 1.6rem;
        margin: 1.5rem 0 0;
        padding-top: 10px;
        padding-right: 1.5rem;
        position: relative; }
        @media only screen and (max-width: 768px) {
          #post-archive .list > a .title {
            font-size: 1.4rem;
            margin-top: 1rem;
            padding-top: .5rem; } }
        #post-archive .list > a .title:after {
          content: '';
          position: absolute;
          display: block;
          right: 3px;
          top: 50%;
          margin: auto;
          transform: rotate(45deg);
          width: 12px;
          height: 12px;
          border: 1px solid #009BCF;
          border-width: 2px 2px 0 0;
          transition-duration: .3s; }
  #post-archive .container {
    overflow: hidden; }
  #post-archive #main {
    overflow: hidden;
    display: block;
    float: left;
    width: calc(100% - 350px); }
    @media only screen and (max-width: 768px) {
      #post-archive #main {
        width: 100%;
        float: none; } }

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: 投稿ページ専用外部ファイル読み込み */
.special-head {
  text-align: center;
  position: relative;
  max-width: 1366px;
  width: 100%;
  margin: auto; }

.special-head-title img {
  width: 100%; }

.special-lead {
  color: #fff;
  font-size: 1.4rem;
  line-height: 1.8;
  text-align: left;
  position: absolute;
  left: 5%;
  bottom: 5%; }
  @media only screen and (max-width: 768px) {
    .special-lead {
      position: static;
      width: 90%;
      margin: 6rem auto 0; } }
  @media only screen and (max-width: 768px) and (max-width: 425px) {
    .special-lead {
      margin: 10.6666666667vw auto 0; } }

  .special-lead span {
    display: inline-block;
    line-height: 1;
    padding: 2px;
    position: relative;
    z-index: 1;
    background-color: #009BCF; }
    .special-lead span:after {
      content: '';
      position: absolute;
      height: 100%;
      width: 100%;
      top: 0;
      left: 0;
      z-index: -1; }

.l-bg-top {
  position: relative;
  z-index: 0; }
  .l-bg-top:after {
    content: '';
    position: absolute;
    top: 14rem;
    left: 0;
    right: 0;
    height: 320px;
    z-index: 0;
    background-color: #F6F4E8;
    z-index: -1; }

.l-bg-center {
  position: relative;
  z-index: 0; }
  .l-bg-center:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    height: 320px;
    margin: auto;
    background-color: #F6F4E8;
    z-index: -1; }
    @media only screen and (max-width: 768px) {
      .l-bg-center:after {
        height: 160px; } }

.l-bg-bottom {
  position: relative;
  z-index: 0; }
  .l-bg-bottom:after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 320px;
    margin: auto;
    background-color: #F6F4E8;
    z-index: -1; }
    @media only screen and (max-width: 768px) {
      .l-bg-bottom:after {
        height: 160px; } }

.single-special .container {
  position: relative;
  z-index: 1; }
.single-special .lead {
  font-size: 1.8rem;
  text-align: center;
  margin: 4rem auto 0;
  width: 90%; }
  @media only screen and (max-width: 768px) {
    .single-special .lead {
      font-size: 1.5rem;
      text-align: left;
      margin: 10.6666666667vw auto 0; } }
.single-special .image {
  text-align: center; }
@media only screen and (max-width: 768px) {
  .single-special .flex1 {
    background-color: #F6F4E8;
    padding-bottom: 2rem; } }
.single-special .flex1 .image {
  width: 60%;
  text-align: center; }
  @media only screen and (max-width: 768px) {
    .single-special .flex1 .image {
      width: 100%; } }
.single-special .flex1 .c-title {
  color: #009BCF;
  font-weight: bold;
  position: relative;
  margin-bottom: 3rem; }
  @media only screen and (max-width: 768px) {
    .single-special .flex1 .c-title {
      margin-bottom: 2rem;
      font-size: 1.8rem; } }
  .single-special .flex1 .c-title:before {
    content: '';
    background-color: #009BCF;
    width: 7rem;
    height: 1px;
    left: -8rem;
    top: 0;
    bottom: 0;
    margin: auto;
    position: absolute; }
    @media only screen and (max-width: 768px) {
      .single-special .flex1 .c-title:before {
        position: relative;
        display: inline-block;
        vertical-align: middle;
        width: 4rem;
        left: 0;
        margin-left: -1.5rem;
        margin-right: 10px; } }
.single-special .flex1 .caption {
  background-color: #fff;
  padding: 4rem 8rem;
  width: 50%;
  margin-left: -10%;
  margin-top: 6rem; }
  @media only screen and (max-width: 768px) {
    .single-special .flex1 .caption {
      width: 94%;
      margin: -6rem auto 0;
      padding: 2rem 1.5rem; } }
.single-special .flex1.flex-row-reverse .caption {
  margin-left: 0;
  margin-right: -10%; }
  @media only screen and (max-width: 768px) {
    .single-special .flex1.flex-row-reverse .caption {
      width: 94%;
      margin: -6rem auto 0;
      padding: 2rem 1.5rem; } }
.single-special .flex {
  flex-wrap: wrap;
  justify-content: space-between; }
  @media only screen and (max-width: 768px) {
    .single-special .flex {
      justify-content: center; } }
  .single-special .flex + .flex {
    margin-top: 4rem; }
    @media only screen and (max-width: 425px) {
      .single-special .flex + .flex {
        margin-top: 10.6666666667vw; } }
  .single-special .flex .image {
    text-align: center; }
  @media only screen and (max-width: 768px) {
    .single-special .flex .text {
      width: 90%;
      margin: auto; } }
  .single-special .flex .b-image {
    text-align: center;
    margin-bottom: 2rem; }
  .single-special .flex .b-text {
    font-weight: bold;
    margin-bottom: 2rem; }
.single-special .c-link {
  color: #3B4043;
  font-size: 1.4rem; }
.single-special .sec1 {
  position: relative;
  z-index: 1; }
  .single-special .sec1 .container {
    padding-bottom: 0; }
    @media only screen and (max-width: 768px) {
      .single-special .sec1 .container {
        width: 100%; } }
@media only screen and (max-width: 768px) {
  .single-special .sec2 .container {
    width: 100%; } }
.single-special .sec3 {
  text-align: center; }
  .single-special .sec3 .container {
    padding: 4rem 0; }
  .single-special .sec3 .c-title {
    font-size: 2.2rem;
    margin-bottom: 1rem; }
    @media only screen and (max-width: 768px) {
      .single-special .sec3 .c-title {
        font-size: 1.5rem;
        font-weight: bold; } }
.single-special .sec5 {
  padding-top: 4rem; }
  @media only screen and (max-width: 768px) {
    .single-special .sec5 .l-bg-center:after {
      display: none; } }
.single-special .sec6 .container,
.single-special .sec7 .container {
  max-width: 800px;
  padding-top: 4rem; }
  @media only screen and (max-width: 768px) {
    .single-special .sec6 .container,
    .single-special .sec7 .container {
      padding: 10.6666666667vw 0; } }
.single-special .sec6 .flex,
.single-special .sec7 .flex {
  justify-content: space-between; }
  @media only screen and (max-width: 768px) {
    .single-special .sec6 .flex,
    .single-special .sec7 .flex {
      justify-content: center; } }
.single-special .sec6 .f-box,
.single-special .sec7 .f-box {
  max-width: 350px; }
  @media only screen and (max-width: 768px) {
    .single-special .sec6 .f-box,
    .single-special .sec7 .f-box {
      margin-bottom: 4rem;
      max-width: 100%; } }
.single-special .sec6 .button-wrapper,
.single-special .sec7 .button-wrapper {
  padding-top: 4rem; }
  @media only screen and (max-width: 425px) {
    .single-special .sec6 .button-wrapper,
    .single-special .sec7 .button-wrapper {
      padding: 0 0 10.6666666667vw; } }
.single-special .p-caption {
  background-color: #fff;
  padding: 4rem;
  position: relative;
  margin: auto;
  max-width: 800px; }
  @media only screen and (max-width: 425px) {
    .single-special .p-caption {
      padding: 2rem 0 0;
      width: 90%; } }
  .single-special .p-caption .c-title {
    color: #009BCF;
    font-weight: bold;
    position: relative;
    margin-bottom: 3rem; }
    @media only screen and (max-width: 768px) {
      .single-special .p-caption .c-title {
        margin-bottom: 2rem;
        font-size: 1.8rem; } }

.special-video {
  background-color: #000;
  text-align: center; }

.l-food .container {
  max-width: 1080px;
  padding-top: 4rem; }
  @media only screen and (max-width: 768px) {
    .l-food .container {
      padding: 0 0 10.6666666667vw; } }
.l-food .flex {
  justify-content: space-between; }
  @media only screen and (max-width: 768px) {
    .l-food .flex {
      justify-content: center; } }
.l-food .f-box {
  max-width: 500px; }
  @media only screen and (max-width: 768px) {
    .l-food .f-box {
      margin-bottom: 4rem;
      max-width: 100%; } }
  .l-food .f-box .b-image {
    margin: 0; }
  .l-food .f-box .b-title {
    border-bottom: 1px solid #ccc;
    font-size: 1.8rem;
    padding: 2rem 0;
    font-weight: bold;
    text-align: center;
    margin-bottom: 2rem; }
  .l-food .f-box .b-text {
    font-weight: normal; }
  .l-food .f-box .b-item {
    border: 1px solid #ccc;
    padding: 1rem; }
  .l-food .f-box .caption {
    width: 90%;
    margin: auto; }
    @media only screen and (max-width: 768px) {
      .l-food .f-box .caption {
        width: 100%; } }
.l-food .button-wrapper {
  padding-top: 4rem; }
  @media only screen and (max-width: 425px) {
    .l-food .button-wrapper {
      padding: 0 0 10.6666666667vw; } }

.other-sec .section-title {
  text-align: center;
  margin-bottom: 5rem; }
  @media only screen and (max-width: 768px) {
    .other-sec .section-title {
      margin-bottom: 4rem; } }
  @media only screen and (max-width: 768px) and (max-width: 425px) {
    .other-sec .section-title {
      margin-bottom: 5.3333333333vw; } }

  .other-sec .section-title .en {
    color: #3B4043;
    font-weight: bold;
    font-family: inherit; }
  .other-sec .section-title small {
    display: block;
    line-height: 2; }
  .other-sec .section-title .t-color {
    color: #009BCF; }
.other-sec .container {
  max-width: 800px; }
@media only screen and (max-width: 768px) {
  .other-sec .flex {
    justify-content: center; } }
.other-sec .flex .b-title {
  font-size: 2rem;
  font-weight: bold; }
  @media only screen and (max-width: 768px) {
    .other-sec .flex .b-title {
      font-size: 1.8rem; } }
.other-sec .flex .b-text {
  font-weight: normal; }
.other-sec .flex .b-image {
  text-align: center; }

.p-special img {
  width: 100%; }
.p-special .flex .image {
  margin-left: -5%;
  box-shadow: 3rem 3rem #F6F4E8; }
.p-special .flex .caption .image {
  box-shadow: none;
  margin: 0; }
.p-special .flex .title {
  color: #009BCF;
  font-size: 3.6rem;
  font-family: serif; }
  @media only screen and (max-width: 425px) {
    .p-special .flex .title {
      font-size: 2.4rem; } }
.p-special .flex .text {
  margin-bottom: 2rem; }
.p-special .flex .f-box a {
  text-decoration: none; }
.p-special .flex .f-box .b-title {
  color: #3B4043;
  font-size: 1.8rem;
  font-weight: bold;
  text-align: center; }
.p-special .sec1 .container {
  padding-top: 0; }
.p-special .sec2 .container {
  position: relative;
  z-index: auto;
  padding-bottom: 0; }
.p-special .sec2 .l-bg-top:after {
  top: 0; }
.p-special .sec2 .title {
  position: absolute;
  top: 0;
  left: 0;
  font-size: 3.6rem;
  font-weight: bold; }
  @media only screen and (max-width: 425px) {
    .p-special .sec2 .title {
      font-size: 2.4rem;
      line-height: 1.6;
      margin-bottom: 3rem;
      position: static; } }
  .p-special .sec2 .title span {
    color: #009BCF; }
.p-special .sec2 .flex .f-box:first-child {
  margin-top: 12rem; }
  @media only screen and (max-width: 425px) {
    .p-special .sec2 .flex .f-box:first-child {
      margin-top: 0; } }
.p-special .sec2 .flex .f-box:nth-child(2) {
  margin-top: 6rem; }
  @media only screen and (max-width: 425px) {
    .p-special .sec2 .flex .f-box:nth-child(2) {
      margin-top: 3rem; } }
.p-special .sec2 .flex .f-box .b-image {
  overflow: hidden;
  border-radius: 0 0 30px 0;
  position: relative; }
.p-special .sec2 .flex .f-box .b-name {
  background-color: #6EA0B1;
  color: #fff;
  font-size: 1.8rem;
  font-weight: bold;
  padding: 0 2rem;
  display: inline-block;
  position: relative;
  top: -2rem;
  left: 1.5rem; }
.p-special .sec2 .flex .f-box .b-text {
  margin: 0 1.5rem; }
  @media only screen and (max-width: 425px) {
    .p-special .sec2 .flex .f-box .b-text {
      margin: 0; } }
.p-special .sec2 .flex .f-box .b-data {
  border: 1px solid #ccc;
  font-size: 1.4rem;
  margin: 1.5rem;
  padding: 1rem; }
  @media only screen and (max-width: 425px) {
    .p-special .sec2 .flex .f-box .b-data {
      margin: 1.5rem 0; } }
.p-special .sec4 .container {
  position: relative;
  z-index: 1;
  padding-top: 0; }
@media only screen and (max-width: 768px) {
  .p-special .sec4 .flex {
    justify-content: center; } }
.p-special .sec4 .flex .f-box {
  max-width: 350px;
  border: 1px solid #ccc;
  background-color: #fff;
  text-align: center; }
  .p-special .sec4 .flex .f-box .b-title {
    margin: 1.5rem 2rem;
    text-align: left; }
  .p-special .sec4 .flex .f-box .b-text {
    padding: 0 2rem;
    text-align: left; }
.p-special .sec4 .flex .button {
  margin: 2rem auto;
  border-color: #000;
  background-color: #fff;
  color: #3B4043; }
  @media only screen and (max-width: 768px) {
    .p-special .sec4 .flex .button {
      min-width: inherit;
      max-width: 320px;
      width: 90%; } }
  .p-special .sec4 .flex .button:hover {
    background-color: #000;
    color: #fff; }
.p-special .sec5 .container {
  padding-bottom: 0; }
.p-special .sec5 .title {
  color: #3B4043;
  font-size: 3.6rem;
  font-weight: bold;
  font-family: inherit; }
  @media only screen and (max-width: 425px) {
    .p-special .sec5 .title {
      font-size: 2.4rem; } }
  .p-special .sec5 .title span {
    color: #009BCF; }
.p-special .sec5 .flex {
  flex-direction: row-reverse;
  justify-content: space-between; }
  @media only screen and (max-width: 768px) {
    .p-special .sec5 .flex {
      display: block; } }
@media only screen and (max-width: 768px) {
  .p-special .sec5 .f-image {
    margin-bottom: 2rem; } }
.p-special .sec5 .image {
  box-shadow: none;
  margin: 0; }
.p-special .sec5 .crad {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  max-width: 560px;
  margin-top: 3rem;
  border: 1px solid #ccc;
  padding: 2.5rem; }
  @media only screen and (max-width: 768px) {
    .p-special .sec5 .crad {
      display: block;
      padding: 2rem;
      text-align: center;
      margin: 8rem auto 0; } }
  .p-special .sec5 .crad:last-child {
    margin-left: 6rem; }
    @media only screen and (max-width: 768px) {
      .p-special .sec5 .crad:last-child {
        margin: 8rem auto 0; } }
  .p-special .sec5 .crad .image {
    width: 30%; }
    @media only screen and (max-width: 768px) {
      .p-special .sec5 .crad .image {
        width: 120px;
        margin: -80px auto 0; } }
  .p-special .sec5 .crad .caption {
    width: 65%; }
    @media only screen and (max-width: 768px) {
      .p-special .sec5 .crad .caption {
        width: 100%; } }
  .p-special .sec5 .crad .c-title {
    font-size: 2.6rem;
    font-weight: bold; }
  .p-special .sec5 .crad small {
    color: #009BCF;
    font-size: 1.4rem; }
    .p-special .sec5 .crad small:before {
      content: '/';
      padding: 0 5px;
      color: #3B4043; }
  .p-special .sec5 .crad .text {
    text-align: left; }
.p-special .sec6 .title {
  color: #3B4043;
  font-size: 3.6rem;
  font-weight: bold;
  font-family: inherit; }
  @media only screen and (max-width: 425px) {
    .p-special .sec6 .title {
      font-size: 2.4rem; } }
  .p-special .sec6 .title span {
    color: #009BCF; }

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: WYSIWYGエディタ「 TinyMCE 」の記事の表示設定 */
.wysiwyg,
#tinymce {
  max-width: 1120px;
  margin: auto;
  overflow: hidden; }
  .wysiwyg table,
  #tinymce table {
    word-break: break-all; }
  .wysiwyg .button-wrapper,
  #tinymce .button-wrapper {
    margin: 4rem auto; }
  .wysiwyg .entry-header,
  #tinymce .entry-header {
    padding: 1.5rem;
    border-bottom: 1px solid #ccc;
    margin-bottom: 1rem; }
    @media only screen and (max-width: 768px) {
      .wysiwyg .entry-header,
      #tinymce .entry-header {
        padding: 1rem; } }
    .wysiwyg .entry-header .meta,
    #tinymce .entry-header .meta {
      font-size: 1.4rem;
      margin: 0;
      margin-right: 1rem;
      display: inline-block; }
      @media only screen and (max-width: 768px) {
        .wysiwyg .entry-header .meta,
        #tinymce .entry-header .meta {
          font-size: 1.2rem;
          display: block; } }
    .wysiwyg .entry-header .tag-wrapper,
    #tinymce .entry-header .tag-wrapper {
      display: inline-block; }
    .wysiwyg .entry-header .tag,
    #tinymce .entry-header .tag {
      display: inline-block;
      margin-left: 0;
      margin-right: 1rem; }
      @media only screen and (max-width: 768px) {
        .wysiwyg .entry-header .tag,
        #tinymce .entry-header .tag {
          margin: 0.5rem;
          margin-left: 0;
          font-size: 1.2rem; } }
    .wysiwyg .entry-header h1,
    #tinymce .entry-header h1 {
      border: none;
      font-weight: bold;
      line-height: 1.4;
      margin-bottom: 0; }
  .wysiwyg .back-button-wrapper,
  #tinymce .back-button-wrapper {
    margin: 2em auto; }
  .wysiwyg .alignleft,
  #tinymce .alignleft {
    display: inline;
    float: left;
    margin-right: 1.5em;
    margin-bottom: 0.5em; }
    @media only screen and (max-width: 768px) {
      .wysiwyg .alignleft,
      #tinymce .alignleft {
        float: none;
        margin-right: 0;
        margin-bottom: 3vw;
        width: 100%; } }
  .wysiwyg .alignright,
  #tinymce .alignright {
    display: inline;
    float: right;
    margin-left: 1.5em;
    margin-bottom: 0.5em; }
    @media only screen and (max-width: 768px) {
      .wysiwyg .alignright,
      #tinymce .alignright {
        float: none;
        margin-left: 0;
        margin-bottom: 3vw;
        width: 100%; } }
  .wysiwyg .aligncenter,
  #tinymce .aligncenter {
    clear: both;
    display: block;
    margin-left: auto;
    margin-right: auto; }
    @media only screen and (max-width: 768px) {
      .wysiwyg .aligncenter,
      #tinymce .aligncenter {
        width: 100%; } }
  .wysiwyg h1,
  #tinymce h1 {
    border-bottom: 1px solid #ccc;
    font-size: 2.4rem;
    font-weight: bold;
    margin-bottom: 2rem;
    line-height: 1.4;
    padding-bottom: 1rem; }
    @media only screen and (max-width: 768px) {
      .wysiwyg h1,
      #tinymce h1 {
        font-size: 1.8rem; } }
  .wysiwyg h2,
  #tinymce h2 {
    background-color: #009BCF;
    color: #fff;
    font-size: 2rem;
    font-weight: bold;
    padding: 0 1rem;
    line-height: 1.8;
    margin-bottom: 2rem; }
    @media only screen and (max-width: 768px) {
      .wysiwyg h2,
      #tinymce h2 {
        font-size: 1.6rem; } }
  .wysiwyg h3,
  #tinymce h3 {
    background-color: #F6F4E8;
    font-size: 1.8rem;
    font-weight: bold;
    margin-bottom: 2rem;
    padding: 0 1rem; }
    @media only screen and (max-width: 768px) {
      .wysiwyg h3,
      #tinymce h3 {
        font-size: 1.4rem; } }
  .wysiwyg h4,
  #tinymce h4 {
    font-size: 1.4rem;
    font-weight: bold;
    margin-bottom: 2rem; }
  .wysiwyg h5,
  #tinymce h5 {
    font-size: 1.2rem;
    margin-bottom: 2rem; }
  .wysiwyg h6,
  #tinymce h6 {
    font-size: 1rem;
    margin-bottom: 2rem; }

#single-contents {
  background-color: #F6F4E8;
  margin-bottom: 6rem; }
  @media only screen and (max-width: 768px) {
    #single-contents {
      margin-bottom: 4rem; } }
  @media only screen and (max-width: 425px) {
    #single-contents {
      margin-bottom: 10.6666666667vw; } }
  #single-contents .container {
    overflow: hidden;
    padding-top: 4rem; }
  #single-contents #main {
    background-color: #fff;
    overflow: hidden;
    display: block;
    float: left;
    width: calc(100% - 350px); }
    @media only screen and (max-width: 768px) {
      #single-contents #main {
        width: 100%;
        float: none; } }
  #single-contents .entry-content {
    padding: 2rem; }
    @media only screen and (max-width: 768px) {
      #single-contents .entry-content {
        padding: 1rem; } }

.yt-box {
  padding-top: 60%;
  position: relative; }
  .yt-box iframe {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%; }

/*# sourceMappingURL=style.css.map */
