@charset "UTF-8";

/*==========================================================================*/
/*                            Container                                     */
/*==========================================================================*/

body { -webkit-text-size-adjust: none; }
.wrapper { overflow: hidden; }
.inner { max-width: 1024px; 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 5px auto; }
.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; }
.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: 45px; right: 95px; }
.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: 80px; height: 80px; margin: 0; }
.bounce { animation-name: bounce; }
.animated { animation-duration: .5s; animation-fill-mode: both; animation-timing-function: linear; animation-iteration-count: infinite; }
.btn-group .btn a { display: block; }
.btn-group .btn.style01, .btn-group .btn.style02 { min-width: 180px; max-width: 300px; overflow: hidden; }
.btn-group .btn.style01 a, .btn-group .btn.style02 a { padding: 11px 10px 12px; position: relative; font-size: 22px; font-weight: 400; letter-spacing: 0.1em; line-height: 1.5; color: #fff; text-decoration: none; text-align: center; background-color: #000; }
.btn-group .btn.style01 a:hover, .btn-group .btn.style02 a:hover { opacity: 1; background-color: #9cb5ba; }
.btn-group .btn.style01 a::after, .btn-group .btn.style02 a::after { content: ""; display: block; position: absolute; transition: all .3s; right: 5px; bottom: 5px; border: 4px solid #fff; border-left-color: transparent; border-top-color: transparent; }
.btn-group .btn.style01.md a, .btn-group .btn.md.style02 a { font-size: 18px; }
.btn-group .btn.style01.md a::after, .btn-group .btn.md.style02 a::after { font-size: 23px; }
.btn-group .btn.style02 a { letter-spacing: 0.1em; line-height: 1.5; padding: 11px 10px 12px; background-color: #ccc; }
.btn-group .btn.bg01 a { background-color: #659cc1; }
.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-slide, .slick-slide *:focus { outline: none; }
.slick-prev { left: -55px; }
.slick-next { right: -55px; }
@media only screen and (min-width: 769px) { .totop:hover .icon { opacity: 0.9; animation-name: bounce; }}
@keyframes bounce { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-5px); } }

/* Tablet
-------------------------------------------*/
@media only screen and (min-width: 769px) and (max-width: 1280px) { 
    body { font-size: 87.5%; }
    .btn.style01 a, .btn-group .btn.style02 a, .btn.style02 a { font-size: 14px; }
    .totop { right: 10px; }
    .totop .icon { width: 60px; height: 60px; } 
}
@media only screen and (min-width: 769px) and (max-width: 1170px) { .inner { max-width: none; padding-left: 50px; padding-right: 50px; } }
@media only screen and (min-width: 769px) and (max-width: 1000px) { .inner_sm { max-width: none; padding-left: 50px; padding-right: 50px; } }

/*==========================================================================*/
/*                           Header - Footer                                */
/*==========================================================================*/
/* menu */
header { position: absolute; top: 0; left: 0; right: 0; z-index: 20; }
#header-top { background-color: transparent; position: absolute; width: 100%; top: 0; left: 0; z-index: 10; transition: 500ms ease; }
.header_top { height: 90px; 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: 1440px; margin: 0 auto; margin-top: 12px; align-items: center;}
.logo { margin-left: 80px; width: 23%; max-width: 329px; transform: translateY(10px); transition: 500ms ease; 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; }
.logo a img{ max-width: 100%; height: auto; overflow: hidden; transition: 500ms ease;}
.right_head { width: 57.5%; 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%; }
@keyframes aniscroll {  from {top: -170px;} to {top: 0;}}
@keyframes aniscroll-navi {  from {bottom: -170px;} to {bottom: 0;}}

.hamb-menu-click-active { background-color: #fff !important; box-shadow: rgba(0, 0, 0, 0.16) 0px 7px 20px !important;}
.hamb-menu-click-active  .header_top { margin-top: 0;}
.hamb-menu-click-active .logo { transform: translate(0); max-width: 284px;}
.hamb-menu-click-active .logo a img{ content: url(../images/m-logo-b.png) !important; }


/* when menu scroll */
.menu-scroll-active { background-color: #fff !important; box-shadow: rgba(0, 0, 0, 0.16) 0px 7px 20px !important;}
.menu-scroll-active  .header_top { margin-top: 0;}
.menu-scroll-active .logo { transform: translate(0); max-width: 284px;}
.menu-scroll-active .logo a img{ content: url(../images/m-logo-b.png) !important; }
.menu-scroll-active .pc_navi > ul > li > a{ color: #333333 !important; }
.menu-scroll-active .pc_navi > ul > li:before { border-color: #d6d6d6 !important;}

.menu-scroll-active#header-top, .menu-scroll-active .hamburger-btn { position: fixed !important;  animation: aniscroll  .3s alternate;}

/* list item menu */
.pc_navi > ul { display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; flex-wrap: wrap; text-align: center; }
.pc_navi > ul > li { position: relative;}
.pc_navi > ul > li:before { display: block; content: ""; width: 100%; height: 14px; position: absolute; top: 50%; left: 0; transform: translateY(-50%); border-left: 1px solid #fff;}
.pc_navi > ul > li:last-child::before { border-right: 1px solid #fff;}



/* item size */
.pc_navi > ul > li:nth-child(1) { width: 13%; }
.pc_navi > ul > li:nth-child(2) { width: 14%; }
.pc_navi > ul > li:nth-child(3) { width: 13%; }
.pc_navi > ul > li:nth-child(4) { width: 17%;}
.pc_navi > ul > li:nth-child(5) { width: 15%; }
.pc_navi > ul > li:nth-child(6) { width: 19%; }

.pc_navi > ul > li > a{ position: relative; height: 90px; font-family: 'Shippori Mincho', serif; text-decoration: none; text-align: center; font-weight: 600; font-size: 15px; line-height: 1.5; letter-spacing: 0.1em; color: #fff; 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;}
.pc_navi > ul > li > a:hover { color: #216c33; }
.pc_navi > ul > li > a::before{ content: ''; position: absolute; transition: transform .5s ease; bottom: 0; width: 80%; height: 2px; background: #216c33; transform: scaleX(0);}
.pc_navi > ul > li > a:hover:before{ transform: scaleX(1); }
.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: 5px; 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; }

/* dropdown menu */
.pc_navi > ul > li > .subInner { position: absolute; width: 220px; right: 50%; bottom: 0; padding-top: 0px; transform: translate(50%, 100%); transition: all 0.2s ease-in-out; opacity: 0; visibility: hidden; z-index: 1; }
.pc_navi > ul > li > .subInner.active { opacity: 1; visibility: visible; }
.pc_navi > ul > li > .subInner ul { background-color: rgba(0, 0, 0, 0.5); padding-bottom: 10px; }
.pc_navi > ul > li > .subInner ul li { padding: 0 10px; }
.pc_navi > ul > li > .subInner ul li a { height: auto; position: relative; display: block; padding: 12px 10px; 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; box-sizing: border-box; }
.pc_navi > ul > li > .subInner ul li a::before { background: none;}
.pc_navi > ul > li > .subInner ul li a:hover{ color: #216c33; }

@media only screen and (max-width: 1280px) { 
    .logo { margin-left: 30px;}
    .right_head { width: 63%;}
    .pc_navi > ul > li > a, .pc_navi > ul > li p { font-size: 14px; }
    .pc_navi > ul > li.home a::before { margin: 2px 0 1px; }
    .pc_navi > ul .subInner ul li a { font-size: 14px; } 
}

@media only screen and (max-width: 1024px) { 
    .pc_navi > ul > li > a, .pc_navi > ul > li p { font-size: 12px; }
    .pc_navi > ul .subInner ul li a { font-size: 12px; } 
}

@media only screen and (max-width: 900px) { 
    .pc_navi > ul > li > a, .pc_navi > ul > li p { font-size: 11px; }
    .pc_navi > ul .subInner ul li a { font-size: 11px; } 
}
/*==========================================================================*/
/*                                INDEX                                     */
/*==========================================================================*/
/* home page */
.home_page .key { display: none;}
.home_page .topic_path { display: none; }

/*==========================================================================*/
/*                                Under                                     */
/*==========================================================================*/
/* SITE MAP */
.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; }
.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; }
/* END SITE MAP */

/* common set up */
.under #mainContent:not( .page-interview #mainContent){ padding-bottom: 200px;}
.under #mainContent a{ text-decoration: none; }

/* kv contents */
.under .key { background-image: url(../images/key-bg.jpg); height: 480px; background-position: center center; background-size: cover; background-repeat: no-repeat;}
.under .key .inner { height: 100%; padding: 0px; }
.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%; }
.under .key .key_text h2{ color: #fff; }

/* title and text in page contents */
.under h2 { display: table; padding: 0 23px; font-size: 42px; font-weight: 500; text-align: left; color: #fff; letter-spacing: 0.1em; }
.under h2, .under h3, .under h4, .under h5, .under h6 { line-height: 36px;  font-family: 'Noto Sans JP', sans-serif; color: #216c33;}
.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: 35px; color: #216c33; font-size: 30px; font-weight: 500; letter-spacing: 0.1em; text-align: center; line-height: 60px;}
.under h3::after{ content: ""; display: block; border-bottom: 4px solid #63a772; width: 75px; margin: 0 auto; margin-top: 24px;}
.under h4 { background-repeat: repeat; margin-bottom: 30px; position: relative; font-weight: 500; font-size: 24px; color: #216c33; letter-spacing: 0.1em; border-bottom: 2px solid #63a772; padding-bottom: 12px; line-height: 50px;}
.under h5 { margin-bottom: 20px; position: relative; font-weight: 500; font-size: 20px; color: #216c33; letter-spacing: 0.1em; margin-left: 20px; line-height: 30px;}
.under h5::before {content: ""; border-left: 4px solid #63a772; border-radius: 20px; position: absolute; left: -20px; height: 100%;}
.under h6 { position: relative; padding-left: 30px; margin-top: 100px; margin-bottom: 15px; font-weight: 600; font-size: 18px; color: #216c33; letter-spacing: 3px; line-height: 36px;}
.under h6::before { content: ""; position: absolute; left: 0; top: 13px; height: 14px; width: 14px; border: 7px solid; box-sizing: border-box; border-radius: 50%; color: #63a772;}
.under section:first-child h3 { margin-top: 200px; }
.under section h3 { margin-top: 100px; }
.under .secH4 { padding-top: 100px; }
.under .secH4 img{ max-width: 100%; height: auto; object-fit: cover;}
.under .secH4 p, .under .secH5 p, .box_lig01 p, .box_lig02 p, .box_lig03 p{ text-align: justify;}
.under .secH4:first-of-type { padding-top: 0; }
.under .secH5 { padding-top: 100px; }
.under .secH4 .secH5:nth-child(2){ padding-top: 0;} 
.under .secH5 h6:nth-child(2){ margin-top: 0;}

/* set block with column images and text */
.under .imgBox.rowImg .image_l img, .under .imgBox.rowImg .image_r img { max-width: 100%; max-height: 600px; }
.under .imgBox.rowImg .image_l { float: left; margin-right: 20px; }
.under .imgBox.rowImg .image_r { float: right; margin-left: 20px; }
.under .imgBox.rowImg .image_l, .under .imgBox.rowImg .image_r { max-width: 500px; margin-bottom: 15px; margin-top: 5px;}
.under .imgBox.rowImg .txt_l { float: unset; }
.under .imgBox.rowImg .txt_r { float: unset; }
.under .imgBox.rowImg .txt_l, .under .imgBox.rowImg .txt_r { width: 100%; }
.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: 100%; }
.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; }
.under .imgBox.colImg .text .ttl { font-size: 1.375em; font-weight: bold; line-height: 1.8; text-align: center; color: #216c33; }
.under .imgBox.colImg3 .item { width: 32%; }
.under .imgBox.colImg3 img {width: 100%;}
.under .imgBox.colImg2 .item { width: 49%; }
.under .imgBox.colImg2 img {width: 100%;}
.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 .acf_block .list01 { margin-top: 20px; }

.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%; }
.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: #333; position: absolute; left: 0; top: 0.4em; }
.under .list_note { margin-top: 15px; padding-left: 20px; }
.under .list_note.no_mt { margin-top: 0; }

/* home > to page */
.under .topic_path .inner{ max-width: 1280px;}
.under .topic_path { padding: 15px 0;}
.under .topic_path ul::after { content: ""; display: block; clear: both; }
.under .topic_path ul li { float: left; text-transform: uppercase; color: #333333; font-size: 10px; letter-spacing: .1em;}
.under .topic_path ul li:nth-child(3){ white-space: nowrap; text-overflow: ellipsis; overflow: hidden; width: 48%;}
.under .topic_path a { text-decoration: none; color: #216c33;}
.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: #216c33; line-height: 1; }

/* anchor link btn */
.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 #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; }

/* START BLOG
------------------------------------------------------------------------*/
/* Pagination when post > 10 will display on bottom list 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: #555; 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; }
#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); }
#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; }

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

/* container of list blog and sidebar */
.main_blog_container { display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; flex-wrap: wrap; justify-content: space-between; margin-top: 50px;}
.main_blog_container .main_blog_content { width: 67%; }
.main_blog_container .main_blog_content > div { padding-top: 0; }
.main_blog_container .sidebar { width: 30%;}
.main_blog_container .sidebar .txt_head, .main_blog_container .sidebar .widgettitle { border-top-left-radius: 8px; border-top-right-radius: 8px; background-color: #213143; transform: none; position: static; display: block; padding: 0 10px; width: 100%; writing-mode: horizontal-tb; font-size: 18px; color: #fff; box-sizing: border-box;}
.main_blog_container .sidebar .widgettitle:not(:first-child) { margin-top: 30px; }
.main_blog_container .sidebar ul:not(.children) { border-bottom-left-radius: 8px; border-bottom-right-radius: 8px; padding: 10px; color: rgba(0, 0, 0, 0.5); background-color: #F9F9FB;}
.main_blog_container .sidebar ul:not(.children) > li { padding: 10px 0; font-size: 80%; line-height: 23px;}
.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; transition: 200ms ease;}
.main_blog_container .sidebar ul:not(.children) > li a:hover { color: #3986ee; text-decoration: underline !important;}
.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: 100%; margin: 0 auto; }
    .main_blog_container .sidebar { display: none; } 
}

/* list blog item */
.blog_list_style01{ padding-bottom: 30px;}

.blog_list_style01:first-child .item { display: block; --sizebr: 8px;}
.blog_list_style01:first-child .item .thumb-im { width: 100%; height: 360px;}
.blog_list_style01:first-child .item .thumb-im figure img { border-radius: 8px;}
.blog_list_style01:first-child .item .info { width: 100%; padding: 0; box-sizing: border-box;}
.blog_list_style01:first-child .item .info .author{ position: absolute; top: -36px; left: 10px;}
.blog_list_style01:first-child .item .info .author .name{ color: #fff; }
.blog_list_style01:first-child .item .info .date { padding-top: 10px;}


.blog_list_style01 .item .thumb-im { width: 36%; height: 150px; background-color: rgba(255, 166, 0, 0.699);}

.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;}
.blog_list_style01 .item .thumb-im figure { background-color: white; position: relative; overflow: hidden; width: 100%; height: 100%;}
.blog_list_style01 .item .thumb-im figure img { width: 100%; height: 100% !important; object-fit: cover; border-radius: 4px;}
.blog_list_style01 .item .info { width: 62%; position: relative;}
.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: 5px; padding-top: 5px; font-size: 90%; color: #5c5c5f; font-weight: 600;}
.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 { display: inline-block; padding: 3px 10px; color: rgba(0, 0, 0, 0.5); letter-spacing: 0; text-decoration: none; line-height: 17px; font-weight: 500;}
.blog_list_style01 .item .info .date .tag a:not(:first-child){ margin-left: 10px; }
.blog_list_style01 .item .info .date .tag a:hover{ color: #3986ee; transition: opacity 0.3s ease;}
.blog_list_style01 .item .info .ttl { margin-bottom: 10px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-size: 120%; font-weight: 600; color: #333333; }
.blog_list_style01 .item .info .ttl a { color: #000; text-decoration: none; transition: .2s all;}
.blog_list_style01 .item .info .ttl a:hover { color: #3986ee; }
.blog_list_style01 .item .info .des { padding-bottom: 5px; color: rgba(0, 0, 0, 0.5); font-size: 12px;}
.blog_list_style01 .item .info .button { background-color: #ddd; position: absolute; bottom: 20px; right: 20px ; border-radius: 10px; transition: 0.8s;}
.blog_list_style01 .item .info .button a { position: relative; z-index: 1; display: block; padding: 0 10px; font-size: 90%; color: #333; text-decoration: none; line-height: 30px;}
.blog_list_style01 .item .info .button a::before { opacity: 0; }
.blog_list_style01 .item .info .button:hover a { opacity: 1; color: #fff; }
.blog_list_style01 .item .info .button:hover { background-color: #216c33; }
.blog_list_style01 .item .info .author{ display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center;}
.blog_list_style01 .item .info .author .im img{ width: 28px; height: 28px !important; object-fit: cover; border-radius: 50%;}
.blog_list_style01 .item .info .author .name{ padding-left: 5px; font-size: 10px; font-weight: 600; color: rgba(0, 0, 0, 0.7);}

@media only screen and (max-width: 1280px) { 
    .blog_list_style01 .item .info .date { margin-bottom: 0; padding-top: 0;}
}

@media only screen and (max-width: 768px) { 
    .main_blog_container{ margin-top: 20px;}
    .blog_list_style01{ padding-bottom: 20px;}
    .blog_list_style01:first-child .item .info .date{ padding-top: 5px;}
    .blog_list_style01 .item .info .ttl{ font-size: 105%;}
    .blog_list_style01 .item .info .des{ font-size: 11px; line-height: 21px;}
    .blog_list_style01 .item .info .date{ font-size: 85%;}
    .blog_list_style01 .item .info .date .tag{ margin-left: 0;}
    .blog_list_style01 .item .info .date .tag a{ margin-left: 0 !important;padding: 3px 0 3px 12px;}
}

@media only screen and (max-width: 540px) { 
    .blog_list_style01 .item .info .ttl{ margin-bottom: 7px;}
    .blog_list_style01:first-child .item .thumb-im{ height: 250px;}
    .blog_list_style01:first-child .item .info .author .im img{ width: 28px; height: 28px !important;}
    .blog_list_style01 .item .info .author .im img{ width: 22px; height: 22px !important;}
    .blog_list_style01 .item .info .author .name{ font-size: 8px;}
    .blog_list_style01:first-child .item .info .author .name{ font-size: 10px;}
}

@media only screen and (max-width: 360px) { 
    .blog_list_style01:not(:first-child) .item .thumb-im{ display: none;}
    .blog_list_style01:not(:first-child) .item .info{ width: 100%;}
}

/* button on bottom in post page */
.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: #216c33; text-align: center; line-height: 1; font-size: 0.9em;}
.blog_post_button > div a { border: 1px solid #216c33; transition: all 0.3s; display: block; position: relative; z-index: 1; padding: 11px 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 a { color: #fff; background-color: #216c33; }

/* 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; box-sizing: border-box;}
.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; 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 { 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; }
.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: 520px; 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: 200px; height: 45px; border: none; padding: 10px; text-align: center; font-size: 100%; font-weight: normal; margin: 0px 10px 10px; text-decoration: none; cursor: pointer; }
.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: #ddebf2; color: #0e7cad; }
.contact-form-style01 .contact-table { border: 1px solid #ddebf2; }
.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 { display: flex; align-items: center; background-color: #ddebf2; border-bottom: 1px solid #fff; color: #0e7cad; }
.contact-form-style01 .contact-table dt span { background-color: #ffffff; color: #ff3c7f; }
.contact-form-style01 .contact-table dd { border-bottom: 1px solid #ddebf2; }
.contact-form-style01 .wpcf7-not-valid-tip { display: block; margin: 3px 7px 0; }

.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%; }
}

@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%; box-sizing: border-box;}
    .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; }
}

/* END Mail*/
/*==========================================================================*/
/*                             content editor                               */
/*==========================================================================*/

.img_wcap_ct { margin: 0 auto 40px; text-align: center;}
.img_wcap_ct img { margin: 0 auto 20px; width: 100%;}
.img_wcap_ct .catption_txt { text-align: left;}

p:empty { display: none;}
.catption_txt { padding-top: 10px; display: block;}
.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: #ff9a00; font-weight: 600; }
.note01.note_c:before { color: #ff9a00;}

/* blog contents */
.blog-content .date { margin-bottom: 20px; text-align: center; color: #000; }
.blog-content .img_r { max-width: 420px; float: right; margin: 0 0 20px 40px;}
.blog-content .img_l { max-width: 420px; float: left;  margin: 0 40px 20px 0;}
.blog-content .imgBox { margin-bottom:40px;}
@media screen and (max-width: 960px) {
    .blog-content .img_l { max-width: 300px; margin: 0 20px 15px 0;}
    .blog-content .img_r { max-width: 300px; margin: 0 0px 15px 20px;}
}
@media screen and (max-width: 640px) {
    .blog-content .img_l, .blog-content .img_r { float: none; max-width: 100%; margin: 0 0px 20px 0;}
}

/* box light */
.box_lig01 { position: relative; padding: 40px; background: #F7F7F7; margin-bottom: 40px; margin-top: 20px;}
.box_lig01 p:last-child { margin-bottom: 0;}
.box_lig02 { position: relative; padding: 40px; background: #fff; margin-bottom: 40px; color: #216c33; box-shadow: 0 3px 20px 0 rgba(0, 0, 0, 0.1); border-radius: 20px; margin-top: 20px; font-weight: 500;}
.box_lig02 p:last-child { margin-bottom: 0;}
.box_lig03 { position: relative; padding: 40px; background: url(../images/key-bg.jpg) no-repeat center center; background-size: cover; margin-bottom: 40px; margin-top: 20px; color: #fff;}
.box_lig03 p:last-child { margin-bottom: 0;}

@media screen and (max-width: 768px) {
    .box_lig01, .box_lig02, .box_lig03 { padding: 20px;}
}

blockquote p,blockquote li,blockquote dt,blockquote dd,blockquote a { font-size: 16px;}
blockquote { position: relative; padding: 25px 30px 25px 70px; box-sizing: border-box; background: #F7F7F7; margin-bottom: 40px; border-left: 2px solid #E5127C; box-shadow: 1px 2px 2px 0px #e0e0e0;}
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;}

/* INTRO DR */
.avata-doc { width: 100%;  display: -webkit-box; display: -ms-flexbox; display: flex; background: url(../images/top-trou-pic2.jpg) no-repeat center center; background-size: cover; border-radius: 20px; -webkit-box-shadow: rgba(0, 0, 0, 0.2) 0px 4px 12px; box-shadow: rgba(0, 0, 0, 0.2) 0px 4px 12px;}
.avata-doc__im { width: 30%; }
.avata-doc__im img { width: 100%; -o-object-fit: cover; object-fit: cover; border-top-left-radius: 20px; border-bottom-left-radius: 20px;}
.avata-doc__name { width: 70%; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; border-top-right-radius: 20px; border-bottom-right-radius: 20px;}
.avata-doc__name h1 { font-size: 24px; color: #fff; font-weight: bold;}

@media only screen and (max-width: 1024px) { .avata-doc__name h1 { font-size: 18px;}}
@media only screen and (max-width: 768px) {
    .avata-doc { width: 100%; display: block;  border-radius: 15px;}
    .avata-doc__im { width: 100%;}
    .avata-doc__im img { border-top-left-radius: 15px; border-top-right-radius: 15px; border-bottom-left-radius: unset;}
    .avata-doc__name { width: 100%; padding: 40px 0; border-top-right-radius: unset; border-bottom-left-radius: 15px; border-bottom-right-radius: 15px;}
    .avata-doc__name h1 { font-size: 16px;}
}

/* FAQ PAGE */
.faq_box{ margin-top: 200px;}
.faq_box__item { margin-bottom: 20px; border-radius: 20px; box-shadow: 0 3px 6px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.23);}
.faq_box__body { display: none; padding: 20px 30px 40px; background-color: #fff; border-bottom-left-radius: 20px;  border-bottom-right-radius: 20px; font-size: 14px; letter-spacing: .1em; line-height: 30px; text-align: justify;}
.faq_box__title { font-size: 24px; line-height: 1.5; letter-spacing: .1em; color: #615647; cursor: pointer; margin-bottom: 0; position: relative; font-family: var(--font-noto); font-weight: 500; display: flex; align-items: center; padding: 30px 40px 30px 30px;  border-top-left-radius: 20px; border-top-right-radius: 20px; transition: 400ms ease-in-out;}
.faq_box__title.active { color: #fff; background-color: #ed9126;}
.faq_box__title.active .gg-math-plus { transform: rotate(45deg);}

.gg-math-plus,
.gg-math-plus::after { display: block; box-sizing: border-box; background: currentColor; border-radius: 10px;}
.gg-math-plus {  margin-top: -2px; position: absolute; right: 30px; width: 16px; height: 2px; transition: all 0.15s cubic-bezier(.42, 0, .58, 1);}
.gg-math-plus::after { content: ""; position: absolute; width: 2px; height: 16px; top: -7px; left: 7px;}
  
@media only screen and (max-width: 768px) {
    .faq_box{ margin-top: 50px;}
    .faq_box__title { font-size: 16px; line-height: 28px; padding: 20px 50px 20px 20px;}
    .faq_box__body{ padding: 10px 20px 20px; font-size: 12px; line-height: 26px;}
}
