@charset "UTF-8";
@import url(../css/base.css);
@import url(../css/fonts.css);
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700&family=Lora:wght@400;500&display=swap");
.flex { display: flex; flex-wrap: wrap; justify-content: space-between; }

.flexcenter { display: flex; flex-wrap: wrap; justify-content: center; }

/*==========================================================================*/
/*//////////////////////////////////////////////////////////////////////////*/
/*//////                                                              //////*/
/*//////  Copyright (C) 2009 株式会社フリーセル All Rights Reserved.  //////*/
/*//////                                                              //////*/
/*//////////////////////////////////////////////////////////////////////////*/
/*                                                                          */
/*    base.css  --> スタイルの初期設定を行うため、変更しないで下さい。      */
/*    fonts.css --> フォントの初期設定を行うため、変更しないで下さい。      */
/*                                                                          */
/*==========================================================================*/
/*==========================================================================*/
/*                           Common-Setting                                 */
/*==========================================================================*/
body::-webkit-scrollbar { display: block; width: 10px; height: 10px; }

body::-webkit-scrollbar-track { border-radius: 10px; background: #fff; box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.5); }

body::-webkit-scrollbar-thumb { border-radius: 10px; background: linear-gradient(to bottom, #4c4c4c 0%, #595959 12%, #666666 25%, #474747 39%, #2c2c2c 50%, black 51%, #111111 60%, #2b2b2b 76%, #1c1c1c 91%, #131313 100%); box-shadow: inset 0 0 6px #fff; }

body::-webkit-scrollbar-thumb:window-inactive { background: linear-gradient(to bottom, #f2f6f8 0%, #d8e1e7 50%, #b5c6d0 51%, #e0eff9 100%); }

h1, h2, h3, h4, h5, h6, input, button, textarea, select, p, blockquote, th, td, pre, address, li, dt, dd { font-size: 100%; -webkit-text-size-adjust: none; }

header, section, footer, aside, nav, main, article, figure { display: block; padding: 0; margin: 0; }

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

a { color: inherit; font-family: inherit; font-weight: inherit; color: #64b5f7; }

a:hover, a:active { color: #64b5f7; }

a:not([target*="_blank"]) { transition: opacity 0.3s ease; }

a:not([target*="_blank"]):hover { opacity: 0.7; }

a.logo:hover, .logo a:hover, a.ft_logo:hover, .ft_logo a:hover { opacity: 1 !important; }

a.text_link { color: #64b5f7; }

a.text_link:hover { opacity: 1 !important; }

@media only screen and (min-width: 769px) { a.tel_click { pointer-events: none; opacity: 1 !important; } }

table { width: 100%; }

p { line-height: 2; letter-spacing: inherit; word-wrap: break-word; word-break: break-word; margin-bottom: 15px; }

p:empty { display: none !important; }

p:last-child, p:last-of-type { margin-bottom: 0; }

.red { color: #ca0a0a !important; }

.bold { font-weight: bold !important; }

.fl { float: left; }

.fr { float: right; }

*, ::after, ::before { box-sizing: border-box; }

/*==========================================================================*/
/*                            Container                                     */
/*==========================================================================*/
html { overflow-x: auto !important; }

body { background-color: #ffffff; -webkit-text-size-adjust: none; }

.wrapper { overflow: hidden; }

.inner_big { max-width: 1536px; margin: 0 auto; }

.inner { max-width: 1170px; margin: 0 auto; }

.inner_sm { max-width: 1000px; margin: 0 auto; }

.fullWidthBreak { width: 100vw; position: relative; left: 50%; right: 50%; margin-left: -50vw; margin-right: -50vw; }

/*==========================================================================*/
/*==========================================================================*/
/*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
/*==========================================================================*/
/*                           WordPress Core                                 */
/*==========================================================================*/
.alignnone { margin: 5px 20px 20px 0; }

.aligncenter, div.aligncenter { display: block; margin: 5px auto 35px; }

.alignright { float: right; margin: 5px 0 20px 20px; }

.alignleft { float: left; margin: 5px 20px 20px 0; }

a img.alignright { float: right; margin: 5px 0 20px 20px; }

a img.alignnone { margin: 5px 20px 20px 0; }

a img.alignleft { float: left; margin: 5px 20px 20px 0; }

a img.aligncenter { display: block; margin-left: auto; margin-right: auto; }

.wp-caption { background: #fff; border: 1px solid #f0f0f0; max-width: 96%; /* Image does not overflow the content area */ padding: 5px 3px 10px; text-align: center; }

.wp-caption.alignnone { margin: 5px 20px 20px 0; }

.wp-caption.alignleft { margin: 5px 20px 20px 0; }

.wp-caption.alignright { margin: 5px 0 20px 20px; }

.wp-caption img { border: 0 none; height: auto; margin: 0; max-width: 98.5%; padding: 0; width: auto; }

.wp-caption p.wp-caption-text { font-size: 11px; line-height: 17px; margin: 0; padding: 0 4px 5px; }

/* Text meant only for screen readers. */
.screen-reader-text { border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */ }

.screen-reader-text:focus { background-color: #eee; clip: auto !important; clip-path: none; color: #444; display: block; font-size: 1em; height: auto; left: 5px; line-height: normal; padding: 15px 23px 14px; text-decoration: none; top: 5px; width: auto; z-index: 100000; /* Above WP toolbar. */ }

/*==========================================================================*/
/*==========================================================================*/
/*==========================================================================*/
/*                              General                                     */
/*==========================================================================*/
@media only screen and (max-width: 768px) { .pc_only { display: none !important; } }

@media only screen and (min-width: 769px) { .sp_only { display: none !important; } }

.accBtn::before, .accBtn::after { transition: all 0.3s ease-in-out; }

.accBtn.triangle, .accBtn.triangle_btt { position: relative; }

.accBtn.triangle::after { content: ""; position: absolute; right: 10px; top: 50%; width: 0; height: 0; border-radius: 20px; border-color: inherit; border-left: 12px solid transparent; border-right: 12px solid transparent; border-top: 10px solid; transform: translateY(-50%); transition: all 0.3s ease-in-out; }

.accBtn.triangle.rotate::after { transform: translateY(-50%) rotateX(180deg); }

.accBtn.triangle_btt::after { content: ""; position: relative; top: 0px; width: 0; height: 0; border-radius: 20px; border-color: inherit; border-left: 12px solid transparent; border-right: 12px solid transparent; border-top: 10px solid; display: block; margin: 10px auto 0; transition: all 0.3s ease-in-out; }

.accBtn.rotate::after { transform: rotateX(180deg); }

.TabContainer .TabContent { background-color: #edf0f5; position: relative; z-index: 2; overflow: hidden; }

.TabContainer .TabContent > ul { transition: all 0.3s ease-in-out; }

.TabContainer .TabContent > ul > li { opacity: 0; z-index: -10; visibility: hidden; position: absolute; top: 0; left: 0; right: 0; transition: all 0.5s ease-in-out; }

.TabContainer .TabContent > ul > li.active { opacity: 1; z-index: 1; visibility: visible; }

.TabContainer .TabContent > ul > li div { padding-top: 20px; }

.TabContainer .TabContent p { padding: 9px 10% 0; margin: 0; }

.TabContainer .TabContent p.des { color: #838E95; font-size: 12px; }

.TabContainer .TabPager { display: table; min-width: 290px; }

.TabContainer .TabPager li { background-color: #fff; display: block; float: left; position: relative; margin: 0; padding: 9px 20px; box-shadow: 2px 1px 10px rgba(0, 0, 0, 0.4); transform: translateY(10px); transition: all 0.3s ease; cursor: pointer; color: #797b7d; }

.TabContainer .TabPager li p { margin: 0; }

.TabContainer .TabPager li.active { background-color: #edf0f5; z-index: 1; transform: translateY(0px); }

.rel { position: relative; }

.ovh { overflow: hidden !important; }

.ovs { overflow: auto; -webkit-overflow-scrolling: touch; /* Lets it scroll lazy */ }

.lt0 { letter-spacing: 0 !important; }

figure { margin: 0; text-align: center; line-height: 1; }

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

.key { position: relative; }

.gMap { width: 100%; height: 100%; }

.txt_l { float: left; width: calc(100% - 385px); }

.txt_r { float: right; width: calc(100% - 385px); }

.image_alone { display: table; max-width: 500px; margin: 0 auto; border: 7px solid rgba(231, 231, 231, 0.5); border-radius: 11px; overflow: hidden; }

.totop { transition: all 0.3s ease; opacity: 0; visibility: hidden; cursor: pointer; position: fixed; z-index: 19; bottom: 20px; right: 18px; }

.totop.active { opacity: 1; visibility: visible; }

.totop .icon { background-image: url(../images/totop.png); background-repeat: no-repeat; background-size: 100% auto; border: 0px; width: 60px; height: 60px; margin: 0; }

@media only screen and (min-width: 769px) { .totop:hover .icon { opacity: 0.9; animation-name: bounce; } }

@media only screen and (min-width: 769px) and (max-width: 1366px) { .totop { right: 10px; } }

.bounce { animation-name: bounce; }

.animated { animation-duration: .5s; animation-fill-mode: both; animation-timing-function: linear; animation-iteration-count: infinite; }

@keyframes bounce { 0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-5px); } }

@keyframes fixed_banner { 0% { left: 0;
    opacity: 1; }
  100% { left: -3px;
    opacity: 0.7; } }

.fixed_banner { position: fixed; top: 200px; right: -120px; z-index: 15; transition: right 0.3s ease-in-out; }

.fixed_banner::before { content: "\00ab"; transform: translate(-100%, -50%) scaleX(0.6); transform-origin: 100% 50%; cursor: pointer; position: absolute; z-index: 1; top: 50%; left: 0; font-size: 1.2em; line-height: 1; animation: fixed_banner 0.4s ease infinite alternate forwards; }

.fixed_banner:hover { right: 0; }

.fixed_banner > div { display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; position: relative; transition: all 0.3s ease; }

.fixed_banner > div:not(.tel):hover { opacity: 0.7; }

.fixed_banner a { position: absolute; top: 0; left: 0; right: 0; bottom: 0; z-index: 1; }

.fixed_banner p { margin-bottom: 0; color: #fff; letter-spacing: 0.12em; line-height: 1.222222222222222; text-align: center; }

.fixed_banner p::before { content: ""; background-repeat: no-repeat; background-position: center center; background-size: contain; display: block; width: 100%; margin-bottom: 8px; }

.fixed_banner .tel { background-color: #b3b3b3; height: 380px; }

.fixed_banner .tel p { padding: 0 25px; font-size: 28px; font-weight: 600; letter-spacing: 0em; line-height: 0.97; }

.fixed_banner .tel p::before { background-image: url("../images/shared_fixed_bnr_icon01.png"); background-size: auto 17px; height: 17px; }

.fixed_banner .tel p i { font-style: normal; }

.fixed_banner .tel p span { writing-mode: tb-rl; }

.fixed_banner .web { background-color: #ccc; height: 90px; }

.fixed_banner .web p { font-size: 18px; font-weight: 500; }

.fixed_banner .web p::before { background-image: url("../images/shared_fixed_bnr_icon02.png"); background-size: auto 22px; height: 22px; }

.fixed_banner .mail { background-color: #dcdcdc; height: 90px; }

.fixed_banner .mail p { font-size: 18px; font-weight: 500; }

.fixed_banner .mail p::before { background-image: url("../images/shared_fixed_bnr_icon03.png"); background-size: auto 16px; height: 16px; }

@media only screen and (min-width: 769px) { .fixed_banner { width: 140px; height: 300px; }
  .fixed_banner .tel { height: 120px; }
  .fixed_banner .tel p { padding: 0; text-align: left; }
  .fixed_banner .tel p i { display: block; }
  .fixed_banner .tel p span { writing-mode: lr-tb; } }

@media only screen and (min-width: 769px) and (max-width: 1170px) { .fixed_banner { width: 70px; }
  .fixed_banner .tel { height: 270px; }
  .fixed_banner .tel p { font-size: 18px; }
  .fixed_banner .web p, .fixed_banner .mail p { font-size: 15px; }
  .under .fixed_banner { width: 90px; } }

iframe { width: 100%; height: 100%; }

.btn-group { display: flex; justify-content: center; flex-wrap: wrap; }

.btn-group .btn a { display: block; }

.btn-group .btn.style01, .btn-group .btn.style02 { width: 100%; min-width: 180px; max-width: 260px; overflow: hidden; }

.btn-group .btn.style01 a, .btn-group .btn.style02 a { padding: 15px 10px 15px; position: relative; background-color: #cc8800; font-family: "Noto Sans JP", sans-serif; font-size: 18px; font-weight: 500; letter-spacing: 0.1em; line-height: 1.5; color: #fff; text-decoration: none; text-align: center; transition: all .3s; }

.btn-group .btn.style01 a:hover, .btn-group .btn.style02 a:hover { opacity: 1; }

.btn-group .btn.style01 a:not([target="_blank"]):hover, .btn-group .btn.style02 a:not([target="_blank"]):hover { background-color: #1d1401; }

.btn-group .btn.style01 a:not([target="_blank"]):hover::after, .btn-group .btn.style02 a:not([target="_blank"]):hover::after { right: 15px; }

.btn-group .btn.style01 a::after, .btn-group .btn.style02 a::after { content: ""; display: block; position: absolute; transition: all .3s; right: 20px; top: calc(50% - 6px); width: 6px; height: 12px; background-image: url(../images/ic_arrow.svg); background-size: 100% auto; background-repeat: no-repeat; }

.btn-group .btn.style01.md a, .btn-group .btn.md.style02 a { max-width: 250px; }

.btn-group .btn.style02 a { background-color: transparent; border: 1px solid #fff; }

.btn-group .btn.style02 a:hover { opacity: 1; background-color: #cc8800; border-color: #cc8800; }

.btn-group .btn.bg01 a { background-color: #72727b; }

.btn-group .btn.bg02 a { background-color: #f4bf0c; }

.slick-arrow { display: block; border: none; background-repeat: no-repeat; background-position: center; background-size: contain; background-color: transparent; position: absolute; top: 37%; width: 38px; height: 38px; transform: translateY(-50%); cursor: pointer; color: transparent; }

.slick-arrow:focus { outline: 0; }

.slick-prev { left: -55px; }

.slick-next { right: -55px; }

/* Tablet
-------------------------------------------*/
@media only screen and (min-width: 769px) and (max-height: 700px) { .totop { right: 10px; } }

@media only screen and (min-width: 769px) and (max-width: 1280px) { body { font-size: 87.5%; } }

@media only screen and (min-width: 769px) and (max-width: 1190px) { .inner, .inner_big { max-width: none; padding-left: 10px; padding-right: 10px; } }

@media only screen and (min-width: 769px) and (max-width: 1000px) { .inner_sm { max-width: none; padding-left: 10px; padding-right: 10px; } }

/*==========================================================================*/
/*==========================================================================*/
/*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
/*==========================================================================*/
/*                           Header - Footer                                */
/*==========================================================================*/
h1 { font-size: 10px; }

header { position: absolute; top: 0; left: 0; right: 0; z-index: 20; }

.header_top { transition: all 0.3s ease-in-out; display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; flex-wrap: wrap; justify-content: space-between; max-width: 1761px; margin: 0 auto; padding-top: 0; }

.logo { width: 20%; max-width: 370px; padding-top: 22px; display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; justify-content: center; align-items: center; }

.logo a { display: block; width: 100%; text-align: center; }

.right_head { width: 80%; max-width: 1864px; padding-right: 109px; display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; flex-wrap: wrap; justify-content: flex-end; }

.pc_navi { width: 100%; }

.pc_navi > ul { display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; flex-wrap: wrap; text-align: center; justify-content: flex-end; }

.pc_navi > ul > li { padding: 0px 29px; position: relative; }

.pc_navi > ul > li:hover p { opacity: 0.7; }

.pc_navi > ul > li:nth-child(1) { border-left: 0; }

.pc_navi > ul > li:last-child { padding-right: 0; }

.pc_navi > ul > li > a, .pc_navi > ul > li > p { position: relative; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; flex-direction: column; margin: 0; width: 100%; height: 95px; font-family: "Noto Sans JP", sans-serif; text-decoration: none; text-align: center; font-weight: 400; font-size: 18px; line-height: 1.5; letter-spacing: 0.1em; color: #fff; transition: all 0.2s ease; }

.pc_navi > ul > li > a span, .pc_navi > ul > li > p span { display: block; padding-top: 0px; font-size: 66.66666666666667%; font-weight: 600; color: #333; }

.pc_navi > ul > li > a.title, .pc_navi > ul > li > p.title { position: relative; }

.pc_navi > ul > li > a.title::after, .pc_navi > ul > li > p.title::after { content: ""; background: url(../images/shared_pc_navi_arrow.png) center no-repeat; background-size: contain; width: 11px; height: 6px; position: absolute; bottom: 18px; left: calc(50% - 6px); transition: all 0.5s ease; }

.pc_navi > ul > li:hover a.title::after, .pc_navi > ul > li:hover p.title::after { transform: translateY(5px); }

.pc_navi > ul > li.home a::before { width: 100%; height: 16px; display: block; margin-bottom: 10px; }

.pc_navi > ul .subInner { position: absolute; width: 220px; right: 50%; bottom: 0px; padding-top: 0px; transform: translate(50%, 100%); transition: all 0.2s ease-in-out; opacity: 0; visibility: hidden; z-index: 1; }

.pc_navi > ul .subInner.active { opacity: 1; visibility: visible; }

.pc_navi > ul .subInner ul { background-color: #1d1401; padding-bottom: 10px; }

.pc_navi > ul .subInner ul li { padding: 0 10px; }

.pc_navi > ul .subInner ul li a { position: relative; display: flex; align-items: center; padding: 19px 10px 19px 28px; border-bottom: 1px dashed rgba(255, 255, 255, 0.7); transition: all 0.2s ease; font-size: 14px; font-weight: 500; color: #fff; text-decoration: none; text-align: left; letter-spacing: 0px; height: 100%; }

.pc_navi > ul .subInner ul li a::before { content: "\203A"; display: block; position: absolute; top: 50%; left: 10px; transform: translateY(-50%); font-size: 14px; }

.pc_navi > ul li.lv2.col2 .subInner { width: 440px; }

.pc_navi > ul li.lv2.col2 .subInner ul { display: flex; flex-wrap: wrap; }

.pc_navi > ul li.lv2.col2 .subInner ul li { width: 50%; }

@keyframes mouse-scroll { 0% { bottom: 90px;
    opacity: 1; }
  80% { opacity: 1; }
  100% { bottom: 0;
    opacity: 0; } }

@media only screen and (min-width: 769px) { body.ovh .sp_navi { background-color: transparent; }
  body.ovh .fix_link, body.ovh .fixed_brand, body.ovh .tobelow { opacity: 0; z-index: -0; visibility: hidden; }
  .sp_navi { position: fixed; width: 96px; right: 0; top: 0; background-color: #fff; height: 56.25vw; min-height: 630px; max-height: 100vh; transition: all .3s; }
  .sp_navi.active { height: 580px; min-height: 580px; }
  .sp_navi.active .tobelow { opacity: 0; visibility: hidden; display: none;}
  .sp_navi #nav-icon { width: 45px; }
  .sp_navi .hamburger-btn { position: relative; background-color: transparent; z-index: 10; height: 100%; }
  .sp_navi .hamburger-btn #nav-icon span { background-color: #cc8800; }
  .sp_navi .hamburger-btn #nav-icon span:nth-child(1) { top: 0; }
  .sp_navi .hamburger-btn #nav-icon span:nth-child(4) { top: 25px; }
  .sp_navi .hamburger-btn .button-toggle { position: relative; width: 100%; height: 96px; display: flex; align-items: center; }
  .sp_navi .hamburger-btn .button-toggle:hover #nav-icon span { background-color: #1d1401; }
  .fix_link span { display: flex; align-items: center; justify-content: center; text-align: center; background: #72727b; height: 96px; font-size: 16px; font-family: "Noto Sans JP", sans-serif; line-height: 26px; letter-spacing: 0.2em; font-weight: 500; color: #fff; text-decoration: none; }
  .fix_link span:hover { opacity: 1; }
  .fixed_brand { pointer-events: none; position: relative; width: 100%; padding: 29px 0px 24px; background-color: #cc8800; }
  .fixed_brand img { display: block; margin: auto; }
  .tobelow { transition: all .3s ease; cursor: pointer; position: absolute; z-index: 20; bottom: 1%; right: 36px; font-weight: 300; }
  .tobelow:hover p { color: #cc8800; }
  .tobelow p { padding-bottom: 143px; margin: 0; color: #000; text-transform: uppercase; writing-mode: vertical-rl; -o-writing-mode: vertical-rl; -ms-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; -moz-writing-mode: vertical-rl; -webkit-writing-mode: vertical-rl; word-wrap: break-word; display: inline-block; font-size: 12px; letter-spacing: .1em; position: relative; font-family: "Lora", serif; font-weight: 500; transition: all .3s; }
  .tobelow p::before, .tobelow p::after { content: ""; display: block; position: absolute; transition: all .3s; }
  .tobelow p::before { width: 1px; height: 124px; background: #eeeeee; bottom: 0; left: 13px; }
  .tobelow p::after { width: 1px; height: 40px; background: #000; bottom: 0; left: 13px; -webkit-transform-origin: center bottom; -ms-transform-origin: center bottom; transform-origin: center bottom; -webkit-animation: mouse-scroll 2s infinite; animation: mouse-scroll 2s infinite; } }

@media only screen and (min-width: 769px) and (max-width: 1760px) { .header_top { padding: 0px 10px; }
  .logo { padding-top: 0; }
  .right_head { padding-right: 120px; }
  .pc_navi > ul > li { padding: 0px 0.5vw; } }

@media only screen and (min-width: 769px) and (max-width: 1366px) { .wrapper .fixed_brand { padding: 10px 0; }
  .wrapper .fixed_brand img { height: 230px; }
  .wrapper .sp_navi.active { height: auto; min-height: auto;}
  .sp_navi { width: 80px; }
  .fix_link span, .sp_navi .hamburger-btn .button-toggle { width: 80px; height: 80px; }
  .tobelow { right: 28px; } }

@media only screen and (min-width: 769px) and (max-width: 1280px) { .pc_navi > ul > li { padding: 0px 0.5vw; }
  .pc_navi > ul > li > a, .pc_navi > ul > li p { font-size: 14px; }
  .pc_navi > ul .subInner ul li a { font-size: 14px; } }

@media only screen and (min-width: 769px) and (max-width: 992px) { .right_head { padding-right: 85px; }
  .pc_navi > ul > li > a, .pc_navi > ul > li p {     font-size: 1.25vw; }
  .pc_navi > ul .subInner ul li a { font-size: 12px; } }

@media only screen and (min-width: 769px) and (max-height: 700px) { .wrapper .fixed_brand { padding: 10px 0; }
  .wrapper .fixed_brand img { height: 230px; }
  .wrapper .sp_navi.active { height: 406px; min-height: 406px; }
  .wrapper .fix_link span { height: 80px; }
  @keyframes mouse-scroll { 0% { bottom: 40px;
      opacity: 1; }
    80% { opacity: 1; }
    100% { bottom: 0;
      opacity: 0; } }
  .tobelow { bottom: 0px; }
  .tobelow p { padding-bottom: 60px; }
  .tobelow p::before { height: 56px; }
  .tobelow p::after { height: 20px; } }

@media only screen and (min-width: 769px) and (max-height: 700px) and (max-width: 1366px) { .wrapper .sp_navi.active { height: 410px; } }

footer { border-top: 1px solid #cc8800; position: relative; }

footer .above { background: url(../images/ft_bg1.jpg) center no-repeat; background-size: cover; padding: 100px 0; }

footer .above .list { display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; }

footer .above .list .gmap { width: 56%; max-width: 585px; height: 430px; border: 5px solid #fff; }

footer .above .list .info { width: 43%; text-align: center; }

footer .above .list .info .ft_ct { display: table; margin-bottom: 12px; }

footer .above .list .info .time { font-size: 18px; color: #333333; letter-spacing: 0.1em; text-align: right; }

footer .above .list .info .ft_logo { max-width: 455px; margin: 0 0 25px; }

footer .above .list .info .address { margin-bottom: 16px; color: #333333; line-height: 1.5; text-align: left; letter-spacing: 0.2em; }

footer .above .list .info .tel { line-height: 1; }

footer .above .list .info .tel a { display: table; background-image: url(../images/ic_tel.png); color: #333333; font-size: 32px; font-weight: 500; }

footer .above .list .info .mail { max-width: 300px; margin: 0; }

footer .above .list .info .mail a { position: relative; text-decoration: none; display: block; padding: 20px 10px 23px 32px; font-size: 18px; font-weight: 400; letter-spacing: 0.1em; color: #fff; font-family: "Noto Sans JP", sans-serif; background-image: url(../images/shared_fixed_bnr_icon03.png); background-repeat: no-repeat; background-position: left 16% center; background-size: 23px auto; background-color: #cc8800; }

footer .above .list .info .mail a::before { content: ""; display: block; position: absolute; transition: all .3s; top: 3px; left: 3px; border: 1px solid #ffd98e; width: calc(100% - 6px); height: calc(100% - 6px); }

footer p { margin-bottom: 0; }

footer p, footer a { color: #fff; }

footer .ft_bottom { padding: 70px 0px 0; background-image: url(../images/ft_bg2.jpg); background-size: cover; background-repeat: no-repeat; }

footer .copyright p { padding: 29px 0; color: #ab9f86; font-size: 12px; text-align: center; letter-spacing: 0.2em; }

.ft_link { order: 1; padding-top: 27px; }

.ft_link a { text-decoration: none; }

.ft_link .menu01 { width: 38.3%; }

.ft_link .menu02 { width: 36.4%; }

.ft_link .menu02 .ttl { margin-bottom: 17px; }

.ft_link .menu03 { padding-top: 58px; width: 25.3%; }

.ft_link .ttl { margin-bottom: 22px; padding-bottom: 10px; padding-left: 0; font-size: 26px; font-weight: 400; letter-spacing: 0.2em; line-height: 1; pointer-events: none; font-family: "Lora", serif; color: #cc8800; text-transform: uppercase; }

.ft_link .ttl::before { display: none; }

.ft_link .ttl a { display: table; position: relative; }

.ft_link .ttl a::before, .ft_link .ttl a::after { content: ""; display: block; position: absolute; transition: all .3s; left: 50%; transform: translateX(-50%); height: 3px; width: 65px; }

.ft_link .ttl a::before { bottom: -7px; height: 1px; background-color: #cc8800; }

.ft_link .ttl a::after { bottom: calc(-7px - 1px); background-image: url(../images/ic_dot.png), url(../images/ic_dot.png); background-repeat: no-repeat; background-position: left center,right center; }

.ft_link .ttl a::before, .ft_link .ttl a::after { left: 1px; transform: none; width: calc(100% - 7px); }

.ft_link ul:last-child { margin-bottom: 0; }

.ft_link li { position: relative; padding-left: 15px; margin-bottom: 14px; letter-spacing: 0.2em; line-height: 2; color: #fff; font-size: 16px; }

.ft_link li a { display: block; line-height: inherit; }

.ft_link li.last { margin-bottom: 29px; }

.ft_link li:last-child { margin-bottom: 0; }

.ft_link li.big { margin-top: 4px; font-size: 20px; margin-bottom: 2px; }

.ft_link li.sm { font-size: 15px; margin-left: 15px; margin-bottom: 0px; line-height: 2.8; letter-spacing: 0.2em; }

.ft_link li.sm::before { width: 7px; height: 1px; top: calc(50% - 3px); }

.ft_link li::before { content: ""; background-color: #cc8800; width: 5px; height: 5px; position: absolute; top: calc(50% - 2.5px); left: 0px; }

.ft_link a { color: inherit; }

.ft_link a:hover { opacity: 1; text-decoration: underline; }

@media only screen and (min-width: 769px) { .ft_link .menu03 li.big { margin-top: -2px; }
  .ft_link .menu03 li:last-child { margin-top: 10px; } }

@media only screen and (min-width: 769px) and (max-width: 1280px) { .ft_link { padding: 0px 20px; max-width: 1000px; margin: auto; }
  .ft_link .menu01 { width: 28%; }
  .ft_link .menu02 { width: 45%; }
  .ft_link .menu03 { width: 27%; } }

@media only screen and (min-width: 769px) and (max-width: 992px) { .ft_link li { font-size: 14px; }
  .ft_link li::before { top: 11px; }
  .ft_link li.big { font-size: 17px; }
  .ft_link li.big::before { top: 13px; }
  .ft_link li.sm { font-size: 12px; }
  .ft_link li.sm::before { top: 15px; } }

/*==========================================================================*/
/*==========================================================================*/
/*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
/*==========================================================================*/
/*                                INDEX                                     */
/*==========================================================================*/
.home_page .key { background-color: #161616; background-size: cover; height: 960px; overflow: hidden; height: 56.25vw; }

.home_page .key #myvideo { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 1; min-width: 100%; max-height: 100%; }

.home_page .key .inner { position: relative; height: 100%; padding: 0; }

.home_page .key .key_text { position: relative; width: 100%; height: 100%; background-size: cover; background-repeat: no-repeat; background-position: center; }

.home_page .key .key_text::before { content: ""; display: block; position: absolute; transition: all .3s; width: 100%; height: 100%; left: 0; top: 0; z-index: 2; background-color: rgba(29, 20, 1, 0.7); }

.home_page .key .key_text ul { z-index: 2; }

.home_page .key .key_text .item { background-size: auto 100%; display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; flex-wrap: wrap; flex-direction: row-reverse; padding-left: 167px; align-items: flex-start; justify-content: flex-end; height: 56.25vw; padding-top: 310px; z-index: 2; position: relative; }

.home_page .key h2, .home_page .key p { font-family: "Noto Sans JP", sans-serif; color: #fff; letter-spacing: 0.2em; }

.home_page .key h2 { margin-left: 19px; font-size: 42px; font-weight: 500; line-height: 1.54762; }

.home_page .key p { font-weight: 400; font-size: 24px; line-height: 1.66667; }

.home_page .topic_path { display: none; }

.home_page .link a { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 1; }

.home_page h3 { position: relative; margin-bottom: 35px; font-family: "Noto Sans JP", sans-serif; text-align: center; font-size: 20px; font-weight: 400; letter-spacing: 0.2em; color: #000; }

.home_page h3::before, .home_page h3::after { content: ""; display: block; position: absolute; transition: all .3s; left: 50%; transform: translateX(-50%); height: 3px; width: 65px; }

.home_page h3::before { bottom: -17px; height: 1px; background-color: #cc8800; }

.home_page h3::after { bottom: calc(-17px - 1px); background-image: url(../images/ic_dot.png), url(../images/ic_dot.png); background-repeat: no-repeat; background-position: left center,right center; }

.home_page h3 .en { display: block; position: relative; margin-bottom: 0.05em; font-family: "Lora", serif; font-size: 55px; font-weight: 500; letter-spacing: 0.15em; text-transform: uppercase; color: #cc8800; }

.home_page h3.white { color: #fff; }

.home_page h3.white:before { background-color: #fff; }

.home_page h3.white::after { background-image: url(../images/ic_dot3.jpg), url(../images/ic_dot3.jpg); }

.home_page h3.white .en { color: #fff; }

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

.home_page h3.left .en::after { left: 0; transform: none; }

.home_page .tt { font-family: "Noto Sans JP", sans-serif; }

.home_page .en { font-family: "Lora", serif; }

@media screen and (min-width: 769px) and (max-width: 1660px) { .home_page .key .key_text .item h2 { font-size: 2.54vw; }
  .home_page .key .key_text .item p { font-size: 1.44vw; } }

@media screen and (min-width: 769px) { span.kt { margin-top: 0.06em; margin-bottom: -0.36em; }
  .txt_ver { cursor: vertical-text; writing-mode: vertical-rl; -o-writing-mode: vertical-rl; -ms-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; -moz-writing-mode: vertical-rl; -webkit-writing-mode: vertical-rl; text-orientation: upright; word-wrap: break-word; } }

@media only screen and (min-width: 1367px) { .home_page .key .key_text .item h2 { height: 100%; }
  .home_page .key .key_text .item.s3 { padding-top: 210px; }
  .home_page .key .key_text .item.s2 { padding-top: 210px; } }

@media only screen and (min-width: 769px) and (max-width: 1366px) { .home_page .key .key_text .item { padding-top: 14vw; }
  .home_page .key .key_text .item h2 { height: 100%; }
  .home_page .key .key_text .item.s3 { padding-top: 14vw; }
  .home_page .key .key_text .item.s2 { padding-top: 14vw; } }

@media only screen and (min-width: 769px) and (max-width: 1760px) { .home_page .key .key_text { background-position: right 40% center; }
  .home_page .key .key_text .item { padding-left: calc(5% + 20px); } }

@media only screen and (min-width: 769px) and (max-width: 1280px) { .home_page .item { padding-right: 90px; } }

@media only screen and (min-width: 769px) and (max-width: 992px) { .home_page .key .key_text { background-position: right 50% center; }
  .home_page .key h2 { font-size: 38px; }
  .home_page .key p { font-size: 20px; } }

.idx_list ul { min-height: 156px; }

.idx_list ul li a { display: flex; padding: 19px 26px 17px; transition: all 0.3s; letter-spacing: 0.1em; font-size: 14px; text-decoration: none; font-size: 16px; }

.idx_list ul li a span { display: block; }

.idx_list ul li a:hover { opacity: 1; }

.idx_list ul li a:hover:hover { background-color: whitesmoke; }

.idx_list ul li .date { width: 120px; color: #cc8800; letter-spacing: 0em; }

.idx_list ul li .tt { width: calc(100% - 120px); display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: #333333; letter-spacing: 0.1em; }

@media only screen and (min-width: 769px) { .index01 .flex > .box { width: calc((100% - 0px)/2); margin-right: 0px; margin-bottom: 0px; }
  .index01 .flex > .box:nth-child(2n+2) { margin-right: 0px; } }

.index01 .flex .box { padding: 90px 45px 101px; }

.index01 .flex .box:nth-child(2) .content h3::before { background-color: #72727b; }

.index01 .flex .box:nth-child(2) .content h3::after { background-image: url(../images/ic_dot2.png), url(../images/ic_dot2.png); }

.index01 .flex .box:nth-child(2) .content .idx_list ul li .date { color: #72727b; }

.index01 .flex .box:nth-child(1) { background-color: #fff8eb; display: flex; flex-direction: column; align-items: flex-end; }

.index01 .flex .box:nth-child(1) .date { color: #cc8800; }

.index01 .flex .box:nth-child(1) .content h3 { color: #cc8800; }

.index01 .flex .box:nth-child(1) .content li a { background-color: #fff; }

.index01 .flex .box:nth-child(1) .content li a:hover { background-color: whitesmoke; }

.index01 .flex .box:nth-child(1) .content li:nth-child(2n) a { background-color: #fff8eb; }

.index01 .flex .box:nth-child(1) .content li:nth-child(2n) a:hover { background-color: whitesmoke; }

.index01 .flex .box:nth-child(1) h3 { color: #cc8800; }

.index01 .flex .box .content { max-width: 540px; width: 100%; }

.index01 .flex .box .content h3 { margin-bottom: 56px; position: relative; color: #72727b; font-size: 32px; font-weight: 500; letter-spacing: 0.1em; }

.index01 .flex .box .content h3::before, .index01 .flex .box .content h3::after { content: ""; display: block; position: absolute; transition: all .3s; left: 50%; transform: translateX(-50%); height: 3px; width: 65px; }

.index01 .flex .box .content h3::before { bottom: -14px; height: 1px; background-color: #cc8800; }

.index01 .flex .box .content h3::after { bottom: calc(-14px - 1px); background-image: url(../images/ic_dot.png), url(../images/ic_dot.png); background-repeat: no-repeat; background-position: left center,right center; }

.index01 .flex .box .content li a { background-color: #fff8eb; }

.index01 .flex .box .content li a:hover { background-color: whitesmoke; }

.index01 .flex .box .content li:nth-child(2n) a { background-color: #fff; }

.index01 .flex .box .content li:nth-child(2n) a:hover { background-color: whitesmoke; }

.index01 .flex .box .btn-group { margin-top: 40px; }

@media only screen and (min-width: 769px) and (max-width: 1280px) { .index01 .flex .box { padding-left: 2%; padding-right: 2%; }
  .index01 .flex .box .content h3 { font-size: 28px; }
  .idx_list ul li a { font-size: 14px; }
  .idx_list ul li a .date { width: 100px; }
  .idx_list ul li a .tt { width: calc(100% - 100px); } }

.index02 {     background-color: #1f1808;background-image: url(../images/idx02_bg.jpg); background-size: cover; background-position: center; padding: 76px 0 101px; }

.index02 .inner { max-width: 1536px; }

.index02 h3 { margin-bottom: 90px; }

.index02 .idx02_box { margin-bottom: 60px; max-height: 425px; height: 27.667vw; display: flex; justify-content: space-between; align-items: center; background-image: url(../images/idx02_line.png); background-repeat: no-repeat; background-position: center; background-size: 100% auto; }

.index02 .idx02_box > div { display: flex; flex-direction: column; justify-content: space-between; }

.index02 .idx02_box p { display: flex; align-items: center; height: 170px; margin-bottom: 0; }

.index02 .idx02_box .en { margin-right: 0.5em; font-size: 60px; line-height: 1; letter-spacing: 0; color: #69552e; font-weight: 500; }

.index02 .idx02_box .tt { font-size: 36px; line-height: 50px; font-weight: 400; letter-spacing: 0.2em; color: #fff; }

.index02 .btn-group .btn.style02 { max-width: 270px; }

.index02 .btn-group .btn.style02 a { padding: 14px 10px 15px; letter-spacing: 0.0em; }

@media only screen and (max-width: 1556px) and (min-width: 769px) { .inner_big { padding-left: 10px; padding-right: 10px; }
  .index02 .idx02_box p { height: 11vw; }
  .index02 .idx02_box .en { font-size: 3.8vw; }
  .index02 .idx02_box .tt { line-height: 1.38888889; font-size: 2.3vw; } }

.index03 { padding: 100px 0; position: relative; }

.index03::before { content: ""; display: block; position: absolute; transition: all .3s; width: calc(100vw - 375px); right: 375px; top: 0; height: 100%; bottom: 0; background-color: #fff8eb; }

.index03 .inner_big { position: relative; z-index: 1; overflow: hidden; padding-top: 79px; }

.index03 .inner_big h3 { z-index: 3; text-align: left; padding-left: 181px; margin: 0; width: calc(100% - 319px); }

.index03 .inner_big h3::before, .index03 .inner_big h3::after { left: 183px; transform: none; z-index: 1; }

.index03 .inner_big h3::before { bottom: 43px; }

.index03 .inner_big h3::after { bottom: 42px; }

.index03 .inner_big h3 .en { color: #cc8800; margin-bottom: 13px; position: relative; }

.index03 .inner_big h3 .en::before { content: ""; display: block; position: absolute; transition: all .3s; width: calc(100%); max-width: 1033px; height: 0; left: -183px; bottom: 0; border-bottom: 1px solid #e0e0e0; }

.index03 .inner_big .pic { position: absolute; z-index: 1; margin-bottom: 0; max-width: 32.4vw; }

.index03 .inner_big .pic figure:first-child { margin-bottom: 30px; }

.index03 .inner_big .p2 { top: 0; }

.index03 .inner_big .p1 { bottom: 0; }

.index03 .inner_big .p1 { left: 0; }

.index03 .inner_big .p2 { right: 0; }

.index03 .conent { padding-bottom: 67px; }

.index03 .box_txt { max-width: 650px; margin: auto; padding: 24px 60px 29px; }

.index03 .box_txt > p { position: relative; z-index: 3; font-size: 16px; line-height: 2.25; letter-spacing: 0.2em; margin-bottom: 18px; }

.index03 .box_txt .btn-group { z-index: 3; position: relative; padding-left: 0px; margin-left: -5px; width: 810px; }

.index03 .box_txt .btn-group .btn { margin: 5px 5px; }

.index03 .box_txt .btn-group .btn:nth-child(2) a { letter-spacing: 0; }

.index03 .box_txt .t_right { margin-top: 22px; margin-right: -5px; margin-bottom: 40px; }

.index03 .box_txt .t_right span { font-weight: 500; letter-spacing: 0.2em; }

.index03 .box_txt .t_right .tt { font-size: 26px; line-height: 1.2; display: block; }

.index03 .box_txt .t_right .en { font-size: 18px; color: #cc8800; }

.index03 .box_txt::before { content: ""; display: block; position: absolute; transition: all .3s; width: 100%; max-width: 650px; left: 50%; transform: translateX(-50%); height: 100%; bottom: 0; background-color: #fff; z-index: 2; }

.index04 { padding: 100px 0px; }

.index04 .idx04_box { position: relative; display: flex; justify-content: center; align-items: center; flex-direction: column; height: auto; padding: 86px 0 168px; background-image: url(../images/idx04_bg.jpg); background-repeat: no-repeat; background-size: cover; background-position: center; }

.index04 .idx04_box h3 { margin-bottom: 19px; padding-top: 83px; background-image: url(../images/idx04_ic.png); background-position: top center; background-repeat: no-repeat; font-size: 48px; letter-spacing: 0.1em; font-weight: 500; }

.index04 .idx04_box h3::before, .index04 .idx04_box h3::after { display: none; }

.index04 .idx04_box .sub { color: #fff; text-align: center; font-family: "Noto Sans JP", sans-serif; font-size: 20px; letter-spacing: 0.25em; line-height: 36px; }

.index04 .idx04_box .flex { justify-content: center; position: absolute; left: 0; bottom: 0; padding: 24px 0.7em 25px 0em; height: auto; width: 100%; background-color: #cc8800; color: #fff; }

.index04 .idx04_box .flex .tel { padding-right: 46px; margin-right: 47px; border-right: 1px solid #fff; }

.index04 .idx04_box .flex .tel a { font-size: 32px; }

.index04 .idx04_box .flex p { line-height: 40px; margin-bottom: 0; font-size: 24px; letter-spacing: 0.29em; font-family: "Noto Sans JP", sans-serif; }

.tel > a { display: block; padding-left: 34px; line-height: inherit; font-family: "Lora", serif; font-size: 24.71px; font-weight: 400; letter-spacing: 0.1em; background-image: url(../images/shared_fixed_bnr_icon01.png); background-position: left center; background-repeat: no-repeat; background-size: 26px auto; color: #fff; text-decoration: none; }

.tel > a:hover, .tel > a:active { opacity: 1 !important; }

.index05 { position: relative; padding: 0 0 100px; }

.index05 .box_head { padding-top: 263px; width: 100%; height: 580px; background: url(../images/idx05_bg1.jpg) no-repeat top center; }

.index05 h3 { margin-bottom: 77px; letter-spacing: 0.1em; }

.index05 .flex { position: relative; z-index: 1; margin: -126px 0px 0; justify-content: center; }

.index05 .flex .box { width: calc(33.333% - 20px); max-width: 492px; margin-right: 30px; position: relative; background-color: #fff; padding: 83px 20px 19px; border: 1px solid #dac190; }

.index05 .flex .box:last-child { margin-right: 0; }

.index05 .flex .box h4 { position: relative; display: block; padding-top: 115px; margin-bottom: 37px; color: #cc8800; font-size: 32px; font-weight: 500; letter-spacing: 0.1em; font-family: "Noto Sans JP", sans-serif; text-align: center; background-position: top center; background-repeat: no-repeat; }

.index05 .flex .box h4::before { content: ""; display: block; position: absolute; transition: all .3s; width: 9px; height: 15px; right: 0px; bottom: 14px; background-repeat: no-repeat; background-image: url(../images/idx05_arr.png); }

.index05 .flex .box .txt { background-color: #fff8eb; padding: 19px 10px; text-align: center; }

.index05 .flex .box .txt p { letter-spacing: 0.1em; line-height: 36px; }

.index05 .flex .box:nth-child(1) h4 { background-image: url(../images/idx05_ic1.png); }

.index05 .flex .box:nth-child(2) h4 { background-image: url(../images/idx05_ic2.png); }

.index05 .flex .box:nth-child(3) h4 { background-image: url(../images/idx05_ic3.png); }

.index06 .box_head { padding: 79px 10px 36px; background-image: url(../images/idx06_bg.jpg); }

.index06 .box { width: 33.333333%; height: 365px; position: relative; color: #fff; display: flex; align-items: center; justify-content: center; flex-direction: column; background-repeat: no-repeat; background-position: center; background-size: cover; }

.index06 .box:nth-child(2n)::before { background: #3e2900; }

.index06 .box::before { width: 100%; height: 100%; left: 0; top: 0; background: #8f630a; opacity: 0.8; }

.index06 .box::before, .index06 .box::after { content: ""; display: block; position: absolute; transition: all .3s; }

.index06 .box::after { width: calc(100% - 20px); height: calc(100% - 20px); left: 10px; top: 9px; border: 1px solid #fff; }

.index06 .box:nth-child(1) { background-image: url(../images/idx06_img1.jpg); }

.index06 .box:nth-child(1) .tt { background-image: url(../images/idx06_ic1.png); }

.index06 .box:nth-child(2) { background-image: url(../images/idx06_img2.jpg); }

.index06 .box:nth-child(2) .tt { background-image: url(../images/idx06_ic2.png); }

.index06 .box:nth-child(3) { background-image: url(../images/idx06_img3.jpg); }

.index06 .box:nth-child(3) .tt { background-image: url(../images/idx06_ic3.png); }

.index06 .box:nth-child(4) { background-image: url(../images/idx06_img4.jpg); }

.index06 .box:nth-child(4) .tt { background-image: url(../images/idx06_ic4.png); }

.index06 .box:nth-child(5) { background-image: url(../images/idx06_img5.jpg); }

.index06 .box:nth-child(5) .tt { background-image: url(../images/idx06_ic5.png); }

.index06 .box:nth-child(6) { background-image: url(../images/idx06_img6.jpg); }

.index06 .box:nth-child(6) .tt { background-image: url(../images/idx06_ic6.png); }

.index06 .box:nth-child(7) { background-image: url(../images/idx06_img7.jpg); }

.index06 .box:nth-child(7) .tt { background-image: url(../images/idx06_ic7.png); }

.index06 .box:nth-child(8) { background-image: url(../images/idx06_img8.jpg); }

.index06 .box:nth-child(8) .tt { background-image: url(../images/idx06_ic8.png); }

.index06 .box:nth-child(9) { background-image: url(../images/idx06_img9.jpg); }

.index06 .box:nth-child(9) .tt { background-image: url(../images/idx06_ic9.png); }

.index06 .box:nth-child(10) { background-image: url(../images/idx06_img10.jpg); }

.index06 .box:nth-child(10) .tt { background-image: url(../images/idx06_ic10.png); }

.index06 .box p { display: block; width: 100%; position: relative; z-index: 1; text-align: center; }

.index06 .box .tt { background-position: top center; background-repeat: no-repeat; background-size: auto 70px; padding-top: 80px; font-size: 32px; letter-spacing: 0.2em; }

.index06 .box .sub { letter-spacing: 0.2em; }

.index06 .box.st2 { width: 25%; }

.index06 .box.st2 .tt { background-size: auto 72px; }

.index07 { position: relative; }

.index07 .idx07_box { background: url(../images/idx07_bg.jpg) no-repeat center; background-size: cover; }

.index07 h3 { margin-bottom: 32px; }

.index07 .flex { justify-content: flex-end; position: relative; padding: 100px 0; }

.index07 .col_img { max-width: calc(100vw - 645px); width: 900px; right: 645px; top: 100px; position: absolute; }

.index07 .col_text { width: 585px; max-width: 585px; min-height: 660px; padding-top: 33px; }

.index07 .info { margin-bottom: 0px; }

.index07 .info dl { border-top: solid 1px #cccccc; display: flex; width: 100%; padding: 21px 0 20px; }

.index07 .info dl span { display: block; }

.index07 .info dl .main { margin-bottom: 0.35em; }

@media screen and (min-width: 769px) { .index07 .info dl.line2 { padding: 21px 0 20px; } }

.index07 .info dt, .index07 .info dd { font-size: 16px; letter-spacing: 0.1em; line-height: 24px; }

.index07 .info dt { color: #cc8800; font-weight: 500; width: 120px; text-align: left; padding-left: 10px; padding-left: 12px; }

.index07 .info dd { width: calc(100% - 120px); color: #000; }

.index07 .info dl:first-child { border-top: none; }

.index07 .btn-group { margin-top: 13px; }

.idx_map { width: 100%; min-height: 450px; max-height: 450px; height: 80vw; }

.index08 .row1 { padding: 79px 0px 102px; background: url(../images/idx08_bg.jpg) no-repeat center; background-size: cover; position: relative; }

.index08 .row1 .flex { align-items: flex-start; }

.index08 .row1 .box:first-child { padding-left: 80px; width: calc(50% - 30px); }

.index08 .row1 .box:nth-child(2) { padding: 10px 10px; width: 50%; max-width: 520px; background: rgba(204, 136, 0, 0.2); }

.index08 .row1 .box:nth-child(2) .content { padding: 25px 40px 41px; background-color: #fff; }

.index08 .row1 .box:nth-child(2) .tt { margin-bottom: 30px; padding-bottom: 7px; text-align: center; font-weight: 500; font-size: 26px; color: #cc8800; border-bottom: 1px solid #cc8800; }

.index08 .row1 .box:nth-child(2) .sub { letter-spacing: 0.1em; line-height: 2.25; }

.index08 .row1 .box:nth-child(2) .sub .sm { font-size: 87.5%; line-height: 2.286; display: block; }

.index08 .row1 li { padding-left: 43px; background: url(../images/ic_list.png) no-repeat left top 1px; background-size: auto 26px; font-size: 18px; letter-spacing: 0.1em; line-height: 2.35; }

.index08 .row2 { padding: 64px 0px 68px; position: relative; }

.index08 .row2 .flexcenter { margin: 0px -15px; }

.index08 .row2 p { margin: 15px 15px; }

.index08 h3 { margin-bottom: 57px; }

.index08 .flex { margin-bottom: 41px; }

.index08 .btn-group .btn.style01 a, .index08 .btn-group .btn.style02 a { letter-spacing: 0em; }

.index08 .flexcenter { flex-wrap: wrap; }

@media only screen and (min-width: 769px) { .index06 .box:hover::before { opacity: 1; }
  .index05 .box:hover { background-color: #fefefc; border-color: #1d1401; }
  .index05 .box:hover h4::before { right: -5px; } }

@media only screen and (max-width: 1556px) and (min-width: 769px) { .index03::before { right: 15%; width: 85%; }
  .index05 .flex .box { width: 32%; margin-right: 2%; padding: 83px 15px 19px; }
  .index05 .flex .box .txt p { font-size: 15px; line-height: 2.571; } }

@media only screen and (max-width: 1556px) and (min-width: 993px) { .index06 .box .tt { padding-top: 5.1vw; background-size: auto 4.4vw; font-size: 2.05vw; }
  .index06 .box .sub { letter-spacing: 0.1em; font-size: 1.05vw; }
  .index06 .box.st2 .tt { padding-top: 5.1vw; background-size: auto 4.6vw; }
  .index07 .flex { align-items: center; }
  .index07 .col_text { padding-top: 0; min-height: 450px; } }

@media only screen and (max-width: 1280px) and (min-width: 769px) { .index03 .inner_big h3 { padding-left: 10%; width: 90%; }
  .index03 .inner_big h3::before, .index03 .inner_big h3::after { left: 11.5%; }
  .index03 .inner_big h3 .en:before { left: -10%; width: 88%; min-width: 570px; }
  .index03 .box_txt { width: 50vw; min-width: 450px; padding: 35px 3% 29px; }
  .index03 .box_txt .btn-group { width: 100%; margin: 0; justify-content: center; }
  .index03 .box_txt::before { width: 50vw; min-width: 450px; }
  .index03 .box_txt > p { font-size: 14px; }
  .index04 .idx04_box .flex { padding: 25px 10px; align-items: center; }
  .index04 .idx04_box .flex .tel { padding-right: 2%; margin-right: 2%; }
  .index04 .idx04_box .flex p { line-height: 1.6667; font-size: 21px; }
  .index05 .flex .box h4 { font-size: 28px; }
  .index05 .flex .box h4::before { bottom: 12px; }
  .index05 .flex .box .txt p { font-size: 13px; line-height: 2.571; }
  .index06 .box { height: 340px; }
  .index07 .flex { align-items: center; }
  .index07 .col_img { top: 50%; transform: translateY(-50%); max-width: calc(100vw - 540px); width: calc(100vw - 540px); right: 540px; }
  .index07 .col_img img { display: block; margin: auto; }
  .index07 .col_text { width: 490px; min-height: 300px; }
  .index07 .info dl, .index07 .info dl.line2 { padding: 15px 0; }
  .index07 .info dt { width: 90px; padding-left: 5px; }
  .index07 .info dd { width: calc(100% - 90px); }
  .index07 .info dt, .index07 .info dd { font-size: 14px; line-height: 1.7; }
  .index08 .row1 .box:first-child { padding-left: 0; }
  .index08 .row1 li { font-size: 16px; background-position: left top 0px; line-height: 1.6; padding-top: 8px; padding-bottom: 10px; } }

@media only screen and (max-width: 1280px) and (min-width: 769px) { .index05 .flex .box .txt p br { display: none; } }

@media screen and (min-width: 640px) and (max-width: 992px) { .index06 .box { width: 50%; }
  .index06 .box.st2 { width: 50%; } }

@media screen and (min-width: 769px) and (max-width: 992px) { .index03 .box_txt > p { font-size: 12px; }
  .index04 .idx04_box { padding: 63px 0 222px; }
  .index04 .idx04_box .flex { flex-direction: column; }
  .index04 .idx04_box .flex .tel { border-right: none; border-bottom: 1px solid #fff; padding: 0px 0px 10px; margin: 0px auto 18px; }
  .index05 .flex .box { padding: 40px 10px 20px; }
  .index05 .flex .box h4 { padding-top: 92px; font-size: 24px; background-size: auto 73px; }
  .index05 .flex .box h4::before { bottom: 10px; }
  .index05 .flex .box .txt { height: 172px; display: flex; align-items: center; justify-content: center; }
  .index05 .box_head{background-size: 150% auto; padding-top: 102px; height: 424px;}
  .index08 .row1 .box:nth-child(2) { width: 440px; }
  .index08 .row1 .box:first-child { width: calc(100% - 470px); } }

/*==========================================================================*/
/*==========================================================================*/
/*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
/*==========================================================================*/
/*                                Under                                     */
/*==========================================================================*/
.under .sitemap { padding-top: 40px; }

.under .sitemap > ul > li p { margin-bottom: 0; }

.under .sitemap > ul > li a, .under .sitemap > ul > li p { display: block; width: 100%; padding: 15px 15px 15px 30px; border-bottom: dotted 1px #ccc; color: #333333; position: relative; box-sizing: border-box; text-decoration: none; }

.under .sitemap > ul > li a:before, .under .sitemap > ul > li p:before { content: ''; position: absolute; width: 15px; height: 3px; background: #ccc; left: 0; top: 50%; margin-top: -2px; }

.under .sitemap > ul > li p:after { content: ''; position: absolute; width: 3px; height: 14px; background: #ccc; left: 6px; top: 50%; margin-top: -7px; }

.under .sitemap > ul > li a:hover { text-decoration: none; background: rgba(0, 0, 0, 0.05); }

.under .sitemap > ul > li li a { padding-left: 70px; }

.under .sitemap > ul > li li a:before { left: 40px; }

.under #mainContent { padding-bottom: 100px; }

.under .key { background-size: cover; background-repeat: no-repeat; background-image: url(../images/ud_mv1.jpg); background-position: center; height: 500px; }

.under .key .inner { height: 100%; }

.under .key .key_text { display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; position: relative; height: 100%; padding: 0 140px; }

.under .key .key_text h2 { margin-bottom: 0; font-size: 42px; color: #fff; }

.under h2 { display: table; margin-bottom: 35px; font-size: 36px; font-weight: 500; text-align: center; line-height: 1.54762; letter-spacing: 0.1em; }

.under h2, .under h3, .under h4, .under h5, .under h6 { line-height: 1.4; font-family: "Noto Sans JP", sans-serif; }

.under h2:last-child, .under h3:last-child, .under h4:last-child, .under h5:last-child, .under h6:last-child { margin-bottom: 0; }

.under h3 { background-size: 50px auto; position: relative; margin-bottom: 57px; color: #cc8800; font-size: 40px; font-weight: 500; letter-spacing: 0.2em; text-align: center; }

.under h3::before, .under h3::after { content: ""; display: block; position: absolute; transition: all .3s; left: 50%; transform: translateX(-50%); height: 3px; width: 65px; }

.under h3::before { bottom: -17px; height: 1px; background-color: #cc8800; }

.under h3::after { bottom: calc(-17px - 1px); background-image: url(../images/ic_dot.png), url(../images/ic_dot.png); background-repeat: no-repeat; background-position: left center,right center; }

.under h4 { background-repeat: repeat; padding: 10px 15px; margin-bottom: 30px; position: relative; font-size: 30px; color: #fff; background-color: #cc8800; line-height: 1.2; }

.under h5 { display: table; margin-bottom: 25px; padding-left: 20px; position: relative; font-weight: 500; font-size: 26px; color: #333; }

.under h5::before { content: ""; display: block; position: absolute; transition: all .3s; width: 5px; height: 29px; background-color: #cc8800; left: 0; top: 0.15em; border-radius: 2.5px; }

.under h6 { position: relative; padding: 12px 20px; margin-bottom: 25px; font-weight: 600; font-size: 16px; color: #333; letter-spacing: 3px; background-color: #f1f1f1; }

.under .btn-group { margin-top: 20px; }

.under .btn-group .btn.style01, .under .btn-group .btn.style02 { max-width: 500px; margin: 10px; }

.under section:first-child h3 { margin-top: 50px; }

.under section { padding-top: 1px; }

.under section h3 { margin-top: 80px; }

.under .secH4 { padding-top: 60px; }

.under .secH5 { padding-top: 50px; }

.under .secH6 { padding-top: 40px; }

.under .imgBox.rowImg .image_l img, .under .imgBox.rowImg .image_r img { max-width: 100%; max-height: 400px; }

.under .imgBox.rowImg .image_l { float: left; margin-right: 45px; }

.under .imgBox.rowImg .image_r { float: right; margin-left: 45px; }

.under .imgBox.rowImg .image_l, .under .imgBox.rowImg .image_r { max-width: 450px; margin-bottom: 15px; }

.under .imgBox.rowImg .txt_l { float: left; }

.under .imgBox.rowImg .txt_r { float: right; }

.under .imgBox.rowImg .txt_l, .under .imgBox.rowImg .txt_r { width: calc(100% - 495px); }

.under .imgBox.rowImg.large .image_l, .under .imgBox.rowImg.large .image_r { max-width: 440px; }

.under .imgBox.rowImg.large .txt_l, .under .imgBox.rowImg.large .txt_r { width: calc(100% - 475px); }

.under .imgBox.rowImg.full .image_l, .under .imgBox.rowImg.full .image_r { max-width: 60vw; }

.under .imgBox.colImg .list { 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; }

.under .imgBox.colImg p { margin-bottom: 5px; }

.under .imgBox.colImg p:last-child { margin-bottom: 0; }

.under .imgBox.colImg figure { margin-bottom: 15px; max-width: 1170px; margin-left: auto; margin-right: auto; }

.under .imgBox.colImg .text p { font-size: 1em; }

.under .imgBox.colImg .text .ttl { font-size: 1.375em; font-weight: bold; line-height: 1.8; text-align: center; color: #eb7432; }

.under .imgBox.colImg3 figure, .under .imgBox.colImg2 figure { width: 100%; overflow: hidden; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }

.under .imgBox.colImg3 img, .under .imgBox.colImg2 img { max-height: 100%; }

.under .imgBox.colImg3 .item { width: 32%; }

.under .imgBox.colImg2 .item { width: 49%; }

.under .imgBox.colImg1 .item { width: 100%; }

.under .acf_block .text_h3 { margin: 45px 0 0; }

.under .acf_block .text_h4 { margin: 30px 0 0; }

.under .acf_block .text_h5 { margin: 20px 0 0; }

.under .imgBox.no_img figure:empty { display: none; }

.blog-content .imgBox { margin-bottom: 40px; }

@media only screen and (min-width: 769px) { .under .imgBox.colImg .list .item { display: flex; flex-direction: column; }
  .under .imgBox.rowImg .image_r, .under .imgBox.rowImg .image_l { background: #efefef; min-height: 300px; display: flex; align-items: center; justify-content: center; position: relative; }
  .under .imgBox.rowImg .image_r img, .under .imgBox.rowImg .image_l img { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); max-height: 100%; }
  .under .imgBox.colImg3 .item figure { height: 250px; position: relative; background: #efefef; overflow: hidden; }
  .under .imgBox.colImg3 .item figure img { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
  .under .imgBox.rowImg .image_l, .under .imgBox.rowImg .image_r { min-width: 450px; background: #efefef; } }

@media only screen and (min-width: 769px) and (max-width: 1000px) { .under .imgBox.rowImg .image_l, .under .imgBox.rowImg .image_r { min-width: 320px; max-width: 320px; }
  .under .imgBox.rowImg .txt_l, .under .imgBox.rowImg .txt_r { width: calc(100% - 365px); } }

.under .tobelow { display: none; }

.under table { border-radius: 3px; }

.under table.rollTable { width: 100%; }

.under table.tdcenter td { text-align: center; }

.under table.tbl_style01 th, .under table.tbl_style01 td { border: 1px solid rgba(204, 136, 0, 0.5); padding: 0.625rem; }

.under table.tbl_style01 th img, .under table.tbl_style01 td img { max-width: 100%; }

.under table.tbl_style01 th { background-color: #cc8800; color: #fff; font-size: 1.125em; font-weight: normal; text-align: center; border-color: #fff; }

.under table.tbl_style01 td { background-color: #fff; color: #333; font-size: 1em; }

.under table.tbl_style01.rowHead tr th:not(:last-child) { border-right: 1px solid #fff; }

.under table.tbl_style01.colHead tr:not(:last-child) th { border-bottom: 1px solid #fff; border-right: 1px solid #fff; }

.under table.tbl_style01.colHead tr:first-child th:last-child { border-right: 1px solid #cc8800; }

.under table.tbl_style01.colHead tr:first-child th:first-child { border-top: 1px solid #cc8800; border-right: 1px solid #cc8800; border-left: 1px solid #cc8800; }

.under table.tbl_style01.colHead tr:last-child th:first-child { border-bottom: 1px solid #cc8800; }

.under table.tbl_fixed { table-layout: fixed; }

.under table.tbl_style02 th, .under table.tbl_style02 td { border: 1px solid #cc8800; padding: 0.625em; }

.under table.tbl_style02 th img, .under table.tbl_style02 td img { max-width: 100%; }

.under table.tbl_style02 tr:first-child th:last-child { border-right: 1px solid #cc8800; }

.under table.tbl_style02 tr:first-child th:first-child { border-left: 1px solid #cc8800; }

.under table.tbl_style02 th { background: #cc8800; font-weight: normal; font-size: 1.125em; color: #fff; border-right: 1px solid #fff; }

.under table.tbl_style02 th li { text-align: left; }

.under table.tbl_style02 th li::before { background-color: #fff; }

.under table.tbl_style02 td { font-size: 1em; }

.under .tbl_note { display: none; margin-top: 10px; color: #b4b4b4; font-size: 11px; letter-spacing: 0; }

@media only screen and (max-width: 1000px) and (min-width: 769px) { .under table.tbl_style01 th, .under table.tbl_style01 td { padding: 0.5rem; }
  .under table.tbl_style01 th { font-size: 1em; }
  .under table.tbl_style01 td { font-size: 0.9em; }
  .under table.tbl_style02 th { font-size: 1em; }
  .under table.tbl_style02 td { font-size: 0.9em; } }

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

.under ul.list01.mcol-2 { position: relative; display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: -webkit-box; display: -ms-flexbox; display: flex; flex-wrap: wrap; }

.under ul.list01.mcol-2 li { width: 50%; padding-right: 10px; }

.under ul.list01 li { background-size: 10px auto; position: relative; padding-left: 20px; padding-bottom: 10px; letter-spacing: 1.6px; }

.under ul.list01 li:last-child { padding-bottom: 0; }

.under ul.list01 li::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: #cc8800; position: absolute; left: 0; top: 0.4em; }

.under .list_note { margin-top: 15px; padding-left: 20px; }

.under .list_note.no_mt { margin-top: 0; }

.under .topic_path { font-size: 14px; line-height: 1.45; letter-spacing: 1.5px; padding: 27px 0 7px; }

.under .topic_path ul { background: url(../images/shared_path_icon.svg) left top 4px no-repeat; background-size: auto 15px; display: block; padding: 4px 10px 4px 30px; }

.under .topic_path ul::after { content: ""; display: block; clear: both; }

.under .topic_path ul li { float: left; text-transform: uppercase; color: #333; }

.under .topic_path a { text-decoration: none; color: #cc8800; }

.under .topic_path a:hover { opacity: 1; text-decoration: underline; }

.under .topic_path span { display: inline-block; padding: 0 12px; transform: scaleX(0.6); color: #cc8800; line-height: 1; }

.under .anchor-links { display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; flex-wrap: wrap; justify-content: center; padding: 20px 0 0; }

.under .anchor-links > div { background-color: #555; border-radius: 3px; position: relative; display: block; min-width: 135px; width: 19%; margin: 0% 0.5% 1%; text-align: center; color: #fff; font-size: 0.875em; line-height: 1.5; letter-spacing: 0.15em; }

.under .anchor-links > div a { display: block; width: 100%; padding: 10px 5px 9px; color: inherit; font-size: inherit; line-height: inherit; }

.under .anchor-links > div::after { content: ""; border: 4px solid; border-bottom-color: transparent; border-left-color: transparent; border-right-color: transparent; position: absolute; top: auto; bottom: 2px; left: calc(50% - 4px); right: auto; line-height: 1; }

.under .anchor-links > div:hover a { opacity: 1; }

.under .anchor-links > div:hover::after { bottom: 0; }

.under .anchor-links > div.ext::after { content: "\003e"; border: 0; position: absolute; top: calc(50% - 0.5em); bottom: auto; left: auto; right: 7px; font-size: 0.857em; line-height: 1; letter-spacing: 0; transform: scaleX(0.5); }

.under .anchor-links > div.ext:hover::after { right: 5px; }

.under .doctor_box { display: table; margin: auto; box-shadow: 10px 10px 40px 0px rgba(0, 0, 0, 0.05); border: 1px solid #cc8800; }

.under .doctor_box p { margin-bottom: 0; }

.under .doctor_box .ud_doc_box { position: relative; }

.under .doctor_box .doctor_name { position: absolute; right: 20px; bottom: 40px; background-color: rgba(204, 136, 0, 0.8); border: 1px solid #cc8800; padding: 20px 30px; z-index: 1; color: #fff; text-align: center; font-size: 40px; font-weight: 700; line-height: 1; font-family: "Noto Sans JP", sans-serif; }

.under .doctor_box .doctor_name .name_small { display: block; }

.under #socialbuttons { display: table; margin: 20px auto 10px; }

.under #socialbuttons > div { float: left; margin-right: 10px; font-size: 11px; overflow: hidden; }

.under #socialbuttons .line { margin-right: 0px; }

.under .clinic_tbl01 th { width: 350px; text-align: right; }

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

.under .clinic_tbl02 th:first-child { width: 350px; }

.under .clinic_tbl02 th:not(:first-child) { width: calc((100% - 350px) / 7); }

.under .teeth_box .secH4 { width: 48%; }

.under .teeth_box .secH5 { padding-top: 20px !important; }

.under .teeth_box img { max-height: 180px; }

.under .teeth_box p { font-size: 14px; }

.under .access_box_img01 .block { 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; }

.under .access_box_img01 .block:nth-child(even) .big { order: 1; }

.under .access_box_img01 .block .big { width: calc((580 / 1160) * (100% - 10px)); }

.under .access_box_img01 .block .small { width: calc((580 / 1160) * (100% - 10px)); display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; flex-wrap: wrap; justify-content: space-between; }

.under .access_box_img01 .block .small figure { width: calc((100% - 10px) * 0.5); }

.under .access_box_img01 .block figure { border-radius: 0px; overflow: hidden; margin-bottom: 10px; }

.under .access_box_img02 .block { 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; }

.under .access_box_img02 .block:nth-child(even) .big { order: 1; }

.under .access_box_img02 .block .big { width: calc((640 / 1160) * (100% - 10px)); }

.under .access_box_img02 .block .small { width: calc((520 / 1160) * (100% - 10px)); display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; flex-wrap: wrap; justify-content: space-between; }

.under .access_box_img02 .block .small figure { width: calc((100% - 10px) * 0.5); }

.under .access_box_img02 .block figure { border-radius: 10px; overflow: hidden; margin-bottom: 10px; }

.box_spec { margin: 60px auto 0px; background: url(../images/under_box_spec.jpg) no-repeat right center/cover; padding: 30px 30px; display: flex; align-items: center; justify-content: center; position: relative; color: #fff; max-width: 870px; height: 220px; }

.box_spec::after { content: ""; display: block; position: absolute; transition: all .3s; width: calc(100% - 20px); height: calc(100% - 20px); left: 10px; top: 9px; border: 1px solid #fff; }

.box_spec p { text-align: center; font-size: 24px; font-weight: 600; letter-spacing: 0.1em; line-height: 1.8; }

.under .ud_interview01 { padding: 0px 0 100px; position: relative; }

.under .ud_interview01 .inner { position: relative; }

.under .ud_interview01 .box_spec { margin: 100px auto 0px; }

.under .ud_interview01 h4.ttl_style1 { background: none; position: relative; padding: 0px 0px 16px; margin-bottom: 30px; font-size: 26px; color: #fff; line-height: 1.3; letter-spacing: 0.17em; width: 100%; }

.under .ud_interview01 h4.ttl_style1::after { position: absolute; content: ''; width: 50px; height: 1px; background: #fff; bottom: 0; left: 0; right: 0; margin: auto; }

.under .ud_interview01.box1 .idx1_box { margin-top: 100px; }

.under .ud_interview01 .idx1_box { position: relative; z-index: 0; padding-top: 80px; padding-bottom: 80px; }

.under .ud_interview01 .idx1_box::before, .under .ud_interview01 .idx1_box::after { content: ''; position: absolute; }

.under .ud_interview01 .idx1_box::before { top: 0; right: 0; bottom: 0; left: 9.8%; background-repeat: repeat-x; background-size: cover; background-position: right center; background-color: #cc8800; }

.under .ud_interview01 .idx1_box::after { top: 0; left: 1.8%; width: 107px; height: 1200px; background-image: url(../images/interview_bg_eng.png); background-repeat: repeat-y; background-position: center 0; background-size: 100% auto; height: calc(100% - 80px); -webkit-animation: idx01_scroll 10s linear infinite; animation: idx01_scroll 10s linear infinite; z-index: -1; }

.under .ud_interview01 .idx1_box .flex { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; padding-left: 9.8%; }

.under .ud_interview01 .item { max-width: 63%; width: 700px; margin: 0px auto 40px 30px; min-height: 410px; padding: 30px 40px; text-align: center; border: 7px solid rgba(255, 255, 255, 0.5); background-repeat: no-repeat; background-size: cover; display: -webkit-box; display: -ms-flexbox; display: flex; flex-direction: column; justify-content: center; align-items: center; position: relative; z-index: 0; overflow: hidden; transition: 0.8s all ease; background-color: #3e2900; }

.under .ud_interview01 .item .idx1_eng { position: absolute; top: 10px; right: 10px; margin-bottom: 0; line-height: 1; font-size: 24px; color: rgba(255, 255, 255, 0.3); letter-spacing: 0.1em; text-transform: uppercase; -ms-writing-mode: vertical-rl; -webkit-writing-mode: vertical-rl; -moz-writing-mode: vertical-rl; writing-mode: vertical-rl; writing-mode: tb-rl; white-space: nowrap; font-family: "Lora", serif; }

.under .ud_interview01 .item .number { display: block; font-weight: 700; font-size: 130%; font-family: "Shippori Mincho", serif; margin-bottom: 5px; }

.under .ud_interview01 .item .jp { font-family: "Noto Sans JP", sans-serif; }

.under .ud_interview01 .item p { width: 100%; color: #ffffff; letter-spacing: 0.1em; }

.under .ud_interview01 .item:nth-of-type(1) { background-image: url(../images/idx1_bg1.jpg); }

.under .ud_interview01 .item:nth-of-type(2) { background-image: url(../images/idx1_bg2.jpg); }

.under .ud_interview01 .item:nth-of-type(3) { background-image: url(../images/idx1_bg3.jpg); }

.under .ud_interview01 .item:nth-of-type(4) { background-image: url(../images/idx1_bg4.jpg); }

.under .ud_interview01 .item:last-child { margin-bottom: 0px !important; }

.under .ud_interview01.st2 .item { margin-left: auto; margin-right: 30px; }

.under .ud_interview01.box1 .idx1_box::before { background-image: url(../images/interview_bg_1.jpg); }

.under .ud_interview01.box2 .idx1_box::before { background-image: url(../images/interview_bg_2.jpg); }

.under .ud_interview01.box3 .idx1_box::before { background-image: url(../images/interview_bg_3.jpg); }

.page-interview #mainContent > .inner { padding: 0px; max-width: 100%; }

@keyframes idx01_scroll { from { background-position: center 0; }
  to { background-position: center -2400px; } }

@media screen and (min-width: 769px) { .under .ud_interview01.st2 .idx1_box::before { left: 0; right: 9.8%; background-position: left center; }
  .under .ud_interview01.st2 .idx1_box::after { right: 1.8%; left: auto; }
  .under .ud_interview01.st2 .idx1_box .flex { padding-left: 10px; padding-right: 9.8%; }
  .page-interview .key { height: 960px; background-image: url(../images/under_interview_bg.jpg); max-width: 1824px; }
  .page-interview .key .inner { display: flex; padding-top: 100px; margin-left: auto; margin-right: auto; align-items: flex-end; z-index: 10; }
  .page-interview .key .key_text { z-index: 100; color: #fff; padding: 0; justify-content: flex-end; align-items: flex-end; flex-direction: row-reverse; font-family: "Noto Sans JP", sans-serif; letter-spacing: 0.2em; }
  .page-interview .key .key_text h2 { padding-bottom: 200px; padding-left: 230px; cursor: vertical-text; writing-mode: vertical-rl; -o-writing-mode: vertical-rl; -ms-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; -moz-writing-mode: vertical-rl; -webkit-writing-mode: vertical-rl; text-orientation: upright; word-wrap: break-word; }
  .page-interview .key .key_text p { margin-right: 40px; font-weight: 400; font-size: 24px; line-height: 1.66667; cursor: vertical-text; writing-mode: vertical-rl; -o-writing-mode: vertical-rl; -ms-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; -moz-writing-mode: vertical-rl; -webkit-writing-mode: vertical-rl; text-orientation: upright; word-wrap: break-word; }
  .page-interview .video_box { position: relative; width: 70%; max-width: 1050px; padding-bottom: 37.7%; margin-bottom: 50px; }
  .page-interview .video_box video, .page-interview .video_box iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } }

@media screen and (min-width: 1170px) { .page-interview .key { background-position: left 40% center; }
  .under .ud_interview01 .idx1_box .flex { padding-left: 10px; }
  .under .ud_interview01 .item { margin-bottom: 50px; }
  .under .ud_interview01 .item:nth-of-type(1) { margin-left: calc(20px + 9vw); }
  .under .ud_interview01 .item:nth-of-type(2) { margin-left: calc(20px + 9vw); }
  .under .ud_interview01 .item:nth-of-type(3) { margin-left: calc(20px + 9vw); }
  .under .ud_interview01 .item:nth-of-type(4) { margin-left: calc(20px + 9vw); }
  .under .ud_interview01.box1 .item:nth-of-type(2) { margin-left: calc(20px + 9vw); }
  .under .ud_interview01.st2 .item:nth-of-type(1) { margin-left: auto; }
  .under .ud_interview01.st2 .item:nth-of-type(2) { margin-left: auto; margin-right: 30px; }
  .under .ud_interview01.st2 .item:nth-of-type(3) { margin-left: auto; margin-right: 30px; } }

@media screen and (min-width: 1400px) { .page-interview .key { background-position: left 45% center; }
  .under .ud_interview01 .idx1_box .flex { padding-left: 10px; }
  .under .ud_interview01.st2 .idx1_box .flex { padding-right: 10px; }
  .under .ud_interview01 .item:nth-of-type(1) { margin-left: 30px; }
  .under .ud_interview01 .item:nth-of-type(2) { margin-left: auto; margin-right: 30px; }
  .under .ud_interview01 .item:nth-of-type(3) { margin-left: 30px; }
  .under .ud_interview01 .item:nth-of-type(4) { margin-left: auto; margin-right: 30px; }
  .under .ud_interview01.st2 .item:nth-of-type(2) { margin-right: calc(30px + 9vw); margin-left: auto; }
  .under .ud_interview01.st2 .item:nth-of-type(3) { margin-left: auto; }
  .under .ud_interview01.box3 .item:nth-of-type(2) { margin-left: 130px; margin-right: auto; }
  .under .ud_interview01.box3 .item:nth-of-type(3) { margin-bottom: 00px; } }

@media only screen and (min-width: 769px) and (max-width: 1480px) { .under .ud_interview01.st2 .idx1_box::before { background-position: left 23% center; }
  .under .ud_interview01 .idx1_box::before { background-position: right 25% center; }
  .under .ud_interview01.box3 .idx1_box::before { background-position: right 25% center; } }

@media only screen and (min-width: 769px) and (max-width: 1280px) { .box_spec p { font-size: 22px; }
  .page-interview .key .key_text { margin-right: 6vw; justify-content: flex-end; flex-direction: row; }
  .page-interview .video_box { width: 50%; padding-bottom: 28.7%; }
  .page-interview .key { background-position: left 20% center; }
  .under .ud_interview01 .item { padding: 25px 30px; width: 650px; }
  .under .ud_interview01 h4.ttl_style1 { font-size: 24px; margin-bottom: 25px; } }

@media only screen and (max-width: 1400px) and (min-width: 769px) { .under .ud_interview01 .idx1_box::after { width: 6vw; } }

.under .ttl_style3 { background: none; margin-bottom: 30px; font-size: 20px; color: #fff; line-height: 1.2; letter-spacing: 0.15em; }

@media only screen and (min-width: 769px) and (max-width: 1100px) { .min_1100 { display: none; }
  .page-interview .key .key_text { margin-right: 6vw; }
  .page-interview .key .key_text p { margin-right: 3vw; } }

@media screen and (-ms-high-contrast: none) { .page-interview .key .key_text { cursor: vertical-text; writing-mode: vertical-rl; -o-writing-mode: vertical-rl; -ms-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; -moz-writing-mode: vertical-rl; -webkit-writing-mode: vertical-rl; text-orientation: upright; word-wrap: break-word; height: 100%; }
  .page-interview .key .key_text h2 { width: 67px; height: 618px; }
  .page-interview .key .key_text p { width: 100px; height: 500px; } }

/* START BLOG
------------------------------------------------------------------------*/
#pagination { display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; margin: 40px auto 0; }

#pagination:empty { display: none; }

#pagination a, #pagination span { background-color: #cc8800; display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; border-radius: 100%; margin: 10px 5px; width: 32px; height: 32px; color: #fff; line-height: 1; text-decoration: none; }

#pagination a.prev, #pagination a.next, #pagination span.prev, #pagination span.next { background-repeat: no-repeat; background-position: center; background-size: 7px auto; color: transparent; }

#pagination a.prev, #pagination span.prev { background-image: url(../images/shared_blog_arrow_prev.svg); }

#pagination a.next, #pagination span.next { background-image: url(../images/shared_blog_arrow_next.svg); }

@media screen and (min-width: 0\0) and (min-resolution: 72dpi) { #pagination { /* for IE 9 and above */ }
  #pagination a, #pagination span { padding-top: 2px; } }

#pagination a:hover { text-decoration: none; opacity: 0.7; }

#pagination span { opacity: 0.5; }

#pagination .active a, #pagination a.active:hover { background: none repeat scroll 0 0 #000000; color: #FFFFFF; }

.blog-content .date { margin-bottom: 20px; text-align: center; color: #cc8800; }

.blog_list_style01 .item { display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; flex-wrap: wrap; justify-content: space-between; border-bottom: 1px solid #bababa; padding-bottom: 30px; margin-bottom: 30px; }

.blog_list_style01 .item figure { background-color: white; position: relative; overflow: hidden; border: 3px solid #cc8800; width: 220px; height: 220px; }

.blog_list_style01 .item figure img { max-width: 100%; max-height: 100%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }

.blog_list_style01 .item .info { width: calc(100% - 250px); position: relative; padding-bottom: 40px; }

.blog_list_style01 .item .info p { margin-bottom: 0; line-height: 1.5; }

.blog_list_style01 .item .info .date { display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; flex-wrap: wrap; align-items: center; margin-bottom: 15px; padding-top: 15px; font-size: 90%; color: #cc8800; font-size: 16px; }

.blog_list_style01 .item .info .date .tag { display: inline-block; margin-left: 20px; color: transparent; font-size: 90%; letter-spacing: -1em; }

.blog_list_style01 .item .info .date .tag a { background-color: #1d1401; display: inline-block; text-decoration: none; margin-left: 2px; padding: 2px 10px 0; color: #fff; letter-spacing: 0.1em; }

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) { .blog_list_style01 .item .info .date .tag a { padding: 2px 10px 0; } }

.blog_list_style01 .item .info .date .tag a.news { background-color: #cc8800; }

.blog_list_style01 .item .info .ttl { margin-bottom: 10px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; text-decoration: underline; font-size: 120%; font-weight: 600; color: #333333; }

.blog_list_style01 .item .info .ttl a { color: inherit; }

.blog_list_style01 .item .info .des { padding-bottom: 45px; }

.blog_list_style01 .item .info .button { background-color: #fff; border: 3px solid #ddd; position: absolute; bottom: 0px; right: 0; }

.blog_list_style01 .item .info .button a { position: relative; z-index: 1; display: block; padding: 5px 10px; font-size: 90%; color: #333; text-decoration: none; font-family: "Noto Sans JP", sans-serif; }

.blog_list_style01 .item .info .button a::before { opacity: 0; }

.blog_list_style01 .item .info .button::after { content: ""; background-color: #cc8800; position: absolute; z-index: 0; top: 0; bottom: 0; right: 0; width: 0; transition: all 0.3s ease; }

.blog_list_style01 .item .info .button:hover a { opacity: 1; color: #fff; }

.blog_list_style01 .item .info .button:hover::after { width: 100%; }

@media only screen and (max-width: 640px) { .blog_list_style01 .item { display: block; }
  .blog_list_style01 .item figure { margin: 0 auto; }
  .blog_list_style01 .item .info { width: 100%; max-width: 420px; margin: 0 auto; padding-bottom: 0; }
  .blog_list_style01 .item .info .button { position: relative; display: table; } }

.blog_list_style02.colImg .list { display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: flex-start; }

.blog_list_style02.colImg p { margin-bottom: 5px; }

.blog_list_style02.colImg p:last-child { margin-bottom: 0; }

.blog_list_style02.colImg figure { margin-bottom: 15px; }

.blog_list_style02.colImg .text p { font-size: 1em; }

.blog_list_style02.colImg .text .ttl { font-family: inherit; font-size: 1.1em; font-weight: bold; line-height: 1.8; text-align: center; color: #cc8800; }

.blog_list_style02.colImg4_blog .item { width: calc(96% / 4); margin-right: 1%; margin-bottom: 15px; position: relative; }

.blog_list_style02.colImg4_blog .item:nth-child(4) { margin-right: 0; }

.blog_list_style02.colImg4_blog .item a { position: absolute; top: 0; bottom: 0; left: 0; right: 0; z-index: 1; }

.blog_list_style02.colImg4_blog .item .img { background: url(../images/shared_blog_logo.png) center no-repeat; background-size: contain; background-color: #fff; border: 1px solid #000; position: relative; width: 100%; height: 400px; margin-bottom: 15px; }

.blog_list_style02.colImg4_blog .item .img:before { position: absolute; top: 0; bottom: 0; left: 0; right: 0; }

.blog_list_style02.colImg4_blog .item .img img { transform: translate(-50%, -50%); transition: all 0.3s ease; position: absolute; top: 50%; left: 50%; max-height: 100%; max-width: 100%; }

.blog_list_style02.colImg4_blog .item:hover a { opacity: 1; }

.blog_list_style02.colImg4_blog .item:hover .img img { filter: blur(5px) grayscale(50%); transform: translate(-50%, -50%) scale(1.15); }

.blog_list_style02.colImg4_blog figure { background-color: #ddd; position: relative; overflow: hidden; width: 100%; height: 100%; }

@media only screen and (max-width: 1000px) and (min-width: 769px) { .blog_list_style02.colImg4_blog .item .img { height: 30vw; } }

@media only screen and (max-width: 768px) { .blog_list_style02.colImg4_blog .item .img { height: 280px; }
  .blog_list_style02.colImg4_blog figure { height: 260px; } }

@media only screen and (max-width: 640px) { .blog_list_style02.colImg .list { justify-content: space-around; }
  .blog_list_style02.colImg .item { margin-bottom: 15px; }
  .blog_list_style02.colImg figure { margin-bottom: 5px; }
  .blog_list_style02.colImg .text { font-size: 14px; }
  .blog_list_style02.colImg4_blog .item { width: 49%; }
  .blog_list_style02.colImg4_blog .item .img { height: 48vw; }
  .blog_list_style02.colImg4_blog figure { height: 48vw; } }

.blog_detail_style02 { display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; flex-wrap: wrap; justify-content: space-around; margin-bottom: 30px; }

.blog_detail_style02 .box_gallery { width: 35%; max-width: 400px; }

.blog_detail_style02 .box_gallery .main_img { background: #ededed; position: relative; height: 400px; margin-bottom: 11px; }

.blog_detail_style02 .box_gallery .main_img .item { transition: all 0.3s ease; position: absolute; top: 0; bottom: 0; left: 0; right: 0; opacity: 0; }

.blog_detail_style02 .box_gallery .main_img .item.active { opacity: 1; }

.blog_detail_style02 .box_gallery .main_img .img { overflow: hidden; margin: 0; width: 100%; height: 100%; }

.blog_detail_style02 .box_gallery .main_img .img img { transform: translate(-50%, -50%); position: absolute; top: 50%; left: 50%; max-width: 100%; max-height: 100%; }

.blog_detail_style02 .box_gallery .thumb { display: flex; flex-wrap: wrap; margin-bottom: 10px; }

.blog_detail_style02 .box_gallery .thumb li { background-color: #ededed; transition: all 0.2s ease; width: calc(100% / 8 - 4.4px); margin-right: 5px; margin-bottom: 5px; height: 20vw; max-height: 40px; overflow: hidden; position: relative; cursor: pointer; text-align: center; }

.blog_detail_style02 .box_gallery .thumb li:nth-child(8n+0) { margin-right: 0; }

.blog_detail_style02 .box_gallery .thumb li:hover { opacity: 0.7; }

.blog_detail_style02 .box_gallery .thumb li img { width: auto; max-height: 100%; max-width: 100%; overflow: hidden; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }

.blog_detail_style02 .box_gallery .thumb.col_5 li { width: calc(100% / 5 - 4px); max-height: 77px; }

.blog_detail_style02 .box_gallery .thumb.col_5 li:nth-child(5) { margin-right: 0; }

.blog_detail_style02 .box_gallery.withSlick .main_img { height: auto; }

.blog_detail_style02 .box_gallery.withSlick .main_img .item { height: 400px; }

.blog_detail_style02 .box_gallery.withSlick .main_img .item:nth-child(n) { display: block; }

.blog_detail_style02 .box_gallery.withSlick .thumb li { opacity: 0.5; }

.blog_detail_style02 .box_gallery.withSlick .thumb li::after { content: ""; transition: all 0.2s ease; position: absolute; top: 0; left: 0; right: 0; bottom: 0; border: 1px solid transparent; z-index: 1; }

.blog_detail_style02 .box_gallery.withSlick .thumb li.active { opacity: 1; }

.blog_detail_style02 .box_gallery.withSlick .thumb li.active::after { border-color: #ff9933; }

.blog_detail_style02 .box_gallery.withSlick .thumb li:hover { opacity: 1; }

.blog_detail_style02 .box_gallery.withSlick .controls p { display: table; cursor: pointer; }

.blog_detail_style02 .box_gallery.withSlick .controls p:hover { text-decoration: underline; }

.blog_detail_style02 .box_info { width: 62%; max-width: 710px; }

.blog_detail_style02 .box_info .intro { margin-bottom: 20px; }

.blog_detail_style02 .box_info table { /* &.tbl_style03{ th{ width: 38%; } } */ }

.blog_detail_style02 .box_info table th { width: 30%; background: #f5f5f5; color: #1b1b1b; }

.blog_detail_style02.noGallery .box_info { max-width: 100%; width: 100%; }

@media only screen and (max-width: 768px) { .blog_detail_style02 .box_gallery { width: 100%; margin: 0 auto 30px; }
  .blog_detail_style02 .box_gallery .main_img { max-height: 400px; height: 100vw; }
  .blog_detail_style02 .box_info { width: 100%; margin: 0 auto; }
  .blog_detail_style02 .box_info table th { width: 100%; }
  .blog_detail_style02 .box_info table.tbl_style03 { border-bottom: none; } }

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

.main_blog_container .main_blog_content { max-width: 100%; width: calc(100% - 250px); }

.main_blog_container .main_blog_content > div { padding-top: 0; }

.main_blog_container .sidebar { width: 220px; }

.main_blog_container .sidebar .txt_head, .main_blog_container .sidebar .widgettitle { background-color: #cc8800; transform: none; position: static; display: block; margin-bottom: 0; padding: 15px 10px; width: 100%; writing-mode: horizontal-tb; font-size: 18px; color: #fff; text-align: center; font-family: "Noto Sans JP", sans-serif; }

.main_blog_container .sidebar ul:not(.children) { background-color: #fff; border: 1px solid #ddebf2; border-top: 0; padding: 0 10px; }

.main_blog_container .sidebar ul:not(.children) > li { border-bottom: 1px solid #959595; padding: 12px 10px; font-size: 80%; }

.main_blog_container .sidebar ul:not(.children) > li:last-child { border-bottom: 0; }

.main_blog_container .sidebar ul:not(.children) > li a { color: inherit; font-size: inherit; text-decoration: underline; }

.main_blog_container .sidebar ul:not(.children) > li a:hover { text-decoration: none; }

.main_blog_container .sidebar ul.children { padding: 7px 7px; }

.main_blog_container .sidebar ul.children li { padding-bottom: 5px; }

.main_blog_container .sidebar ul.children li:last-child { padding-bottom: 0; }

@media only screen and (max-width: 768px) { .main_blog_container .main_blog_content { width: auto; margin: 0 auto; }
  .main_blog_container .sidebar { display: none; } }

.blog_post_button { display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; max-width: 600px; margin: 100px auto 0; }

.blog_post_button > div { border-radius: 10px; position: relative; width: 32%; color: #fff; text-align: center; line-height: 1; font-size: 0.9em; /* &.prev, &.next { span { display: block; a { &::after { content: ""; background-repeat: no-repeat; background-position: center; background-size: auto 10px; transform: translateY(-50%); position: absolute; top: 50%; width: 15px; height: 15px; text-decoration: none !important; } } } } &.prev { a { padding-left: 25px; &::after { background-image: url(../images/angle-double-left.svg); left: 7px; } } } &.next { a { padding-right: 25px; &::after { background-image: url(../images/angle-double-right.svg); right: 7px; } } } &:hover { &.prev { a { &::after { } } } &.next { a { &::after { } } } } */ }

.blog_post_button > div::before, .blog_post_button > div::after { content: ""; transition: all 0.2s ease; position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

.blog_post_button > div::before { background-color: #cc8800; }

.blog_post_button > div::after { border: 1px solid #cc8800; opacity: 0; transform: scale(1.2, 1.2); }

.blog_post_button > div a { transition: all 0.3s; display: block; position: relative; z-index: 1; font-family: "Noto Sans JP", sans-serif; padding: 10px 10px 10px; max-width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; text-transform: uppercase; line-height: inherit; color: inherit; text-align: center; text-decoration: none; }

.blog_post_button > div:hover::before { opacity: 0; transform: scale(0.8); }

.blog_post_button > div:hover::after { opacity: 1; transform: scale(1); }

.blog_post_button > div:hover a { color: #000; }

/*---------add post---------*/
.box_hp_mainvisual { background: #fff; text-align: center; color: #292929; padding: 50px 50px; position: absolute; right: 60px; bottom: 110px; }

.communication .box_hp_mainvisual { padding: 50px 20px; }

.main_txt { margin-bottom: 0; font-size: 30px; font-weight: bold; line-height: 1.3em; }

.main_txt_h { font-size: 35px; }

.box_hb_stt { background: #FA8F20; color: #fff; text-align: center; border-radius: 50%; position: absolute; font-weight: bold; height: 130px; width: 130px; padding: 10px; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; left: 0; bottom: 0; -webkit-transform: translate(-60%, 50%); -ms-transform: translate(-60%, 50%); transform: translate(-60%, 50%); margin-bottom: 0; }

.main_hp_box .inner { position: relative; height: 100%; }

.under #main.lexpage { padding: 0 0; }

.archive_single_list_exlp .boxmain_tab a:last-child { border-bottom: 1px solid #dedede; }

.lexpage .archive_single_list_exlp .list_post { margin-bottom: 40px; }

.ttl_lp01 { text-align: center; font-size: 26px; font-weight: 700; position: relative; margin-bottom: 1.7em; }

.ttl_lp01_s02 { padding-bottom: .85em; }

.ttl_lp01_s02:before { content: ""; width: 110px; height: 3px; background: #1c1c1c; position: absolute; bottom: 0; left: calc(50% - 55px); }

.ttl_lp01 .sp_onl { display: none; }

.ttl_lp01 strong { font-size: 140%; }

.lpbox { padding: 55px 0; }

.lpbox01 { background: #E9F3F5; }

.lpbox02 { background: #FAF8EF; }

.lpbox04 { padding-top: 10px; }

.blog-content .entry > h4 { margin-top: 60px; }

.blog-content .entry > h5 { margin-top: 50px; }

ul.list-tab01 { padding: 0px; list-style: none; display: none; max-width: 800px; margin: 0 auto 30px; display: none; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }

ul.list-tab01 li { width: calc((100% - 20px) / 3); background: #B7B7B7; color: #fff; display: inline-block; padding: 10px 0; cursor: pointer; font-size: 20px; font-weight: bold; -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px; text-decoration: none; -webkit-box-shadow: inset 0px -4px 0px 0px #7F7F7F; -moz-box-shadow: inset 0px -4px 0px 0px #7F7F7F; box-shadow: inset 0px -4px 0px 0px #7F7F7F; margin: 0 10px 0 0; -webkit-box-sizing: border-box; box-sizing: border-box; text-align: center; }

ul.list-tab01 li.current { background: #9FBC8D; -webkit-box-shadow: inset 0px -4px 0px 0px #386934; -moz-box-shadow: inset 0px -4px 0px 0px #386934; box-shadow: inset 0px -4px 0px 0px #386934; }

ul.list-tab01 li:nth-child(3n+3) { margin-right: 0; }

.list_bxex_02 { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; margin-bottom: 40px; }

.list_bxex02_col { width: calc((100% -40px) / 3); margin-right: 20px; background: #fff; -webkit-box-sizing: border-box; box-sizing: border-box; padding: 15px; border-radius: 5px; position: relative; }

.list_bxex02_col:nth-child(3n+3) { margin-right: 0; }

.list_bxex02_col:before { content: ""; width: 0; height: 0; border-top: 20px solid #9FBC8D; border-right: 20px solid transparent; position: absolute; left: 3px; top: 3px; }

.list_bxex02_ttl { font-size: 30px; font-weight: bold; padding-top: 20px; position: relative; margin-bottom: 35px; text-align: center; }

.list_bxex02_ttl:before { content: ""; background: #9FBC8D; width: 60px; height: 3px; position: absolute; left: 50%; margin-left: -30px; bottom: -10px; }

.list_bxex02_col.list_bxex02_cl01:before { border-top: 10px solid #9FBC8D; border-right: 10px solid transparent; }

.list_bxex02_cl01 .list_bxex02_ttl:before { background: #9FBC8D; }

.list_bxex02_ttl.list_bxex02_ttl_01 { font-size: 20px; line-height: 24px; }

.box_sub01 { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: end; -ms-flex-align: end; align-items: flex-end; margin-bottom: 20px; }

.list_bxex02_btn { margin-bottom: 0; }

.list_bxex02_btn a { background: url(../images/icon_btn001.png) right 8px center no-repeat #386934; background-size: 15px auto; color: #fff; display: inline-block; padding: 3px 35px 3px 20px; cursor: pointer; font-size: 15px; font-weight: 700; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; text-decoration: none; margin: 0 auto; -webkit-box-sizing: border-box; box-sizing: border-box; text-align: center; -webkit-transition: all 0.2s; -o-transition: all 0.2s; transition: all 0.2s; }

.list_bxex02_btn a:hover { background-position: right 5px center; opacity: 0.8; }

.list_bxex02_ttl_sub { font-size: 18px; color: #333333; text-align: center; font-weight: bold; margin-bottom: 0; }

.list_bxex02_des_ttl { font-size: 16px; color: #333333; text-align: center; font-weight: bold; margin-bottom: 15px; }

.list_bxex02_des { font-weight: 500; color: #333333; margin-bottom: 10px; }

.list_bxex02_pd { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -ms-flex-wrap: wrap; flex-wrap: wrap; margin-bottom: 25px; }

.list_bxex_02 li { background: #F9F9F9; padding: 10px 1px 10px 1px; width: calc((100% - 21px) / 3); margin: 0 10px 10px 0; text-align: center; }

.list_bxex_02 li:nth-child(3n+3) { margin-right: 0; }

.list_bxex_02 li.list2r img { margin-bottom: 5px; }

.list_bxex_02 li img { display: block; margin: 0 auto 8px; }

.list_bxex_02 li span { font-size: 11px; line-height: 14px; display: block; }

.under_post { font-size: 17px; }

.center_img { max-width: 800px; margin: 0 auto 1.5em; text-align: center; }

.inbl { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; -webkit-box-align: center; -ms-flex-align: center; align-items: center; margin-bottom: 40px; }

.tag_cate { border: 1px solid #E5127C; color: #E5127C; font-size: 12px; font-weight: bold; margin-right: 8px; line-height: 20px; padding: 0 12px; }

.post_date { font-size: 16px; font-weight: bold; }

.img_wcap_ct { margin: 40px auto 40px; text-align: center; }

.img_wcap_ct img { max-height: 500px; }

.box_center { max-width: 760px; margin: 0 auto 40px; }

p:empty { display: none; }

.note01 { margin-bottom: 30px; }

.note01 { position: relative; padding-left: 20px; line-height: 1.6em; margin-bottom: 10px; }

.note01:before { content: "※"; z-index: 4; position: absolute; top: 0px; left: 0; }

.note01.note_c { color: #D90029; }

.note01.note_c:before { color: #D90029; }

.box_ctwimg { clear: both; margin-bottom: 40px; }

.box_ctwimg p:last-child { margin-bottom: 0; }

.img_r { max-width: 420px; float: right; margin: 0 0 20px 40px; }

.img_l { max-width: 420px; float: left; margin: 0 40px 20px 0; }

.catption_txt { padding-top: 10px; color: #8E8E8E; font-size: 15px; display: block; letter-spacing: -0.05em; }

.box_lig01 { position: relative; padding: 40px; background: #e3edf7; margin-bottom: 40px; }

.box_lig01 p:last-child { margin-bottom: 0; }

.box_lig02 { position: relative; padding: 40px; background: #F7F7F7; margin-bottom: 40px; }

.box_lig02 p:last-child { margin-bottom: 0; }

.maint0 { margin-top: 0; }

blockquote p, blockquote li, blockquote dt, blockquote dd, blockquote a { font-size: 16px; }

blockquote { position: relative; padding: 25px 30px 25px 70px; -webkit-box-sizing: border-box; box-sizing: border-box; background: #F7F7F7; margin-bottom: 40px; border-left: 2px solid #E5127C; /*     -webkit-box-shadow: 3px 3px 5px 6px #ccc;  -moz-box-shadow:    3px 3px 5px 6px #ccc;   */ -webkit-box-shadow: 1px 2px 2px 0px #e0e0e0; box-shadow: 1px 2px 2px 0px #e0e0e0; }

blockquote:before { position: absolute; top: 15px; left: 20px; z-index: 2; background: url(../images/icon_quote.png) no-repeat; background-size: 40px; width: 50px; height: 50px; content: ""; }

blockquote p { position: relative; padding: 0; margin: 10px 0; z-index: 3; line-height: 1.7; }

blockquote cite { display: block; text-align: right; color: #888888; font-size: 0.9em; }

@media screen and (max-width: 960px) { .img_l { max-width: 300px; margin: 0 20px 15px 0; }
  .img_r { max-width: 300px; margin: 0 0px 15px 20px; } }

/* END BLOG
------------------------------------------------------------------------*/
/* START Mail
------------------------------------------------------------------------*/
.contact-form-style01 .contact-table { background-size: cover; width: 100%; margin: 0 auto 0px; border-radius: 5px; overflow: hidden; position: relative; }

.contact-form-style01 .contact-table::before { content: ""; position: absolute; top: 0; left: 0; right: 0; bottom: 0; }

.contact-form-style01 .contact-table input, .contact-form-style01 .contact-table select, .contact-form-style01 .contact-table textarea { border: 1px solid; padding: 4px 8px; border-radius: 5px; font-size: 1rem; }

.contact-form-style01 .contact-table input { width: 100%; }

.contact-form-style01 .contact-table textarea { max-width: 100%; width: 100%; height: 7em; }

.contact-form-style01 .contact-table input, .contact-form-style01 .contact-table textarea { transition: all 0.2s ease-in-out; }

.contact-form-style01 .contact-table input[type="radio"], .contact-form-style01 .contact-table input[type="checkbox"] { margin: 5px 3px 5px 0px; width: auto; }

.contact-form-style01 .contact-table [readonly*="readonly"] { background: none; border: 0; font-weight: bold; }

.contact-form-style01 .contact-table dl { position: relative; z-index: 1; display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; justify-content: space-between; }

.contact-form-style01 .contact-table dl:last-child dt, .contact-form-style01 .contact-table dl:last-child dd { border-bottom: 0px; }

.contact-form-style01 .contact-table dt { display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: -webkit-box; display: -ms-flexbox; display: flex; flex-wrap: wrap; align-items: center; width: 400px; padding: 15px 20px; font-size: 20px; }

.contact-form-style01 .contact-table dt span { display: inline-block; border-radius: 7px; padding: 2px 7px; margin-left: 5px; font-size: 70%; line-height: 1; margin-top: 3px; }

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) { .contact-form-style01 .contact-table dt span { padding: 2px 7px 3px; } }

.contact-form-style01 .contact-table dd { width: calc(100% - 400px); padding: 15px 25px; display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: -webkit-box; display: -ms-flexbox; display: flex; flex-wrap: wrap; align-items: center; }

.contact-form-style01 .contact-table .postal_code { display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; flex-wrap: wrap; }

.contact-form-style01 .contact-table .inline span { max-width: 75px; margin: 0 5px; text-align: center; }

.contact-form-style01 .contact-table .inline input { text-align: center; }

.contact-form-style01 .contact-table .clockpicker input { width: 70px; text-align: center; }

.contact-form-style01 .contact-table input:not([type='radio']):not([type='checkbox']):focus, .contact-form-style01 .contact-table textarea:focus { color: #495057; background-color: #fff; border-color: #80bdff; outline: 0; box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); }

.contact-form-style01 .confirm-table textarea { resize: none; width: 100%; }

.contact-form-style01 .confirm-table input:not([type='radio']):not([type='checkbox']):focus, .contact-form-style01 .confirm-table textarea:focus { color: inherit; background-color: transparent; border-color: transparent; outline: 0; box-shadow: none; }

.contact-form-style01 .input_btn, .contact-form-style01 .button.thanks_btn { position: relative; display: flex; justify-content: center; align-items: center; flex-wrap: wrap; max-width: 600px; margin: 40px auto 0; }

.contact-form-style01 .input_btn input, .contact-form-style01 .input_btn a, .contact-form-style01 .button.thanks_btn input, .contact-form-style01 .button.thanks_btn a { color: inherit; }

.contact-form-style01 .input_btn input[type="button"], .contact-form-style01 .input_btn input[type="submit"], .contact-form-style01 .button.thanks_btn { display: block; width: 250px; height: 50px; border: none; padding: 10px; text-align: center; font-size: 100%; font-weight: normal; margin: 0px 10px 10px; text-decoration: none; cursor: pointer; font-size: 16px; }

.contact-form-style01 .input_btn input[type="button"]:hover, .contact-form-style01 .input_btn input[type="submit"]:hover, .contact-form-style01 .button.thanks_btn:hover { opacity: 0.8; }

.contact-form-style01 .input_btn input[type="button"], .contact-form-style01 .input_btn input[type="submit"], .contact-form-style01 .button.thanks_btn { background-color: #cc8800; color: #fff; font-family: "Noto Sans JP", sans-serif; }

.contact-form-style01 .contact-table { border: 1px solid #cc8800; }

.contact-form-style01 .contact-table input, .contact-form-style01 .contact-table select, .contact-form-style01 .contact-table textarea { border-color: #ddd; }

.contact-form-style01 .contact-table dt { background-color: #cc8800; border-bottom: 1px solid #fff; color: #fff; font-family: "Noto Sans JP", sans-serif; }

.contact-form-style01 .contact-table dt span { background-color: #ffffff; color: #ff3c7f; }

.contact-form-style01 .contact-table dd { border-bottom: 1px solid #cc8800; }

.contact-form-style01 .wpcf7-not-valid-tip { display: block; margin: 3px 7px 0; }

.contact-form-style02 { background: url(../images/contact-form-bg.jpg); padding: 80px 50px 80px; }

.contact-form-style02 .contact-table { display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; flex-wrap: wrap; justify-content: space-between; }

.contact-form-style02 .contact-table input:not([type='radio']):not([type='checkbox']), .contact-form-style02 .contact-table textarea { background-clip: padding-box; border: none; outline: 0; box-shadow: none; height: auto; display: block; border-radius: 0; width: 100%; padding-bottom: 15px; margin-bottom: 0; border-bottom: 1px dashed; transition: border-color 0.3s ease-in-out, box-shadow 0.3s ease-in-out; font-size: 1em; font-weight: 400; line-height: 1.5; text-transform: none; }

.contact-form-style02 .contact-table textarea { max-width: 100%; border: 1px dashed; padding: 20px; }

.contact-form-style02 .contact-table dl { position: relative; z-index: 0; width: 49%; margin-bottom: 60px; }

.contact-form-style02 .contact-table dl:last-child { margin-bottom: 0; }

.contact-form-style02 .contact-table dl dt { font-size: 0.9em; }

.contact-form-style02 .contact-table dl dt span { position: relative; top: -0.1em; display: inline-block; padding: 0px 5px; margin-left: 8px; border-radius: 7px; font-size: 0.7em; }

.contact-form-style02 .contact-table dl.inline dd { display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; justify-content: space-around; align-items: center; }

.contact-form-style02 .contact-table dl.inline input { text-align: center; }

.contact-form-style02 .contact-table dl.hasBD dd { padding: 15px; border: 1px dashed; transition: border-color 0.3s ease-in-out, box-shadow 0.3s ease-in-out; }

.contact-form-style02 .contact-table dl.full { width: 100%; padding: 20px 0; }

.contact-form-style02 .contact-table dl.full dt { padding-bottom: 15px; }

.contact-form-style02 .contact-table dl:not(.full) dt { position: absolute; z-index: 0; bottom: 15px; left: 0px; transform: translateY(0%); transition: all 0.4s ease; }

.contact-form-style02 .contact-table dl:not(.full) dd { padding: 0px 0px; }

.contact-form-style02 .contact-table dl:not(.full).non-empty dt, .contact-form-style02 .contact-table dl:not(.full).focus dt { bottom: -5px; transform: translateY(100%); font-size: 0.75em; }

.contact-form-style02 .contact-table dl:not(.full) .wpcf7-not-valid-tip { position: absolute; bottom: 0px; left: 0; right: 0; z-index: -1; }

.contact-form-style02 .confirm-table dl:not(.hasBD):not(.non-empty) { opacity: 0.45; }

.contact-form-style02 .wpcf7-not-valid-tip { display: block; text-align: right; }

.contact-form-style02 .input_btn, .contact-form-style02 .button.thanks_btn { position: relative; display: table; margin: 40px auto 0; height: 45px; }

.contact-form-style02 .input_btn input, .contact-form-style02 .input_btn a, .contact-form-style02 .button.thanks_btn input, .contact-form-style02 .button.thanks_btn a { color: inherit; }

.contact-form-style02 .input_btn::before, .contact-form-style02 .input_btn::after, .contact-form-style02 .button.thanks_btn::before, .contact-form-style02 .button.thanks_btn::after { content: ""; position: absolute; left: 50%; width: 100%; height: 2px; transform: translateX(-50%); transition: all 0.3s cubic-bezier(0.34, 0.36, 0.06, 1.01); }

.contact-form-style02 .input_btn::before, .contact-form-style02 .button.thanks_btn::before { top: 0; }

.contact-form-style02 .input_btn::after, .contact-form-style02 .button.thanks_btn::after { bottom: 0; }

.contact-form-style02 .input_btn:hover::before, .contact-form-style02 .button.thanks_btn:hover::before { top: 100%; width: 80%; }

.contact-form-style02 .input_btn:hover::after, .contact-form-style02 .button.thanks_btn:hover::after { bottom: -7px; width: 60%; }

.contact-form-style02 .input_btn input[type="button"], .contact-form-style02 .input_btn input[type="submit"], .contact-form-style02 .button.thanks_btn { background-color: transparent; border: none; outline: 0; padding: 10px; cursor: pointer; text-align: center; font-size: 100%; font-weight: normal; text-decoration: none; }

.contact-form-style02 .input_btn, .contact-form-style02 .button.thanks_btn { color: #333; }

.contact-form-style02 .input_btn::before, .contact-form-style02 .input_btn::after, .contact-form-style02 .button.thanks_btn::before, .contact-form-style02 .button.thanks_btn::after { background-color: #fcbb45; }

.contact-form-style02 .contact-table input, .contact-form-style02 .contact-table textarea { background-color: transparent; border-color: #a1a3a2; color: #495057; }

.contact-form-style02 .contact-table input:focus, .contact-form-style02 .contact-table textarea:focus { border-color: #000; color: #495057; }

.contact-form-style02 .contact-table dl.hasBD dd { border-color: #a1a3a2; color: #495057; }

.contact-form-style02 .contact-table dl.hasBD.focus dd { border-color: #000; color: #495057; }

.contact-form-style02 .contact-table dl dt { font-size: 0.9em; }

.contact-form-style02 .contact-table dl dt span { background-color: #353535; color: #ffffff; }

.screen-reader-response { display: none; }

.wpcf7-not-valid-tip { font-size: 80%; color: #ff3c7f; }

.wpcf7-response-output { padding-top: 20px; }

.wpcf7-list-item { margin-right: 15px; }

.wpcf7-list-item-label { color: #000; }

.wpcf7-form-control-wrap { width: 100%; }

.captcha_box { display: table; margin: 50px auto 0; }

@media only screen and (max-width: 1000px) and (min-width: 769px) { .contact-form-style01 .contact-table dt { width: 40%; }
  .contact-form-style01 .contact-table dd { width: 60%; }
  .contact-form-style02 { padding: 50px 30px 50px; } }

@media only screen and (max-width: 768px) { .contact-form-style01 .contact-table dl { display: block; }
  .contact-form-style01 .contact-table dt, .contact-form-style01 .contact-table dd { width: 100%; }
  .contact-form-style01 .contact-table dd { border-color: transparent; }
  .contact-form-style01 .contact-table input, .contact-form-style01 .contact-table textarea { width: 100%; }
  .contact-form-style01 .contact-table input[type="checkbox"], .contact-form-style01 .contact-table input[type="radio"] { width: auto; }
  .contact-form-style01 .wpcf7-list-item { display: block; }
  .contact-form-style02 { padding: 40px 30px 40px; }
  .contact-form-style02 .contact-table input, .contact-form-style02 .contact-table textarea { padding-bottom: 20px; text-align: center; }
  .contact-form-style02 .contact-table dl { width: 100%; }
  .contact-form-style02 .contact-table dl dt { width: 100%; text-align: center; }
  .contact-form-style02 .contact-table dl:not(.full) dt { bottom: 20px; }
  .contact-form-style02 .contact-table dl:not(.full).non-empty dt, .contact-form-style02 .contact-table dl:not(.full).focus dt { font-size: 0.9em; }
  .contact-form-style02 .wpcf7-not-valid-tip { text-align: center; } }

/* END Mail*/
/*==========================================================================*/
/*==========================================================================*/
/*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/

/*# sourceMappingURL=style.css.map */
.sec_video{
  background: url(https://osakatsurumi.com/wp-content/themes/grits_theme/images/idx07_bg.jpg);
  background-size: cover;
  background-position: center;
  
}
.sec_video .gr_video{
  padding: 40px 0px 60px;
}
.gr_video {
  padding-bottom: 50px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;

}
.gr_video .video_yt{
  width: 48%;
  margin: 20px 0px 0;
}
.video_yt{
  max-width: 854px;
  margin: 0px auto;
}
.video_wrapper {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}

.video_wrapper iframe {
  position: absolute;
  top:0;
  left: 0;
  width: 100%;
  height: 100%; 
}

.banner_animation .bnr1 {
    width: 48%;
    max-width: 500px;
    margin: 0px 1% 10px;

}
@media only screen and (max-width: 768px) { 
	.banner_animation .bnr1 {
	    width: 100%;
    max-width: 390px;
    margin: 0px 0px 20px;
	}
}
.banner_animation {
    display: flex;
	flex-wrap:wrap;
    justify-content: center;
}

.chatbot {
  background-color: #CC8800;
  border: 1px solid #CC8800;
  max-width: 32em;
  width: 100%;
  height: 8.5em;
  overflow: hidden;
  cursor: pointer;
  transition: 0.3s all;
  position: fixed;
  bottom: 10px;
  right: 110px;
  z-index: 9;
  font-size: 10px;
}
.chatbot::after {
  content: '';
  position: absolute;
  top: 0;
  right: -1px;
  width: 2em;
  height: 100%;
  background: url(../images/ic_chat_arr.svg) no-repeat 50% 50% / 7px auto;
}
*, ::after, ::before {
  box-sizing: border-box;
}
.chatbot .txt {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2.7em;
  font-weight: bold;
  letter-spacing: 0.02em;
  color: #CC8800;
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(100% - 0.7407407407407407em);
  height: 100%;
  background-color: #FFF8EB;
  padding: 0.3571428571428571em;
  transition: 0.3s all;
}
.chatbot .txt::after {
  content: '';
  position: relative;
  display: block;
  width: 1.875em;
  height: 1.875em;
  margin-left: 0.1851851851851852em;
  background: url(../images/ic_chat.svg) no-repeat center / contain;
}
.chatbot.active{
  bottom: 100px;
  right: 10px;
}
@media only screen and (max-width: 1100px) and (min-width: 769px) { 
  .chatbot{
    font-size: 8px;
  }
  .chatbot.active{
    bottom: 90px;
  }
}


.idx_list ul li.column .date {
	display: none !important;
}