/* ========================================================================== Foundation ========================================================================== */
/* Reset  ----------------------------------------------------------------- */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; outline: 0; font-size: 100%; font-weight: normal; vertical-align: baseline; }

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }

audio, canvas, video { display: inline-block; max-width: 100%; }

html { overflow-y: scroll; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; scroll-behavior: smooth;}

ul, ol { list-style: none; }

blockquote, q { quotes: none; }

blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none; }

a:focus { outline: none; }

ins { text-decoration: none; }

mark { font-style: italic; font-weight: bold; }

del { text-decoration: line-through; }

abbr[title], dfn[title] { border-bottom: 1px dotted; cursor: help; }

table { border-collapse: collapse; border-spacing: 0; width: 100%; }

hr { display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 1em 0; padding: 0; }

button, input, select, textarea { outline: 0; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; font-size: 16px; }

input, textarea { background-image: -webkit-linear-gradient(rgba(255, 255, 255, 0), rgba(255, 255, 255, 0)); -webkit-appearance: none; border-radius: 0; /* Removing the inner shadow, rounded corners on iOS inputs */ }

input[type="checkbox"] { -webkit-appearance: checkbox; }

input[type="radio"] { -webkit-appearance: radio; }

button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }

img { -ms-interpolation-mode: bicubic; }

/* clearfix */
.clearfix:after { content: "."; display: block; clear: both; height: 0; font-size: 0.1em; line-height: 0; visibility: hidden; overflow: hidden; }

.clearfix { display: inline-block; }

/* exlude MacIE5 \*/
* html .clearfix { height: 1%; }

.clearfix { display: block; }

html,
body {
  overflow-x: clip;
}

/* end MacIE5 */
/* Base ----------------------------------------------------------------- */
body {
    color: #514947;
    line-height: 2.2em;
    -webkit-font-smoothing: antialiased;
    font-size: calc(18 / 1920 * 100vw);
    font-family: fot-tsukuardgothic-std, sans-serif;
}
a {text-decoration: none; }

b, strong { font-weight: 700; }

big { font-size: larger; }

small { font-size: 80%; }

sub { vertical-align: sub; font-size: smaller; }

sup { vertical-align: super; font-size: smaller; }

i, cite, em, var, address, dfn { font-style: italic; }

tt, code, kbd, samp { font-family: monospace; }

u, ins { text-decoration: underline; }

img {
    vertical-align: bottom;
    width: 100%;
    height: auto;
}

input { border: 0; margin: 0; padding: 0; }

select { background: none transparent; border: 0; border-radius: 0; margin: 0; padding: 0; -moz-appearance: none; -webkit-appearance: none; appearance: none; }

/* for IE */
select::-ms-expand { display: none; }

a, a:before, a:after, input { -moz-transition-property: background-color, color; -moz-transition-duration: 0.2s; -moz-transition-timing-function: ease; -o-transition-property: background-color, color; -o-transition-duration: 0.2s; -o-transition-timing-function: ease; -webkit-transition-property: background-color, color; -webkit-transition-duration: 0.2s; -webkit-transition-timing-function: ease; transition-property: background-color, color; transition-duration: 0.2s; transition-timing-function: ease; }

/* infinite scroll */
#infscr-loading { color: #525252; font-size: 14px; text-align: center; width: 100%; }
#infscr-loading img { margin-right: 8px; vertical-align: middle; }
#infscr-loading div { display: inline; }


/**************************
フォント調整
**********************************************************************************/

@media (min-width: 1401px) and (max-width: 1599px){
	body {
		font-size: calc(16 / 1599 * 100vw);}
	}
	
	@media (min-width: 1200px) and (max-width: 1400px){
	body {
		font-size: calc(16 / 1400 * 100vw);}
	}
	
	@media (min-width: 1001px) and (max-width: 1199px){
	body {
		font-size: calc(16 / 1199 * 100vw);}
	}
	
	@media (min-width: 768px) and (max-width: 1000px){
	body {
		font-size: calc(15 / 1000 * 100vw);}
	}
	@media only screen and (max-width: 767px) {
		body {
			font-size: 3.8vw;
		line-height: 2;}
}




/*  header */
#js-header {
    height: 150px;
    line-height: 150px;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 999;
    width: 100%;
}
.l-header__inner {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    position: relative;
    width: 100%;
    height: 100%;
}
.header_img {
    line-height: 1;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -ms-grid-row-align: center;
    align-items: center;
    overflow: hidden;
    word-wrap: break-word;
    width: 27%;
    position: relative;
    margin: 0 5px;
}






/*========= header 上部固定させるためのCSS ===============*/
#js-header.fixed {
    position: fixed;
    z-index: 999;
    top: 0;
    left: 0;
    animation: DownAnime 0.5s forwards;
    box-shadow: 0 0 15px #ebebeb;
}

@keyframes DownAnime{
  from {
  	opacity: 0;
	transform: translateY(-100px);
  }
  to {
  	opacity: 1;
	transform: translateY(0);
  }
}


#js-header.fixed .p-global-nav li a {
    color: #000;
    text-shadow: unset;
}


/* header_logo */
.header_logo {
    display: block;
    max-width: 380px;
    padding: 0px 0 0 20px;
    width: 25%;
    position: absolute;
}
.header_logo a {
    position: relative;
    display: block;
}
.header_logo img {
    vertical-align: middle;
    width: 100%;
    height: auto;
}

 /*** global nav*/


nav {
    margin: 77px 1% 0 auto;
    width: auto;
}

.p-global-nav {
    padding: 13px 25px 9px;
    background: rgb(255 255 255 / 85%);
    border-radius: 100px;
    display: flex;
    align-items: center;
    justify-content: flex-end;}




#js-header.fixed .p-global-nav {
	display:block;
}


.p-global-nav > li {
    flex: 0 0 auto;
    position: relative;
    line-height: 27px;
    font-weight: 700;
    padding: 0 20px;
}

.p-global-nav li.menu-item-has-children:hover > .sub-menu { top: 100%; }


.p-global-nav > li > a,
.nav-accordion {
  display: block;
  padding: 2px 0px;
  border: none;
  background: none;
  color: inherit;
  font: inherit;
  text-align: center;
  cursor: pointer;
}



.p-global-nav > li:last-child span:before{
    display: none;
}


.p-global-nav > li span {
    display: block;
    position: relative;
    font-family: cantarell, sans-serif;
    font-size: 75%;
    letter-spacing: 0.05em;
    font-weight: 700;
}

span.gspa01 {
    color: #ebb839;
}
span.gspa02 {
    color: #49c056;
}
span.gspa03 {
    color: #6eaaff;
}
span.gspa04 {
    color: #ff6cc2;
}
span.gspa05 {
    color: #cca2ff;
}
span.gspa06 {
    color: #e9a1a1;
}
span.gspa07 {
    color: #ebb839;
}

.sub-menu {
  position: absolute;
  top: 120%;
  left: 50%;
  transform: translateX(-50%) translateY(-10px) scaleY(0.9);
  transform-origin: top center;
  width: 240px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
  z-index: 100;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: 0.35s ease;
      border-radius: 20px;
}

.sub-menu li a {
    display: block;
    padding: 19px 0px 16px 4px;
    border-bottom: 1px solid #d5d5d5;
    color: #3C2A2A;
    font-weight: 700;
}

.sub-menu li {
    width: 84%;
    margin: 0 auto;
}

.sub-menu li:last-child a {
  border-bottom: none;
}

.has-child.is-open .sub-menu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0) scaleY(1);
}



.p-global-nav > li img {
    width: auto;
    position: relative;
    height: 18px;
    vertical-align: middle;
}


/* p-global-nav hover 設定-調整*/
@media only screen and (min-width: 768px) {
    .p-global-nav li a:after, .nav-accordion:after {
        position: absolute;
        content: '';
        bottom: -2px;
        left: 0;
        width: 0;
        height: 2px;
		background: #ffcbab;
        transition: all 0.3s ease 0s;
        right: 0;
        margin: 0 auto;
    }
    .p-global-nav li a:hover:after, .nav-accordion:hover:after {
        width: 30px;
    }
.p-global-nav li a:hover {
    cursor: pointer;
}
.p-global-nav .sub-menu a:after {
display: none;}
}

/*submenu 着地点調整*/
.p-global-nav .menu-item-has-children {
    position: relative;
    padding-bottom: 15px;
}


/***ヘッダースクロール***/

@media screen and (min-width: 768px) {
  #js-header.is-fixed-pc {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 999;
    width: 100%;
    animation: headerFadeDown 1s ease forwards;
            background: rgb(255 255 255 / 95%);
            box-shadow: 0 0 15px rgba(0, 0, 0, 0.12);
  }

  #js-header.is-fixed-pc .l-header__inner {
    animation: headerInnerFade 1s ease forwards;
  }

  @keyframes headerFadeDown {
    from {
      opacity: 0;
      transform: translateY(-20px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

  @keyframes headerInnerFade {
    from {
      opacity: 0;
      transform: translateY(-8px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }
}

.is-fixed-pc .p-global-nav {
    background: unset;
}

.is-fixed-pc .hc_txt {
    display: none;
}
.is-fixed-pc .header_logo{display: none;}
.is-fixed-pc nav {
    margin: 5px 0 0 1%;
    width: auto;
    float: left;
}
#js-header.is-fixed-pc {
    height: 90px;
    line-height: 90px;
}



/**.header_contents****/
.header_contents {
    display: flex;
    justify-content: flex-end;
    gap: 6px;
    position: absolute;
    top: 0;
    right: 2%;
    line-height: 60px;
    width: 80%;
    height: 60px;
    align-items: center;
    max-width: 1140px;
}
.hc_txt {
    font-size: 72%;
    line-height: 1.5;
}
.marleft {
    margin-right: 10px;
}

.hc_btn01 {
    background: #93F8FF;
    background: -webkit-linear-gradient(225deg, rgba(147, 248, 255, 1) 0%, rgba(157, 255, 115, 1) 51%, rgba(255, 234, 97, 1) 100%);
    background: -moz-linear-gradient(225deg,rgba(147, 248, 255, 1) 0%, rgba(157, 255, 115, 1) 51%, rgba(255, 234, 97, 1) 100%);
    background: linear-gradient(225deg, rgba(147, 248, 255, 1) 0%, rgba(157, 255, 115, 1) 51%, rgba(255, 234, 97, 1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="#93F8FF", endColorstr="#FFEA61", GradientType=0 );
    border-radius: 0 0 10px 10px;
    width: 16%;
    text-align: center;
}

.hc_btn02 {
    background: #02a62b;
    background: -webkit-linear-gradient(225deg, rgba(2, 166, 43, 1) 0%, rgba(0, 214, 57, 1) 100%);
    background: -moz-linear-gradient(225deg,rgba(2, 166, 43, 1) 0%, rgba(0, 214, 57, 1) 100%);
    background: linear-gradient(225deg, rgba(2, 166, 43, 1) 0%, rgba(0, 214, 57, 1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="#02A62B", endColorstr="#00D639", GradientType=0 );
    border-radius: 0 0 10px 10px;    
    width: 16%;
    text-align: center;
    transition: all 0.3s ease 0s;
}

.hc_btn02:hover {
opacity: 0.7;
}

.hc_btn03 {
    background: #FF93D1;
    background: -webkit-linear-gradient(225deg, rgba(255, 147, 209, 1) 0%, rgba(255, 153, 115, 1) 51%, rgba(255, 97, 97, 1) 100%);
    background: -moz-linear-gradient(225deg,rgba(255, 147, 209, 1) 0%, rgba(255, 153, 115, 1) 51%, rgba(255, 97, 97, 1) 100%);
    background: linear-gradient(225deg, rgba(255, 147, 209, 1) 0%, rgba(255, 153, 115, 1) 51%, rgba(255, 97, 97, 1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="#FF93D1", endColorstr="#FF6161", GradientType=0 );
    border-radius: 0 0 10px 10px;
    width: 16%;
    text-align: center;
    transition: all 0.3s ease 0s;
}

.hc_btn03:hover {
opacity: 0.7;
}

.hc_btn02 img {
    width: 80%;
}
.hc_btn03 img {
    width: 80%;
}
.hc_btn01 img {
    width: 86%;
}
.hc_btn02 a, .hc_btn03 a {
    display: block;
    position: relative;
}


.hc_btn01 img, .hc_btn02 img, .hc_btn03 img{
    vertical-align: middle;
}

.sphc {
    line-height: 90px;
    width: 50%;
    height: 90px;
    max-width: 590px;
    right: 0;
    gap: 0px;
    display: none;
}

.sphc .hc_btn01, .sphc .hc_btn02, .sphc .hc_btn03{
    width: 33%;
    border-radius: 0;
}


#js-header.is-fixed-pc .sphc{display: flex;}
#js-header.is-fixed-pc .pchc{display: none;}




/* footer */
.l-footer {
    position: relative;
    padding: 90px 0 50px;
    background: url(../img/top/haikei_baze.jpg) right top;
    background-repeat: repeat;
    background-size: contain;
}



.f_inner_out {
    background: #133467;
    padding: 80px 0 60px;
}
.f_inner nav {
    float: unset;
    width: 100%;
    margin: 0;
}

.footer-menu .sub-menu li a:hover{opacity:0.8;
text-decoration:underline}


.footer-menu li {
    margin: 0 0 8px 0;
    position: relative;
}
.footer-menu .sub-menu li a:before {
    content: '▶';
    position: absolute;
    left: 0;
    top: 52%;
    transform: translateY(-50%);
    width: 20px;
    text-align: center;
    font-weight: 700;
    pointer-events: none;
    font-size: 50%;
    color: #9d9d9d;
}
.footer-menu li a {
    position: relative;
    display: block;
    color: #af9959;
    transition: all 0.3s ease 0s;
    font-size: 120%;
}

.footer-menu .sub-menu li a {
    position: relative;
    display: block;
    padding-left: 20px;
    color: #333;
    font-size: 90%;
}

.f_inner {
    width: 92%;
    max-width: 1200px;
    margin: 0 auto;
    position: relative;
    display: table;
}

.fc_flex {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    width: 100%;
    gap: 50px;
}
.fc_left {
    position: relative;
    width: 55%;
}
.fc_right {
    width: 45%;
    position: relative;
}
.fc_left .ggmap {
    border: solid 4px #fff;
    padding-bottom: 96%;
    border-radius: 20px;
}


.ggmap {
    position: relative;
    padding-bottom: 40%;
    padding-top: 0px;
    height: 0px;
    overflow: hidden;
}
.ggmap iframe, .ggmap object, .ggmap embed {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
}

.footer_logo {
    width: 100%;
display: flex;
align-items: center;
    gap: 10px;
    position: relative;
    margin-bottom: 20px;
}
.footer_logo img {
    width: 90px;
    vertical-align: middle;
}

.flogo span {
    font-weight: 700;
    font-size: 70%;
}

.flogo {
    font-size: 170%;
    font-weight: 700;
    text-align: center;
    color: #189cbd;
    line-height: 1.1;
}
.f_contact_flex {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    position: relative;
    margin-bottom: 25px;
}
.f_tel_txt {
    font-size: 110%;
    font-weight: 600;
    white-space: nowrap;
    line-height: 1.3;
    color: #333;
}

.fc_btn02 a {
    background: #ff7066;
}

.fc_btn01 a {
    background: #01b32f;
}
.fc_btn01 img, .fc_btn02 img {
    width: 70%;
    vertical-align: middle;
}
.fc_btn01 a, .fc_btn02 a {
    position: relative;
    display: block;
    padding: 12px 0 17px;
    text-align: center;
    border-radius: 100px;
        box-shadow: 0px 20px 20px -20px rgb(0 0 0 / 20%);
}
.fc_btn02 {
    width: 100%;
    position: relative;
        transition: all 0.3s ease 0s;
}
.fc_btn01 {
    width: 100%;
    position: relative;
        transition: all 0.3s ease 0s;
}

.fc_btn02:hover, .fc_btn01:hover{
    opacity: 0.7;
}
.fc_right .k_route span {
    background: #efefef;
}

.f_ico_nn {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 13px;
    position: relative;
}
.f_ico_nn img {
    width: 33px;
}



.address_txt {
    font-weight: 700;
    color: #333;
    margin-bottom: 14px;
}

span.col_f {
    color: #e36300;
}
span.shor_d {
    font-size: 80%;
    line-height: 1.1;
    display: block;
}
span.col_d {
    color: #e33a3a;
}

table.table_time tbody th {
    text-align: center;
    font-size: 100%;
        color: #333;
    font-weight: 700;
}
table.table_time tbody td {
    width: 10.5%;
    text-align: center;
    font-size: 95%;
    font-weight: 700;
    padding: 12px 0 5px;
    line-height: 1.4;
        color: #333;
}

table.table_time thead td {
    text-align: center;
    font-size: 105%;
    font-weight: 700;
    padding: 5px 0;
    vertical-align: middle;
        color: #333;
}
table.table_time thead th {
    font-size: 105%;
    font-weight: 700;
    vertical-align: middle;
    padding: 5px 0;
        color: #333;
}
td.sqa_ta {
    border-radius: 0 18px 0 0;
}
.add_txt {
    text-align: center;
    font-weight: 700;
    color: #333;
    margin-top: 2px;
}

.table_line {
  position: relative;
  padding: 18px 0;
}

.table_line::before,
.table_line::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 15px;
  background: url("../img/top/line.svg") repeat-x left center / 130px 5px;
}

.table_line::before {
  top: 0;
}

.table_line::after {
  bottom: 0;
}

table.table_time {
  width: 100%;
  border-collapse: collapse;
}

.fb_flex {
    position: relative;
    justify-content: center;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    margin: 40px auto 0;
    padding: 0px;
    gap: 20px;
}

.ban_btn:hover {
    opacity: 0.7;
}
.ban_btn a {
    font-weight: 700;
    color: #fff;
    position: relative;
    display: block;
    text-align: center;
    padding: 6px 0;
    font-size: 0.8vw;
}
.par01 {
    background: #ad8c3a;
}
.par02 {
    background: #aa178a;
}
.par03 {
    background: #ad3a62;
}
.par04 {
    background: #230b55;
}
.par05 {
    background: #2f250a;
}
.par06 {
    background: #139b53;
}
.par07 {
    background: #aad001;
}
.par08 {
    background: #d94f04;
}
.par09 {
    background: #085ac5;
}
.par10 {
    background: #089675;
}
.ban_btn {
    position: relative;
    transition: all 0.3s ease 0s;
    border-radius: 200px;
}

.ban_btn:before {
    position: absolute;
    content: "";
    background: linear-gradient(124deg, rgba(255, 255, 255, 0) 23%, rgba(255, 255, 255, 0.2) 10%, rgba(255, 255, 255, 0.2) 100%);
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
}


.footer_menu li span {
    position: relative;
    padding-left: 13px;
}
.footer_menu li span:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 7px;
    height: 100%;
    background: url(../img/top/suqa01.png) center no-repeat;
    background-size: contain;
    transform: translateY(-50%);
}
.footer_menu li {
    float: none;
    width: auto;
    margin: 0;
}
.footer_menu ul {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-auto-flow: column;
    grid-template-rows: repeat(5, auto);
    gap: 0 4%;
}
.footer_menu li a {
    position: relative;
    display: block;
    padding: 1px 0;
    transition: all 0.3s ease 0s;
}
.footer_menu li a:hover {
    opacity: 0.7;
}
.footer_menu li span {
    position: relative;
    padding-left: 14px;
    color: #333;
    font-size: 95%;
    font-weight: 700;
}
.footer_menu {
    margin-top: 40px;
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    width: 100%;
    gap: 50px;
}
.footer_menu_right {
    width: 67%;
}
.footer_menu_left {
    width: 33%;
}
.fcoinnner {
    background: #d1c3b3;
    padding: 5px 0;
    text-align: center;
}
.copy_txt {
    font-size: 14px;
    color: #333;
}
.fm_txt {
    font-family: cantarell, sans-serif;
    font-size: 120%;
    font-weight: 700;
    color: #976c6d;
}

/* sp_menu */
#g-nav {
    position: fixed;
    z-index: 999;
    top: 0;
    right: -100%;
    width: 100%;
    height: 100vh;
    background: rgb(251 248 193);
    transition: all 0.6s;
    margin: 0 !important;
    display: none;
}
#g-nav.panelactive{
    right: 0;
}
#g-nav.panelactive #g-nav-list{
    position: fixed;
    z-index: 999; 
    width: 100%;
    height: 100%;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}
.g-navul {
    position: relative;
    margin: 0 auto;
    justify-content: center;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
}
.g-navul li {
    list-style: none;
    position: relative;
    line-height: 2;
    border-bottom: solid 1px #bbbbbb;
}
.g-navul li span {
    position: relative;
    font-weight: 700;
    padding-left: 14px;
}

.g-navul li span::before {
    content: "";
    position: absolute;
    top: 60%;
    left: 0;
    width: 7px;
    height: 100%;
    background: url(../img/top/suqa01.png) center no-repeat;
    background-size: contain;
    transform: translateY(-50%);}

.g-navul li a {
    text-decoration: none;
    display: block;
    text-transform: uppercase;
    font-size: 105%;
    transition: all 0.3s ease 0s;
    position: relative;
    padding: 7px 0px 7px 3px;
    color: #514947;
    font-weight: 700;
}

.g-navul li a:hover:after {
        width: 100%;
    }
.g-navul li a:hover {        
	cursor: pointer;
}

.g-nav-list_block01 {
    background: #fff;
    position: relative;
    padding: 15px 5% 50px;
}

.g-nav_menu_ul {
    position: relative;
    margin: 13px auto 30px;
    justify-content: center;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px 15px;
}
.sp_txt_menu span {
    border-radius: 100px;
    font-size: 190%;
    letter-spacing: 0.05em;
    font-weight: 700;
    color: #f3ab68;
}
.g-nav-list_block02 {
    padding: 0 5%;
}
.sp_txt_menu {
    text-align: center;
    position: relative;
    top: -13px;
    line-height: 1;
    font-family: cantarell, sans-serif;
}
.g-nav_menu_ul li {
    list-style: none;
    position: relative;
    line-height: 2;
}
.g-nav_menu_ul li a {
    text-decoration: none;
    display: block;
    text-transform: uppercase;
    font-size: 105%;
    transition: all 0.3s ease 0s;
    position: relative;
    padding: 10px 0px 10px 15px;
    color: #514947;
    font-weight: 700;
    background: #fff;
    border-radius: 100px;
}
.g-nav_menu_ul li span {
    position: relative;
    font-weight: 700;
    padding-left: 14px;
}
.g-nav_menu_ul li span::before {
    content: "";
    position: absolute;
    top: 60%;
    left: 0;
    width: 7px;
    height: 100%;
    background: url(../img/top/suqa01.png) center no-repeat;
    background-size: contain;
    transform: translateY(-50%);
}
.col_li a {
    background: #d1edff !important;
}

.g-nav-list_block03 {
    background: #fff;
    position: relative;
    padding: 15px 5% 100px;
}
.spmenu_sns {
    display: flex;
    align-items: center;
    gap: 20px;
    width: 30%;
    margin: 20px auto 10px;
        max-width: 100px;
}
#g-nav .ban_btn {
    max-width: 210px;
    margin: 15px auto 0;
}
#g-nav .ban_btn a {
    line-height: normal;
    font-size: 16px;
    padding: 8px 0;
}
.sp_menu_infotxt {
    line-height: 1.6;
    text-align: center;
    margin-bottom: 10px;
    font-size: 15px;
}
.spmenu_sns_ico a {
    display: block;
    position: relative;
}
.spmenu_sns_ico {
    flex: 1;
    min-width: 0;
}
.spmenu_sns_ico img {
    display: block;
    width: 100%;
    height: auto;
    margin: 0 auto;
}
.spgnav_logo {
    width: 63%;
    margin: 0 0 20px;
}


/***ハンバーガー―メニュー***/
.openbtn {
    position: fixed;
    z-index: 9999;
    top: 8px;
    right: 8px;
    cursor: pointer;
    width: 70px;
    height: 70px;
    transition: all 0.4s ease;
    display: none;
    background: #fff;
    border-radius: 100px;
    box-shadow: 0px 2px 6px #dadada;
}
.openbtn_line {
    width: 40%;
    float: right;
    position: relative;
}
.openbtn_txt {
    width: 60%;
    float: left;
    position: relative;
}
.openbtn span {
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 0;
    height: 2px;
    border-radius: 2px;
    background-color: #2E261C;
    width: 50px;
    right: 0;
    left: 25px;
}

span.gm_spa {
    background: unset;
    color: #fff;
    font-size: 13px;
    letter-spacing: 1px;
    top: 69px;
    line-height: 1;
    left: 0;
    right: 0;
    margin: 0 auto;
    color: #2E261C;
    font-weight: 600;
}
.openbtn.active {
    position: fixed;
}

.openbtn span:nth-of-type(1) {
	top:18px;	
}

.openbtn span:nth-of-type(2) {
top: 35px;
    width: 40px;
}

.openbtn span:nth-of-type(3) {
    top: 52px;
    width: 30px;
}

.openbtn.active span:nth-of-type(1) {
    transform: translateY(15px) rotate(-35deg);
}

.openbtn.active span:nth-of-type(2) {
	opacity: 0;
}

.openbtn.active span:nth-of-type(3) {
    transform: translateY(-15px) rotate(35deg);
    top: 50px;
    width: 50px;
}
.openbtn.active span.gm_spa {
    transform: unset;
}

@media only screen and (max-width: 1200px) {
.openbtn span {
    width: 36px;
    right: 0;
    left: 18px;
}
span.gm_spa {
font-size: 10px;
        top: 49px;
    left: 0;
}
.openbtn span:nth-of-type(1) {
    top: 20px;
}
	.openbtn span:nth-of-type(2){
    top: 30px;
    width: 30px;
	}
	.openbtn span:nth-of-type(3){
    top: 40px;
    width: 24px;
	}
    .openbtn.active span:nth-of-type(3) {
        top: 46px;
        width: 36px;
        left: 18px;
    }
.openbtn.active span:nth-of-type(1) {
    transform: translateY(15px) rotate(-35deg);
    top: 16px;
    left: 17px;
}
}




.gnav_logotxt {
    width: 70%;
    margin: 0 auto 20px;
    max-width: 320px;
    line-height: 1;
}
.g_txt {
    font-size: 95%;
    color: #333;
    line-height: 1.6;
    margin-bottom: 20px;
    text-align: center;
    width: 80%;
    margin: 0 auto 18px;
}
span.sggt:hover {
    opacity: 0.7;
}
span.sggt {
    color: #333;
    border: solid 1px #333;
    padding: 2px 12px 7px;
    font-size: 90%;
    transition: all 0.3s ease 0s;
}
.g_txt a {
    position: relative;
}
span.short {
    font-size: 95%;
    margin-right: 10px;
}
.g_txt01 span {
    font-family: "Jost", sans-serif;
}

.g_txt01 {
    width: 80%;
    margin: 0 auto 7px;
    line-height: normal;
    color: #fff;
}
.icoul02 li img {
    width: 24px;
    height: auto;
    vertical-align: middle;
}
.icoul02 li {
    width: 16%;
    margin: 0 2%;
    float: left;
    line-height: normal;
    text-align: center;
}
.icoul02 {
    width: 80%;
    display: table;
    position: relative;
    margin: 0 auto;
    padding: 20px 0;
    border-top: solid 1px #fff;
    border-bottom: solid 1px #fff;
}


.gnav_logo {
    margin: 0 auto 18px;
}
.gnav_tel a {
    display: block;
    position: relative;
}

.gnav_tel img {
	width: 50%;
}
.gnav_tel {
    width: 80%;
    margin: 13px auto 20px;
    line-height: normal;
}


#overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;

    background: rgba(0,0,0,0.5);

    opacity: 0;
    visibility: hidden;
    transition: 0.3s;

    z-index: 999;
}

#overlay.active {
    opacity: 1;
    visibility: visible;
}

/********* fadeUp *************************************/
.delay-time{
	opacity: 0;
}
.delay-time02{
animation-delay: 0.2s;
}

.delay-time04{
animation-delay: 0.4s;
}

.fadeUp{
animation-name:fadeUpAnime;
animation-duration:2s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeUpAnime{
  from {
    opacity: 0;
  transform: translateY(50px);
  }

  to {
    opacity: 1;
  transform: translateY(0);
  }
}


/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
 
.fadeUpTrigger{
    opacity: 0;
}



/* scrolldown */
.scrolldown2 {
    position: absolute;
    left: 50%;
    z-index: 2;
    bottom: 30px;
}
.scrolldown2 span{
	position: absolute;
	left:10px;
	bottom:25px;
	color: #222;
	font-size: 95%;
	letter-spacing: 0.05em;
	-ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
	line-height:1;
}
.scrolldown2:before {
    content: "";
    position: absolute;
    bottom: 0;
    left: -4px;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #222;
    animation: circlemove 1.6s ease-in-out infinite, cirlemovehide 1.6s ease-out infinite;
}
@keyframes circlemove{
      0%{bottom:75px;}
     100%{bottom:-5px;}
 }
@keyframes cirlemovehide{
      0%{opacity:0}
     50%{opacity:1;}
    80%{opacity:0.9;}
	100%{opacity:0;}
 }
.scrolldown2:after{
	content:"";
	position: absolute;
	bottom:0;
	left:0;
	width:1px;
	height: 80px;
	background:#222;
}



.t_ttl01, span.flex_ttl, .t_ttl02, .wh_ttl, .wh_txt01, .t_ttl03, .old_ttl, .num_old, .t_ttl04, .gr_ttl, .sns_txt, .sns_sub_btn01{font-family: fot-tsukuardgothic-std, sans-serif;}

.en_ttl, .en_ttl01, .gr_en, .t_ttl05 span, .k_en_txt{font-family: cantarell, sans-serif;}


/*****top*****/


.mv {
    width: 100%;
    aspect-ratio: 16 / 8.5;
    margin: 0 auto;
    background: url(../img/top/top_01.webp) no-repeat center / cover;
    clip-path: shape(from 0% 0%, line to 100% 0%, line to 100% 100%, curve to 0% 100% with 70% 84% / 30% 84%, close);
}




.mv:after {
    position: absolute;
    content: "";
    width: 100%;
    height: 50%;
    background: #ffffff;
    background: -webkit-linear-gradient(0deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100%);
    background: -moz-linear-gradient(0deg,rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100%);
    background: linear-gradient(0deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="#FFFFFF", endColorstr="#FFFFFF", GradientType=0 );
    top: 0;
    left: 0;
    z-index: 2;
}
.mv:before {
    position: absolute;
    content: "";
    background: #6581C0;
    opacity: 0.12;
    width: 100%;
    height: 100%;
    z-index: 1;
}
.mv_catch h1 span {
    font-weight: 700;
    color: #ffe400;
}
.mv_catch h1 {
    font-size: 290%;
    font-weight: 700;
    color: #fff;
    line-height: 1.7;
    text-align: center;
    filter: drop-shadow(0px 0px 10px rgba(34, 34, 34, 0.4)) drop-shadow(0px 0px 10px rgba(34, 34, 34, 0.4)) drop-shadow(0px 0px 10px rgba(34, 34, 34, 0.4)) drop-shadow(0px 0px 10px rgba(34, 34, 34, 0.4));
}
.mv_catch {
    position: absolute;
    top: 48%;
    z-index: 10;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 90%;
}


.sec_01 {
    position: relative;
    padding: 70px 0;
}
.home .l-main {
    overflow: hidden;
}

.t_ttl01 {
    font-size: 250%;
    text-align: center;
    font-weight: 700;
    margin-bottom: 50px;
}
.en_ttl {
    font-size: 160%;
    text-align: center;
    line-height: 1.5;
    letter-spacing: 0.11em;
    margin-bottom: 7px !important;
}
span.col01{color:#EFA6A6;font-weight: 700;}
span.col02{color:#8AE178;font-weight: 700;}
span.col03{color:#FFAE5E;font-weight: 700;}

span.spa01 {
    color: #58c17f;
    font-weight: 700;
}

span.spa02 {
    color: #ff9118;
    font-weight: 700;
}
.t_ttl01 {
    font-size: 280%;
    text-align: center;
    font-weight: 700;
    margin-bottom: 50px;
    line-height: 1.6;
}
.txt01 {
    font-size: 100%;
    font-weight: 600;
}
.centxt {
    text-align: center;
}
.t_flex_box {
    position: relative;
    margin: 60px 0px 0px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}
.t_flex_con {
    position: relative;
text-align: center;
    transition: all 0.3s ease 0s;
}
.conf01:before {
    position: absolute;
    content: "";
    background: #D67FB6;
    opacity: 0.8;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    transition: all 0.3s ease 0s;
}

.conf01 {
    background: url(../img/top/t_img01.webp) center no-repeat;
    background-size: cover;
}

.conf02:before {
    position: absolute;
    content: "";
    background: #8298D3;
    opacity: 0.8;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    transition: all 0.3s ease 0s;
}

.conf02 {
    background: url(../img/top/t_img02.webp) center no-repeat;
    background-size: cover;
}
.conf03:before {
    position: absolute;
    content: "";
    background: #F5CC6C;
    opacity: 0.8;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    transition: all 0.3s ease 0s;
}
.t_flex_con a {
    position: relative;
    display: block;
	padding: 12% 5% 7%;
}
.conf03 {
    background: url(../img/top/t_img03.webp) center no-repeat;
    background-size: cover;
}

span.flex_ttl {
    display: block;
    font-size: 240%;
    margin-bottom: 33px;
    font-weight: 700;
    color: #fff;
    line-height: 1;
}
span.flex_txt {
    display: block;
    color: #fff;
}
span.flex_btn {
    display: inline-block;
    color: #fff;
    font-weight: 500;
    position: relative;
    margin-top: 15px;
}
span.flex_btn:before {
    background: url(../img/top/suqa.webp) center no-repeat;
    background-size: contain;
    position: absolute;
    content: "";
    width: 10px;
    height: 100%;
    right: -20px;
}

.conf01:hover:before {
    background: #b74a8f;
}
.conf02:hover:before {
    background: #5071CB;
}
.conf03:hover:before {
    background:#EEB123;
}

/**sec_02*****/

.inner {
    position: relative;
    width: 90%;
    max-width: 1300px;
    margin: 0 auto;
}
.fea_block {
    width: 100%;
    display: table;
    position: relative;
    margin: 0 auto 30px;
}
.feaimg img {
    aspect-ratio: 1;
    border-radius: 50%;
}

.fea_right_img {
    float: right;
    position: relative;
    margin-left: 5%;
}
.fea_left_txt {
    float: left;
    position: relative;
}
.wide65 {
    width: 65%;
}
.wide45 {
    width: 30%;
}
.wide55 {
    width: 55%;
}
.wide60 {
    width: 60%;
}
.wide50 {
    width: 40%;
}
.fea_in {
    width: 100%;
    float: right;
    position: relative;
}
.t_ttl02 {
    font-size: 250%;
    font-weight: 700;
    margin-bottom: 20px;
    line-height: 1.3em;
    color: #3C2A2A;
}
.t_ttl02 span {
    font-weight: 700;
    color: #4cb151;
}
.en_ttl01 {
    font-size: 210%;
    margin-bottom: 9px;
    line-height: 1;
    letter-spacing: 0.05em;
}

span.numspa {
    color: #d78282;
    font-size: 180%;
    margin-left: 11px;
    font-family: futura-pt, sans-serif;
}
.fea_left_img {
    width: 36%;
    margin-right: 4%;
    float: left;
    position: relative;
}
.wideshort {
    width: 90%;
}

.feaimg_flex img {
    aspect-ratio: 1;
    border-radius: 50%;
}
.feaimg_flex {
    float: right;
    width: 33%;
    margin: -10% 0 15px 2%;
}
.fea_block_flex {
    position: relative;
    width: 90%;
    margin: 90px auto 0;
}
.fea_in01 {
    width: 100%;
    margin: 0 auto;
}
.ill_img01 {
    position: absolute;
    bottom: 4%;
    right: 0;
    width: 31%;
}
.ill_img02 {
    width: 30%;
    position: absolute;
    bottom: -1%;
    left: 6%;
}


/*** 背景グラデーション ***/

.enhaikei,
.mv_image,
.sec_02 {
  position: relative;
  z-index: 0;
}


.enhaikei::before,
.mv_image::before,
.sec_01::before,
.sec_02::before {
  content: "";
  position: absolute;
  aspect-ratio: 1;
  border-radius: 45% 55% 60% 40% / 50% 45% 55% 50%;
  background-size: 180% 180%, 160% 160%, 220% 220%;
  animation: waterBlob 9s ease-in-out infinite alternate;
  will-change: transform, border-radius, background-position;
  z-index: -1;
}



.mv_image::before {
    width: min(30vw, 500px);
    bottom: -28%;
    left: -5%;
    opacity: .85;
    background: radial-gradient(circle at 30% 30%, rgba(255, 255, 255, .45), transparent 28%), radial-gradient(circle at 70% 65%, rgba(239, 192, 240, .5), transparent 35%), linear-gradient(135deg, #b9f1e6, #fff2c4, #efc0f0);
}



.sec_01::before {
    width: min(30vw, 250px);
    right: 6%;
    bottom: 9%;
    opacity: .6;
    animation-duration: 11s;
    animation-direction: alternate-reverse;
    background: radial-gradient(circle at 26% 26%, rgba(255, 255, 255, .6), transparent 30%), radial-gradient(circle at 72% 66%, rgba(150, 220, 245, .38), transparent 36%), radial-gradient(circle at 42% 78%, rgba(170, 230, 155, .38), transparent 35%), linear-gradient(45deg, #ffd39a 0%, #ffe49a 24%, #aeeaf5 50%, #aee7ad 74%, #a8dff2 100%);
}


.enhaikei::before {
  width: 44vw;
  top: 5%;
  left: 5%;
  background:
    radial-gradient(circle at 30% 30%, rgba(255, 255, 255, .45), transparent 28%),
    radial-gradient(circle at 70% 65%, rgba(245, 209, 239, .55), transparent 35%),
    linear-gradient(135deg, #c8f3ea 0%, #eef3d5 30%, #fff3c9 60%, #f5d1ef 100%);
}

.sec_02::before {
  width: min(40vw, 600px);
  right: -6%;
  bottom: 1%;
  opacity: .85;
  animation-duration: 10s;
  background:
    radial-gradient(circle at 30% 30%, rgba(255, 255, 255, .45), transparent 28%),
    radial-gradient(circle at 70% 65%, rgba(245, 205, 245, .5), transparent 35%),
    linear-gradient(321deg, #c5f8ea 0%, #edf4d2 38%, #ffe7b7 68%, #f5cdf5 100%);
}

@keyframes waterBlob {
  0% {
    border-radius: 45% 55% 60% 40% / 50% 45% 55% 50%;
    background-position: 0% 0%, 100% 100%, 0% 50%;
    transform: translate(0, 0) scale(1);
  }
  50% {
    border-radius: 58% 42% 45% 55% / 45% 60% 40% 55%;
    background-position: 80% 40%, 20% 70%, 100% 50%;
    transform: translate(1vw, -1vw) scale(1.04);
  }
  100% {
    border-radius: 40% 60% 52% 48% / 58% 42% 55% 45%;
    background-position: 30% 90%, 70% 20%, 40% 100%;
    transform: translate(-1vw, 1vw) scale(1.02);
  }
}

/******ここまで****/

.sec_02 {
    padding: 70px 0 170px;
    background: url(../img/top/haikei_baze.jpg) right top;
        background-repeat: repeat;
    background-size: contain;
}


.sec_slider {
    position: relative;
    margin: -100px auto 100px;
}

/**sec_03*/
.sec_03 {
    position: relative;
    margin-top: 100px;
}


/*sec_slider**/
.slider {
  overflow: hidden;
}

.slider img {
  width: 100%;
  height: auto;
  display: block;
      border-radius: 20px;
}

.slider .slick-slide {
  margin: 0 4px;
}

/**sec_04*/
.sec_04 {
    position: relative;
    background: rgb(235 123 110 / 70%);
    padding: 1px 0;
}
.sec_04:before {
    position: absolute;
    content: "";
    background: url(../img/top/haikei01.webp) left center no-repeat;
    background-size: 50% auto;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: -1;
}
.sec_04:after {
    position: absolute;
    content: "";
    background: url(../img/top/haikei01_left.webp) right top no-repeat;
    background-size: 30% auto;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: -1;
}

.pick_con_inner {
    width: 54%;
    margin: 50px 0 50px auto;
    position: relative;
}
.pick_con_ttl {
    margin-left: 14%;
    margin-bottom: 15px;
}
.inner {
    position: relative;
    margin: 0 auto;
    width: 90%;
    max-width: 1400px;
}
.pick_bl {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 6%;
  position: relative;
  margin-bottom: 25px;
}
.pick_bl_left {
  width: 14%;
  position: relative;
  flex-shrink: 0;
}
.pick_bl_right {
  position: relative;
  flex: 1;
}
.wh_txt01 {
    font-size: 140%;
    font-weight: 600;
    letter-spacing: 0.1em;
    line-height: 1.5;
        color: #fff;
        filter: drop-shadow(0px 0px 10px rgba(34, 34, 34, 0.4));
}
.wh_ttl {
    font-size: 300%;
    line-height: 1.5;
    font-weight: 700;
        color: #fff;
        filter: drop-shadow(0px 0px 10px rgba(34, 34, 34, 0.4));
}
.wh_txt {
    margin-bottom: 5px;
    color: #fff;
    font-weight: 700;
    filter: drop-shadow(0px 0px 10px rgba(34, 34, 34, 0.4));
}
.wh_ttl span {
    font-size: 50%;
    font-weight: 700;
    letter-spacing: 0;
}
.btn_flex {
    display: flex;
        gap: 20px;
}
.btn_02 {
    margin: 0 0 0 auto;
    width: 90%;
    max-width: 260px;
}
.btn_02 a span {
    position: relative;
    z-index: 1;
    font-weight: 600;
}
.btn_02 a {
    position: relative;
    display: block;
    text-align: center;
    font-size: 100%;
    color: #fff;
    padding: 10px 0;
    border-radius: 100px;
      overflow: hidden;
          transition: all 0.3s ease 0s;
}
.btn_02 a span:before {
    content: "";
    position: absolute;
    top: 50%;
    right: -30px;
    width: 10px;
    height: 100%;
    background: url(../img/top/suqa.webp) center no-repeat;
    background-size: contain;
    transform: translateY(-50%);
}

.colbtn01 a {
    background: #ffffff;
    color: #3C2A2A;
}

.colbtn01 a:hover {
    background: #bb8d22;
}
.colbtn02 a {
background: #D1C5C5;
background: -webkit-linear-gradient(90deg,rgba(209, 197, 197, 1) 0%, rgba(119, 100, 100, 1) 100%);
background: -moz-linear-gradient(90deg,rgba(209, 197, 197, 1) 0%, rgba(119, 100, 100, 1) 100%);
background: linear-gradient(90deg,rgba(209, 197, 197, 1) 0%, rgba(119, 100, 100, 1) 100%);
filter: progid:DXImageTransform.Microsoft.gradient(
  startColorstr="#D1C5C5",
  endColorstr="#776464",
  GradientType=0
);
}


.colbtn02 a::before {
  content: "";
  position: absolute;
  inset: 0;
background: #776464;
background: -webkit-linear-gradient(90deg,rgba(119, 100, 100, 1) 0%, rgba(209, 197, 197, 1) 100%);
background: -moz-linear-gradient(90deg,rgba(119, 100, 100, 1) 0%, rgba(209, 197, 197, 1) 100%);
background: linear-gradient(90deg,rgba(119, 100, 100, 1) 0%, rgba(209, 197, 197, 1) 100%);
filter: progid:DXImageTransform.Microsoft.gradient(
  startColorstr="#776464",
  endColorstr="#D1C5C5",
  GradientType=0
);
  opacity: 0;
  z-index: 0;
  border-radius: inherit;
  transition: opacity .7s;
}

.colbtn02 a:hover::before {
  opacity: 1;
}

.btn_03 {
    margin: 0 auto;
    width: 90%;
    max-width: 260px;
}

.btn_03 a span {
    position: relative;
    z-index: 1;
    letter-spacing: 0.15em;
}
.btn_03 a {
    position: relative;
    display: block;
    text-align: center;
    font-size: 100%;
    color: #3C2A2A;
    background: #fff;
    padding: 10px 0;
    border-radius: 100px;
      overflow: hidden;
}
.btn_03 a span:before {
    content: "";
    position: absolute;
    top: 50%;
    right: -30px;
    width: 10px;
    height: 100%;
    background: url(../img/top/suqa01.png) center no-repeat;
    background-size: contain;
    transform: translateY(-50%);
}

.btn_03 a::before {
  content: "";
  position: absolute;
  inset: 0;
background: #94a9e3;
background: -webkit-linear-gradient(90deg,rgba(148, 169, 227, 1) 0%, rgba(225, 231, 247, 1) 100%);
background: -moz-linear-gradient(90deg,rgba(148, 169, 227, 1) 0%, rgba(225, 231, 247, 1) 100%);
background: linear-gradient(90deg,rgba(148, 169, 227, 1) 0%, rgba(225, 231, 247, 1) 100%);
filter: progid:DXImageTransform.Microsoft.gradient(
  startColorstr="#94A9E3",
  endColorstr="#E1E7F7",
  GradientType=1
);
  opacity: 0;
  z-index: 0;
  border-radius: inherit;
  transition: opacity .7s;
}
.btn_03 a:hover::before {
  opacity: 1;
}


.colbtn04 a {
    background: #ff75c1;
    background: -webkit-linear-gradient(90deg, rgba(255, 117, 193, 1) 0%, rgba(251, 55, 55, 1) 100%);
    background: -moz-linear-gradient(90deg,rgba(255, 117, 193, 1) 0%, rgba(251, 55, 55, 1) 100%);
    background: linear-gradient(90deg, rgba(255, 117, 193, 1) 0%, rgba(251, 55, 55, 1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="#FF75C1", endColorstr="#FB3737", GradientType=1 );
}

.colbtn04 a::before {
  content: "";
  position: absolute;
  inset: 0;
background: #FB3737;
background: -webkit-linear-gradient(90deg,rgba(251, 55, 55, 1) 0%, rgba(255, 117, 193, 1) 100%);
background: -moz-linear-gradient(90deg,rgba(251, 55, 55, 1) 0%, rgba(255, 117, 193, 1) 100%);
background: linear-gradient(90deg,rgba(251, 55, 55, 1) 0%, rgba(255, 117, 193, 1) 100%);
filter: progid:DXImageTransform.Microsoft.gradient(
  startColorstr="#FB3737",
  endColorstr="#FF75C1",
  GradientType=1
);
  opacity: 0;
  z-index: 0;
  border-radius: inherit;
  transition: opacity .7s;
}
.colbtn04 a:hover::before {
  opacity: 1;
}

.colbtn_b {
    margin: 30px 0 0 0;
}
.colbtn_b a {
    background: #493737;
    transition: all 0.3s ease 0s;
}
.colbtn_b a:hover {
    background: #816c6c;
}





/**sec_05*/
.sec_05 {
    position: relative;
    background: rgb(92 135 201 / 60%);
    padding: 1px 0;
}
.sec_05:before {
    position: absolute;
    content: "";
    background: url(../img/top/haikei02.webp) left center no-repeat;
    background-size: 50% auto;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: -1;
}
.sec_05:after {
    position: absolute;
    content: "";
    background: url(../img/top/haikei02_left.webp) right top no-repeat;
    background-size: 30% auto;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: -1;
}



/**sec_06*/
.sec_06 {
    position: relative;
background: #FFAAE8;
background: -webkit-linear-gradient(135deg,rgba(255, 170, 232, 0.33) 0%, rgba(255, 182, 36, 1) 100%);
background: -moz-linear-gradient(135deg,rgba(255, 170, 232, 0.33) 0%, rgba(255, 182, 36, 1) 100%);
background: linear-gradient(135deg,rgba(255, 170, 232, 0.33) 0%, rgba(255, 182, 36, 1) 100%);
filter: progid:DXImageTransform.Microsoft.gradient(
  startColorstr="#FFAAE8",
  endColorstr="#FFB624",
  GradientType=0
);
    padding: 1px 0;
}
.sec_06:before {
    position: absolute;
    content: "";
    background: url(../img/top/haikei03.webp) left center no-repeat;
    background-size: 44% auto;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: -1;
}

.sec_06:after {
    position: absolute;
    content: "";
    background: url(../img/top/haikei03_left.webp) right top no-repeat;
    background-size: 30% auto;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: -1;
}


.sec_03 .inner {
    max-width: 1500px;
}


.w_inner {
    width: 90%;
    margin: 0 auto;
    position: relative;
}

.old_contents {
    position: relative;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    margin: 60px auto 0;
    gap: 60px;
}
.old_contents:before {
    position: absolute;
    content: "";
    border-top: dotted 7px #d1d1d1;
    top: 24px;
    width: 100%;
}

.old_txt {
    font-size: 95%;
    line-height: 1.7;
    width: 90%;
    margin: 0 auto;
    color: #231815;
}

.old_flex a {
    position: relative;
    display: block;
    padding-bottom: 50px;
}

.old_flex {
    position: relative;
    transition: all 0.3s ease 0s;
}

.old_btn {
    width: 60px;
    margin: 20px auto 0;
    position: relative;
    display: block;
    text-align: center;
    padding: 13px 0;
    border-radius: 100px;
}
.bt01 {
    background: #3f4973;
}
.bt02 {
    background: #eb8dbd;
}
.bt03 {
    background: #83c58f;
}
.bt04 {
    background: #ffe000;
}
.bt05 {
    background: #8068fb;
}

.old_btn img {
    position: relative;
    display: block;
    height: 10px;
    width: auto;
    text-align: center;
    margin: 0 auto;
    line-height: 10px;
}

.num_old span {
    font-weight: bold;
    font-size: 160%;
    letter-spacing: -2px;
    margin: 0 4px;
    line-height: 1;
}
.num_old {
    text-align: center;
    font-weight: 600;
    color: #225f8d;
    position: absolute;
    background: rgb(255 248 186 / 95%);
    padding: 8px;
    font-size: 90%;
    line-height: 1.3;
    border-radius: 8px;
    top: -5%;
    left: -3%;
}

.old_ttl {
    font-size: 135%;
    text-align: center;
    line-height: 1.4;
    margin-bottom: 12px;
    font-weight: bold;
    color: #693b3b;
}
.old_flex:before{
    content: "";
    position: absolute;
    width: 130%;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    bottom: 0;
    right: 0;
    left: -15%;
    z-index: 0;
    margin: 0 auto;
    transition: all 0.3s ease 0s;
}
.old01:hover:before {
    background: #f2fbff;
}
.old01:before {
    border: 1px solid #afe3ff;
}

.old02:hover:before {
    background: #fff1f8;
}

.old02:before {
    border: 1px solid #ffaed5;
}

.old03:hover:before {
    background: #edffef;
}

.old03:before {
    border: 1px solid #66bd75;
}

.old04:hover:before {
    background: #fffada;
}
.old04:before {
    border: 1px solid #ffe000;
}

.old05:hover:before {
    background: #f4f2ff;
}
.old05:before {
    border: 1px solid #b6a8ff;
}

.old_image img {
    border-radius: 16px;
}
.old_image {
    position: relative;
    margin-bottom: 10px;
}

.t_ttl03 span {
    font-weight: 700;
    color: #91c976;
}
.t_ttl03 {
    font-size: 240%;
    text-align: center;
    font-weight: 700;
    margin-bottom: 25px;
    color: #816363;
}
.pick_img {
    position: absolute;
    width: 12%;
    top: -15px;
    left: 2%;
}
.sec_07 {
    position: relative;
    padding: 100px 0 70px;
}

.ch_txt span {
    position: relative;
    color: #E47272;
    padding: 0 30px;
}

.ch_txt {
    font-family: ab-kirigirisu, sans-serif;
    font-size: 180%;
    letter-spacing: -2px;
    text-align: center;
    margin-bottom: 20px;
}

.ch_txt span:before {
    transform: rotate(-20deg);
    left: 0;
}
.ch_txt span:after {
    transform: rotate(20deg);
    right: 0;
}
.ch_txt span:before, .ch_txt span:after {
    position: absolute;
    content: "";
    border-left: solid 1px #ff9c9c;
    height: 140%;
    bottom: -20%;
}

.sec_08 {
    position: relative;
    margin-bottom: 130px;
}


.first_inner {
    background: #e8f2f3;
    position: relative;
    padding: 45px 4% 35px;
    margin: 70px auto;
    border-radius: 20px;
    box-shadow: 0px 80px 80px -80px rgb(0 0 0 / 20%);
}


.flex_war {
    position: relative;
    display: flex;
    justify-content: space-between;
    width: 100%;
    gap: 70px;
     align-items: stretch;
}
.fw_contents {
    flex: 1;
    background: #f8f7f6;
    border-radius: 27px;
    padding: 35px 3% 18px;
    transition: all 0.3s ease 0s;
    position: relative;
    box-shadow: 0px 80px 80px -80px rgb(0 0 0 / 20%);
}
.fw_contents:hover {
    background: #EAE6E4;
}

.fw_sub {
    text-align: center;
    font-weight: 700;
    font-size: 105%;
    letter-spacing: 0.1em;
}
.fw_sub span {
    font-weight: 700;
    color: #5FA8C2;
}
.fw_ttl {
    font-size: 160%;
    font-weight: 700;
    text-align: center;
    margin: 5px auto 20px;
}
.fw_flex {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    width: 100%;
}

.fw_flex_right {
    width: 58%;
}
.fw_flex_left {
    width: 38%;
}
.txt02 {
    font-size: 90%;
    line-height: 1.8;
}
.fw_contents a {
    color: #231815;
    position: relative;
    display: block;
}
.fw_btn {
    width: 50px;
    margin: 16px 0 0 auto;
    position: relative;
    display: block;
    text-align: center;
    padding: 7px 0;
    border-radius: 100px;
    background: #7d6f6f;
}
.fw_btn img {
    position: relative;
    display: block;
    height: 10px;
    width: auto;
    text-align: center;
    margin: 0 auto;
    line-height: 10px;
}

.t_ttl04 {
    position: relative;
    text-align: center;
    font-size: 200%;
    margin-bottom: 21px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  width: 100%;
}

.t_ttl04::before,
.t_ttl04::after {
  content: "";
  display: block;
  width: clamp(60px, 18vw, 180px);
  height: 24px;
  background: url("../img/top/line.svg") no-repeat center / contain;
  flex-shrink: 1;
      opacity: 0.5;
}

.t_ttl04 span img{
    width: 26px;
    height: 100%;
}

.fw_flex_left img {
    border-radius: 10px !important;
}

.t_ttl04 span {
    font-weight: 700;
    position: relative;
    color: #67a561;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 11px;
}

.btn_flex01 {
    position: relative;
    margin: 40px auto 0;
    justify-content: center;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
        gap: 28px;
}

.link_block01, .link_block02, .link_block03{
    position: relative;
}

.link_block01 a {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 28px 2%;
    background: #ffa4a4;
    border-radius: 22px;
        transition: all 0.3s ease 0s;
}
.link_block02 a {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 28px 2%;
    background: #f7c11a;
    border-radius: 22px;
        transition: all 0.3s ease 0s;
}
.link_block03 a {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 28px 2%;
    background: #87c7cd;
    border-radius: 22px;
        transition: all 0.3s ease 0s;
}

.l_img01 img, .l_img02 img, .l_img03 img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: relative;
}
.l_img01 {
    width: 40%;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    border-radius: 38% 62% 45% 55% / 48% 42% 58% 52%;
}
.l_img02 {
    width: 40%;
    aspect-ratio: 4 / 3;
    overflow: hidden;
border-radius: 58% 42% 60% 40% / 42% 55% 45% 58%;
}

.l_img03 {
    width: 40%;
    aspect-ratio: 4 / 3;
    overflow: hidden;
border-radius: 46% 54% 35% 65% / 60% 38% 62% 40%;
}

.link_txt_block {
    width: 58%;
    text-align: center;
    padding-top: 10px;
}
.l_ttl {
    font-weight: 700;
    color: #fff;
    line-height: 1.6;
    margin-bottom: 3px;
    font-size: 105%;
}
.l_txt {
    font-size: 190%;
    font-family: fot-tsukuardgothic-std, sans-serif;
    font-weight: 700;
    color: #fff559;
        line-height: 1.6;
}
.whtxt {
    color: #fff !important;
}
.btn_04 span {
    font-weight: 600;
    font-size: 90%;
    position: relative;
    color: #231815;
}
.btn_04 {
    position: relative;
    width: 90%;
    max-width: 170px;
    margin: 15px auto 0;
    background: #fff;
    border-radius: 100px;
    padding: 2px 0;
}
.btn_04 span:before {
    content: "";
    position: absolute;
    top: 50%;
    right: -30px;
    width: 10px;
    height: 100%;
    background: url(../img/top/suqa01.png) center no-repeat;
    background-size: contain;
    transform: translateY(-50%);
}
.link_block01 a:hover {
    background: #ff8787;
}
.link_block02 a:hover {
    background: #ffa13d;
}
.link_block03 a:hover {
    background: #45c3ce;
}
.link_block01 a:before, .link_block02 a:before, .link_block03 a:before {
    position: absolute;
    content: "";
    background: linear-gradient(124deg, rgba(255, 255, 255, 0) 35%, rgba(255, 255, 255, 0.2) 10%, rgba(255, 255, 255, 0.2) 100%);
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
}

.sec_09:after {
    position: absolute;
    content: "";
    background: url(../img/top/haikei04s.webp) left bottom no-repeat;
    background-size: 50% auto;
    width: 100%;
    height: 100%;
    bottom: 0;
    left: 0;
    z-index: -1;
}

.sec_09 {
    position: relative;
}

.sec_09 {
    position: relative;
    background: rgb(252 250 239 / 80%);
    padding: 70px 0;
}
.gree_flex {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    width: 100%;
}
.gree_flex_right {
    position: relative;
    width: 30%;
}
.gree_flex_right img{border-radius: 20px;}

.gree_flex_left {
    position: relative;
    width: 65%;
}

.gr_txt {
    margin-bottom: 15px;
    font-weight: 600;
    line-height: 2em;
}

.gr_en {
    font-size: 160%;
    position: relative;
    color: #64bb78;
    line-height: 1;
    font-weight: 700;
    letter-spacing: 0.05em;
    margin: 0px 0 10px;
}
.gr_ttl {
    position: relative;
    z-index: 1;
    font-size: 210%;
    line-height: 1.6;
    margin: 0px 0 30px;
    font-weight: 600;
}
.name_txt span {
    font-size: 140%;
    margin-left: 15px;
    font-weight: 600;
}
.name_txt {
    text-align: right;
    margin-top: 25px !important;
    line-height: 1.6;
}

.colbtn_g {
    margin: 30px 0 0 auto;
}

.colbtn_g a {
    background: #83c58f;
}
.colbtn_g a:hover {
    background: #52af63;
}

.c_inner {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
    position: relative;
}

.banner_flex {
    display: flex;
    align-items: center;
    gap: 60px;
}

.pc {
    display: block;
}
.sp {
    display: none;
}

.ban_img img {
    border-radius: 20px;
}

.ban_img:hover {
    opacity: 0.7;
}
.ban_img {
    transition: all 0.3s ease 0s;
    box-shadow: 0px 80px 80px -80px rgb(0 0 0 / 20%);
    margin: 0;
}

.sec_10 {
    position: relative;
    margin: 70px auto;
}



.insta_bock {
    margin-top: 60px;
    background: #B1E8DF;
    border-radius: 40px 40px 0 0;
    position: relative;
    padding: 70px 0 44px;
}

.insta_bock:before {
    position: absolute;
    content: "";
    background: url(../img/top/accent02.svg) center no-repeat;
    width: 12%;
    height: 20%;
    top: 4%;
    left: 6%;
    background-size: contain;
    opacity: 0.7;
}
.insta_bock:after {
    position: absolute;
    content: "";
    background: url(../img/top/accent01.svg) center no-repeat;
    width: 15%;
    height: 26%;
    top: 5%;
    right: 1%;
    background-size: contain;
    opacity: 0.7;
}
.sns_flex {
    position: relative;
    display: flex;
    justify-content: space-between;
    width: 90%;
    margin: 0 auto;
    align-items: center;
}

.sns_flex_right {
    width: 40%;
            text-align: center;
    border-left: dashed 2px #fff;
}
.sf_i_img {
    position: absolute;
    width: 18%;
    top: 0;
    left: -10%;
}
.sns_flex_left {
    width: 52%;
    padding-left: 8%;
}
.sns_ttl {
    font-family: ab-kirigirisu, sans-serif;
    font-size: 310%;
    color: #f190a9;
    line-height: 1;
    margin-bottom: 13px;
    letter-spacing: -11px;
    z-index: 1;
    position: relative;
}
.sns_txt span {
    font-weight: 600;
    color: #eb5757;
}
.sns_txt {
    font-weight: 600;
    font-size: 120%;
    color: #574343;
    line-height: 1.8;
    z-index: 1;
    position: relative;
}
.sns_sub_btn01 {
    font-family: ab-kirigirisu, sans-serif;
    font-size: 140%;
    letter-spacing: 0px;
    text-align: center;
    margin: 0 auto 10px;
}

.sns_sub_btn01 span {
    position: relative;
    color: #635555;
    padding: 0 30px;
}
.sns_sub_btn01 span:before, .sns_sub_btn01 span:after {
    position: absolute;
    content: "";
    border-left: solid 2px #958d8d;
    height: 140%;
    bottom: -20%;
}
.sns_sub_btn01 span:before {
    transform: rotate(-20deg);
    left: 0;
}
.sns_sub_btn01 span:after {
    transform: rotate(20deg);
    right: 0;
}

.insta_btn a:hover {
    background: #fff9a1;
}
.insta_btn a {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    line-height: 1.6;
    position: relative;
    font-size: 120%;
    background: #ffffff;
    padding: 20px 0;
    border-radius: 100px;
    transition: all 0.3s ease 0s;
}
.insta_btn a span:before {
    content: "";
    position: absolute;
    top: 50%;
    right: -30px;
    width: 10px;
    height: 100%;
    background: url(../img/top/suqa01.png) center no-repeat;
    background-size: contain;
    transform: translateY(-50%);
}
.insta_btn a span {
    position: relative;
    font-weight: 700;
    color: #4f2222;
}
.insta_btn img {
    width: 40px;
    height: auto;
}
.insta_btn {
    width: 90%;
    max-width: 360px;
    margin: 0 auto;
}

.youtube_bock {
    background: #610626;
    border-radius: 0 0 40px 40px;
    position: relative;
    padding: 50px 0 60px;
}
.cola img {
    box-shadow: 1px 1px 4px #878787;
}
.cola {
    transform: rotate(-4deg);
    width: 11%;
    left: -7%;
}


/***blog***/

.blog_thumb {
    width: 100%;
    aspect-ratio: 4 / 2;
    overflow: hidden;
    border-radius: 12px;
    box-shadow: 0px 50px 50px -50px rgb(0 0 0 / 20%);
    margin-bottom: 19px;
}

.blog_thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.blog_block {
    position: relative;
    justify-content: center;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    margin: 40px auto 0px;
    padding: 0px;
    gap: 40px;
}

.sec_11 {
    padding: 55px 0;
    background: #f7f1df;
}
.blog_txtblock a {
    display: block;
    position: relative;
}

.blog_ttl {
    color: #674a43;
    font-size: 100%;
    line-height: 1.8;
    margin-bottom: 9px;
}
.blog_date {
    color: #e5a156;
    font-size: 85%;
    font-family: cantarell, sans-serif;
}
.blog_txtblock {
    width: 92%;
    margin: 0 auto;
}

.blog_txt p {
    font-size: 90%;
    line-height: 1.8;
}
.blog_ttl {
    color: #231815;
    font-size: 100%;
    line-height: 1.8;
    margin-bottom: 9px;
}

.blog_block a {
    position: relative;
    display: block;
        transition: all 0.3s ease 0s;
}

.blog_block a:hover{
    opacity: 0.7;
}
.t_ttl05 a:hover{
    opacity: 0.7;
}
.t_ttl05 a {
    font-size: 15px;
    padding: 6px 40px 6px 17px;
    color: #3c2a2a;
    border-radius: 100px;
    margin-left: 30px;
    position: relative;
    font-weight: 600;
        transition: all 0.3s ease 0s;
}
.t_ttl05 {
    font-size: 240%;
    line-height: 1;
    color: #b58f31;
}

.t_ttl05 a:before {
    content: "";
    position: absolute;
    top: 50%;
    right: 15px;
    width: 7px;
    height: 100%;
    background: url(../img/top/suqa01.png) center no-repeat;
    background-size: contain;
    transform: translateY(-50%);
}
.f_f_img_under {
    line-height: 1;
}
.f_f_img a {
    display: block;
    position: relative;
}
.f_floating {
    display: none;
    position: fixed;
    bottom: 0;
    z-index: 9999;
}
.f_floating_flex {
    position: relative;
    justify-content: center;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    padding: 0px;
}

/***top respon*****/

@media only screen and (max-width: 1600px) {
.mv {
    aspect-ratio: 16 / 9;}
.sec_04:before, .sec_05:before, .sec_06:before {
    background-size: 60% auto;
}
.old_flex:before {
    width: 140%;
    left: -20%;
}
.old_flex a {
    padding-bottom: 6%;
}
.mv_image::before {
    width: min(80vw, 800px);
}
.mv_image::after {
    width: min(36vw, 600px);
    bottom: -18%;
}
}

@media only screen and (max-width: 1400px) {
.header_contents {
    right: 0;
    width: 74%;}
.mv {
    aspect-ratio: 16 / 10;}
.t_ttl01 {
    margin-bottom: 30px;
}
.pick_con_inner {
    width: 68%;
}
.old_contents {
    gap: 30px;
}
.old_flex:before {
    width: 120%;
    left: -10%;
}
    .old_contents {
        gap: 50px;
        grid-template-columns: repeat(3, 1fr);
    }
.old_contents:before{display: none;}
.l_img01, .l_img02, .l_img03 {
    width: 30%;
}
.c_inner {
    width: 86%;
}
.link_txt_block {
    width: 70%;}
}


@media only screen and (max-width: 1200px) {
.p-global-nav > li {
    padding: 0 15px;
}
.p-global-nav {
    padding: 11px 17px 6px;
}
    .mv {
        aspect-ratio: 16 / 11;
clip-path: shape(from 0% 0%, line to 100% 0%, line to 100% 100%, curve to 0% 100% with 70% 90% / 30% 90%, close);
    }
.hc_txt {
    display: none;
}
    .header_contents {
        width: 50%;
    }
.hc_btn01, .hc_btn02, .hc_btn03 {
    width: 33%;
}
.mv_image::before {
    width: min(60vw, 600px);
}
.mv_image::after {
    width: min(30vw, 400px);
    bottom: -18%;
}
.sec_01 {
    padding: 40px 0;
}
.sec_04:before, .sec_05:before, .sec_06:before{
        background-size: 80% auto;
    }
}

@media only screen and (max-width: 1000px) {
    #g-nav{display: block;}
.blog_block {
    grid-template-columns: repeat(2, 1fr);
}
.openbtn {
    display: block;
}
#pc-g-nav {
    display: none;
}
.header_contents {
display: none;
}
.flex_war {
    gap: 30px;
}
    .old_contents {
        gap: 30px;}
#js-header {
    height: 90px;
    line-height: 90px;}
.fea_block_flex {
    width: 100%;
}
}

@media only screen and (max-width: 767px) {.header_contents {display: none;}.t_ttl01 {font-size: 180%;}.t_ttl04 span {white-space: nowrap;}.header_logo {width: 60%;padding: 0px 0 0 10px;max-width: unset;}.mv_catch h1 {font-size: 170%;}.wide55 {width: 100%;float: unset;}.sec_02 .t_ttl01 {margin-bottom: 10px;}.en_ttl {font-size: 120%;}.fea_right_img {float: unset;width: 65%;position: relative;margin: 0 0 -15% auto;}.enhaikei::before {width: 70vw;top: 15%;left: -18%;}.en_ttl01 {font-size: 130%;}.t_ttl02 {font-size: 170%;}.sec_02 {padding: 30px 0 170px;}.wide60 {width: 100%;}.pick_bl {gap: 10px;margin-bottom: 10px;}.ch_txt {font-size: 160%;margin-bottom: 5px;}.sec_07 {position: relative;padding: 50px 0 10px;}.t_ttl03 {font-size: 180%;margin-bottom: 20px;}.sec_slider {position: relative;margin: -100px auto 50px;}.sec_03 {position: relative;margin-top: 50px;}.pick_bl_left {width: 18%;}.wh_ttl {font-size: 200%;}.wh_txt01 {font-size: 90%;}.colbtn_b {margin: 30px auto 10px;}.pick_con_inner {width: 100%;margin: 27px auto;}.feaimg_flex {float: right;width: 40%;margin: -10% 0 15px 0;}.fea_left_img {width: 50%;float: right;position: relative;margin: 0 0 -17% 0;}.sec_02::before {width: min(85vw, 600px);right: -8%;bottom: 1%;}.btn_flex {display: block;gap: 0;}.sec_05:after, .sec_04:after, .sec_06:after{display: none;}.sec_04:before, .sec_05:before, .sec_06:before {background-size: cover;}.btn_flex .colbtn_b {margin: 20px auto 0;}.old_contents {gap: 0;display: block;grid-template-columns: unset;margin: 30px auto 0;}.fw_sub {line-height: 1.5;width: 90%;margin: 0 auto;}.fw_contents {border-radius: 22px;margin: 0 auto 30px;padding: 25px 7% 18px;}.fw_flex_left {width: 80%;text-align: center;margin: 0 auto 14px;}.gree_flex_right {width: 80%;margin: 25px auto 0;}.gr_ttl br {display: none;}.gr_ttl {font-size: 130%;text-align: center;}.gr_en {font-size: 140%;text-align: center;}.gree_flex_left {width: 100%;}.gree_flex {display: block;justify-content: unset;align-items: unset;}.fw_flex_right {width: 100%;}.fw_flex {display: block;}.fw_ttl {margin: 8px auto 15px;line-height: 1.5;font-size: 150%;}.flex_war {display: block;justify-content: unset;gap: 0;}.old_flex {width: 90%;margin: 0 auto 33px;}.old_ttl br {display: none;}.old_txt {width: 80%;}.t_ttl04 span img {width: 21px;height: 100%;}.t_ttl04 {font-size: 130%;gap: 10px;line-height: 1.4;}.old_flex a {padding-bottom: 8%;}.old_image {position: relative;width: 90%;margin: 0 auto 10px;}.old_btn {margin: 14px auto 0;padding: 7px 0;}.old_flex:before {width: 116%;left: -8%;}.first_inner {margin: 45px auto 30px;padding: 30px 7%;}.t_ttl05 span {display: block;}.sec_08 {margin-bottom: 60px;}.btn_flex01 {display: block;grid-template-columns: unset;gap: 0;margin: 20px auto 0;}.l_txt {font-size: 146%;}.link_txt_block {padding-top: 0;}.link_block01, .link_block02 {margin-bottom: 18px;}.link_block01 a, .link_block02 a, .link_block03 a {padding: 12px 3%;border-radius: 18px;}.l_ttl {font-size: 92%;margin-bottom: 0px;}.sec_09:after {background-size: 100% auto;}.sec_09 {padding: 30px 0 50px;}.colbtn_g {margin: 30px auto 0;}.btn_04 {margin: 10px auto 0;}.btn_04 span:before {right: -15px;width: 7px;}.banner_flex {display: block;align-items: center;gap: 0;}.btn_04 {margin: 15px auto 0;background: #fff;border-radius: 100px;padding: 2px 0;max-width: unset;width: 65%;font-size: 90%;}.insta_bock {margin-top: 20px;border-radius: 30px 30px 0 0;padding: 31px 0 26px;}.insta_btn img {width: 34px;height: 34px;}.insta_btn a {gap: 10px;padding: 14px 0;}.sns_flex_right {width: 100%;margin-top: 15px;text-align: center;border-left: unset;}.sns_txt {font-weight: 600;font-size: 110%;text-align: center;width: 86%;margin: 0 auto;line-height: 1.6;}.sns_flex_left {width: 100%;padding-left: 0;}.sf_i_img {position: absolute;width: 27%;top: -6%;left: -10%;}.sns_ttl {font-size: 240%;letter-spacing: -6px;padding-left: 19%;}.sns_flex {display: block;}.sp {display: block;}.pc {display: none;}.ban_img img {border-radius: 15px;}.ban_img {margin: 0 auto 20px;}.cola {width: 16%;top: -8%;left: -6%;transform: rotate(-16deg);}.youtube_bock {padding: 23px 0 37px;border-radius: 0 0 30px 30px;}.blog_block {gap: 15px;}.t_ttl05 a:before {right: -13px;top: 54%;}.ban_btn a {font-size: 85%;padding: 10px 0;}.f_contact_flex {display: block;text-align: center;}.footer_logo {width: 90%;margin: 20px auto;}.f_contact_flex img {width: 80%;}.f_tel_txt br {display: none;}.f_tel_txt {text-align: center;margin-bottom: 8px;}.l-footer {padding: 50px 0 50px;}.fc_left .ggmap {padding-bottom: 53%;}.flogo {font-size: 140%;}.footer_logo img {width: 40px;}.copy_txt {font-size: 10px;}.footer_menu {display: block;}.fb_flex {grid-template-columns: repeat(2, 1fr);gap: 15px;}.fc_left {width: 100%;}.fc_right {width: 100%;}.fc_flex {gap: 0;display: block;justify-content: inherit;align-items: unset;}.sec_11 {padding: 48px 0 20px;}.t_ttl05 a {margin-left: 0px;padding: 2px;}.blog_ttl {line-height: 1.6;}.blog_thumb {aspect-ratio: 4 / 2.5;border-radius: 15px;margin-bottom: 5px;box-shadow: unset;}.blog_date {line-height: 1.3;}.fc_btn02 {width: 90%;margin: 0 auto;}.fc_btn01 {width: 90%;margin: 0 auto 27px;}table.table_time tbody th {font-size: 90%;}.footer_menu_left {width: 100%;}.address_txt {text-align: center;font-size: 106%;}.fc_btn01 img, .fc_btn02 img {width: 54% !important;}.f_ico_nn img {width: 24px !important;}.footer_menu li span:before {width: 5px;}.footer_menu li {margin: 0 0 4px;}.footer_menu_right {width: 100%;}.footer_menu ul {display: grid;grid-template-columns: repeat(2, 1fr);grid-auto-flow: unset;grid-template-rows: unset;gap: 0 4%;}
.mv_image::after {
        width: min(52vw, 400px);
        bottom: -12%;
}
    .mv_image::before {
        width: min(82vw, 600px);
        opacity: .6;
    }
.f_floating {display: block;}
    .mv {
        background: url(../img/top/sp_top01.webp) no-repeat center / cover;
        aspect-ratio: 8 / 12;
clip-path: shape(from 0% 0%, line to 100% 0%, line to 100% 100%, curve to 0% 100% with 70% 95% / 30% 95%, close);
    }
}

@media only screen and (max-width: 500px) {
    .mv {
        aspect-ratio: 8 / 14;}
}



/*****下層ページ********/
.k_ttl01, .k_ttl03, .k_ttl02, .k_ttl04, .k_ttl05, .under_ttl, .breadcrumbs, .page_head_tittle, .page_head_txt, .ff_txt, .case_ttl, .fa_txt p, .ba_txt, .age_ttl, .b6_ttl, .vl_ttl, .cl_name, .k_ttl11{font-family: fot-tsukuardgothic-std, sans-serif;}

.b_ttl01{font-family: "zen-kaku-gothic-new", sans-serif;}


.entry_inner {
    margin: 80px auto;
    position: relative;
}
.p-page-header_in {
    position: relative;
    top: 50%;
    left: 0;
    text-align: center;
    right: 0;
    margin: 0 auto;
}
.p-page-header__inner {
    position: relative;
    z-index: 2;
    max-width: unset;
    width: 90%;
    height: 100%;
    margin: 0 auto;
}
#contents_header:after {
    position: absolute;
    content: "";
    width: 100%;
    height: 50%;
    background: #ffffff;
    background: -webkit-linear-gradient(0deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100%);
    background: -moz-linear-gradient(0deg,rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100%);
    background: linear-gradient(0deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="#FFFFFF", endColorstr="#FFFFFF", GradientType=0 );
    top: 0;
    left: 0;
    z-index: 2;
}
#contents_header:before {
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    background: rgb(207 225 255 / 24%);
    border-radius: 30px;
}
#contents_header {
    height: 550px;
    background-size: cover;
    background-position: center;
    clip-path: shape(from 0% 0%, line to 100% 0%, line to 100% 100%, curve to 0% 100% with 70% 84% / 30% 84%, close);
    position: relative;
}
.breadcrumbs {
    font-size: 90%;
}

.breadcrumbs-container {
    margin: 0 auto;
    padding: 5px 0;
        top: -50px;
    text-align: center;
    position: relative;
}
.page_head_txt {
    font-size: 300%;
    font-weight: 600;
    color: #fff;
    text-shadow: 1px 1px 10px #414141;
    line-height: 1.5;
    margin-bottom: 10px;
}
.page_head_tittle {
    text-shadow: 1px 1px 10px #414141;
    color: #fff;
    font-weight: 600;
}

.k_inner {
    width: 90%;
    max-width: 1300px;
    margin: 0 auto;
    position: relative;
}

.k_inner img {
    border-radius: 20px;
}
.k_con {
    width: 94%;
    margin: 0 auto 80px;
    position: relative;
}
.k_inner p {
    margin: 0 0 1.5rem;
font-weight: 700;
}
.k_ttl01 {
    font-size: 250%;
    text-align: center;
    font-weight: bold;
    line-height: 1.6;
    margin-bottom: 40px;
}

.k_flex {
  display: flex;
  gap: 50px;
  align-items: flex-start;
}
.k_flex_img {
    width: 40%;
}
.k_flex_left {
    width: 60%;
}
.reverse {
  flex-direction: row-reverse;
}
.k_ttl04:before {
    position: absolute;
    content: "";
    background: #f59a74;
    width: 16px;
    height: 16px;
    border-radius: 10px;
    left: 0;
    top: 20px;
}
.k_ttl04 span {
    font-weight: 700;
    color: #ef875b;
}
.k_ttl04 {
    font-size: 180%;
    font-weight: 700;
    margin-bottom: 18px !important;
    line-height: 1.5;
    position: relative;
    padding-left: 30px;
}
.k_ttl02 {
    position: relative;
    text-align: center;
    font-size: 190%;
    background: #81d5cc;
    margin-bottom: 50px;
    padding: 22px 0;
    font-weight: 700;
    color: #ffffff;
    line-height: 1.6;
}
.k_ttl02:before {
    content: "";
    position: absolute;
    bottom: 10%;
    left: 1%;
    width: 4%;
    height: 80%;
    background: url(../img/lower/m_ico01.svg) bottom left no-repeat;
    background-size: contain;
}
.k_ttl02:after {
    content: "";
    position: absolute;
    bottom: 10%;
    right: 1%;
    width: 5%;
    height: 80%;
    background: url(../img/lower/m_ico02.svg) top right no-repeat;
    background-size: contain;
}


.box_01 {
    border: solid 2px #abddeb;
    padding: 40px 4% 40px;
    position: relative;
        border-radius: 24px;
        margin: 50px auto 70px;
}

.k_ttl03 span {
    font-size: 70%;
}
.k_ttl03 {
    position: relative;
    text-align: center;
    font-size: 180%;
    background: #cbf4ff;
    margin-bottom: 40px;
    padding: 7px 0 18px;
    font-weight: 700;
    color: #2f4d75;
    line-height: 1.6;
        border-radius: 300px;
}

.k_ttl03:before {
    content: "";
    position: absolute;
    top: 5%;
    right: 1%;
    width: 8%;
    height: 90%;
    background: url(../img/lower/m_ico03.svg) bottom left no-repeat;
    background-size: contain;
}
.stend {
    border-bottom: solid 1px #ddd;
    margin-bottom: 40px;
    padding-bottom: 40px;
}

span.cl01 {
    font-weight: 700;
    color: #ef875b;
}
.k_ttl05 {
    text-align: center;
    font-size: 180%;
    font-weight: 700;
    color: #795c5c;
    border-bottom: solid 1px #a99696;
    padding-bottom: 15px;
    margin-bottom: 30px !important;   
}

.box_02 {
    background: #f7f7f0;
    position: relative;
    margin: 50px auto 70px;
    padding: 30px 5% 20px;
        border-radius: 20px;
}

.under_ttl {
    border-top: solid 1px #a7a0a0;
    border-bottom: solid 1px #a7a0a0;
    padding: 22px 0;
    text-align: center;
    font-size: 160%;
    margin-bottom: 50px;
    font-weight: 700;
}


.k_flex02 {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    margin: 40px auto 0;
    gap: 30px;
}
.box_03 {
    padding: 30px 25px 5px;
background: #eaf1f1;
    border-radius: 15px;
    position: relative;
    box-shadow: 0px 80px 80px -80px rgb(0 0 0 / 20%);
}
.box_03 p {
    font-size: 95%;
    line-height: 1.8;
}
.box_03 img {
    height: 20%;
    border-radius: 0;
    max-height: 55px;
}
.b_ttl01 {
    font-size: 125%;
    margin: 17px auto 7px;
    text-align: center;
    font-weight: 600;
    color: #48a1a1;
    letter-spacing: 0.05em;
}
.k_flex03 {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    margin: 40px auto 0;
}
.flex_con {
    padding: 0 6%;
    margin-bottom: 30px;
    position: relative;
}
.solid_con {
    border-left: solid 1px #ddd;
    border-right: solid 1px #ddd;
}
.flex_con p {
    font-size: 95%;
    line-height: 2em;
}

.ff_txt {
    color: #3ca99d;
    font-size: 140% !important;
    text-align: center;
    margin-bottom: 5px !important;
    font-weight: 600;
}

.flow_flex img {
    width: 20%;
    max-width: 110px;
}

.flow_flex {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 50px;
}
.flow_txt {
    font-size: 90%;
    font-weight: normal !important;
    line-height: 2em !important;
}

.flow_ttl {
    font-size: 115%;
    margin-bottom: 5px !important;
    letter-spacing: 0.1em;
    color: #8a9300;
}

.flow_block:before {
    position: absolute;
    content: "";
    border-left: solid 1px #c1bfbf;
    height: 50px;
    margin: 0 auto;
    left: 50%;
    bottom: -50px;
}

.flow_block {
    position: relative;
    background: #fff;
    border: solid 1px #c1bfbf;
    margin: 0 auto 50px;
        border-radius: 20px;
    padding: 25px 5% 5px;
}

.lastbb:before{
    display: none;
}
.ortho_case_box {
    background: #f5f1e8;
    position: relative;
    padding: 20px 5%;
}
.box_wh img {
    height: 20%;
    border-radius: 0;
    max-height: 47px;
}
.box_wh p {
    font-size: 90%;
}
.box_wh {
    background: #fff;
    padding: 30px 7% 1px;
}
.k_flex04 {
    position: relative;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    margin: 0 auto;
    gap: 30px;
}
.case-img {
    margin: 0 !important;
}


.case_ttl span:before {
    transform: rotate(60deg);
    left: -25px;
}
.case_ttl span:after {
    transform: rotate(-60deg);
    right: -25px;
}

.case_ttl span:before, .case_ttl span:after {
    position: absolute;
    content: "";
    background: url(../img/lower/line02.svg) bottom no-repeat;
    height: 100%;
    bottom: 20%;
    background-size: contain;
    width: 40px;
}
.case_ttl span {
    font-weight: 700;
    position: relative;
}
.case_ttl {
    font-size: 180%;
    text-align: center;
    margin: 50px auto 30px !important;
    position: relative;
}

.k_inner .fw_sub {
    margin: 0 !important;
}

.k_inner .fw_ttl {
    margin-bottom: 14px !important;
}

.k_inner .txt02 {
    font-size: 90%;
    line-height: 1.8;
    margin: 0 0 10px !important;
}

.k_inner .fw_btn {
    width: 50px;
    margin: 16px 0 0 auto !important;}

.fa_txt p {
    margin: 0;
    font-size: 120%;
    font-weight: 700;
        color: #4b1212;
}

.fa_txt img {
    height: 60px;
    width: 60px;
}
.fa_txt {
    display: flex;
    align-items: center;
    gap: 20px;
        margin-bottom: 15px;
}
.aa_txt p {
    margin: 0;
    list-style: 1.7;
}

.aa_txt img {
    height: 60px;
    width: 60px;
}
.aa_txt {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 35px;
}
.ban_img a {
    display: block;
    position: relative;
}

.k_inner .ban_img img {
    border-radius: 0px;
}

.k_inner .banner_flex {
    margin: 50px auto 0 !important;
}


.colttl {
    background: #ffeb78;
    color: #714242;
}
.box_04 {
    padding: 0px 25px 5px;
    background: #ffebe4;
    border-radius: 15px;
    position: relative;
    box-shadow: 0px 80px 80px -80px rgb(0 0 0 / 20%);
}

.ba_txt {
    font-size: 140%;
    font-weight: 700;
    text-align: center;
}
.ba_txt span:before {
    position: absolute;
    content: "";
    width: 14px;
    height: 14px;
    border-radius: 100px;
    background: #eb6a6a;
    left: -24px;
    top: 12px;
}
.ba_txt span {
    position: relative;
        font-weight: 700
}

.box_04 p {
    font-size: 95%;
}

.en_img img {
    border-radius: 500px;
}

.en_img {
    width: 56%;
    margin: -45px auto 7px !important;
}
.martopfflex {
    margin: 90px auto 0;
}
.age_box {
    background: #f9f5ef;
    padding: 40px 6% 22px;
    margin-bottom: 50px;
    border-radius: 20px;
    box-shadow: 0px 80px 80px -80px rgb(0 0 0 / 20%);
}

.age_flex {
    position: relative;
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 20px;
}
.age_num {
    margin: 0 !important;
    font-size: 180%;
    line-height: 1;
    font-weight: 600;
    padding: 13px 14px;
    background: #e39a57;
    color: #fff;
    border-radius: 30px 0 30px 0;
}
.age_ttl {
    font-size: 160%;
    font-weight: 700;
    color: #458f2f;
}


.b6_ttl span {
    font-weight: 600;
    font-size: 85%;
}
.b6_ttl {
    background: #8fd6e9;
    border-radius: 20px 20px 0 0;
    padding: 20px 0 25px;
    text-align: center;
    font-size: 180%;
    line-height: 1.6;
    font-weight: 700;
    color: #fff;
}
.box_06 {
    background: #e7fcff;
    position: relative;
    border-radius: 24px;
    margin: 60px auto 70px;
}
.box_inner {
    padding: 33px 6% 20px;
}

.vl_box {
    position: relative;
    border-radius: 20px 20px 0 0;
}
.vl_ttl {
    position: relative;
    border-radius: 20px 20px 0 0;
    font-size: 120%;
    text-align: center;
    font-weight: 700;
        padding: 10px 0;
}


.bc01 {
    background: #fbee71;
    color: #a54e16;
}

.bz01 {
    background: #fbf8db;
}
.bc02 {
    background: #bee19b;
    color: #417f02;
}
.bc03 {
    background: #f1ca95;
    color: #852525;
}
.bz03 {
    background: #fff1de;
}
.bz02 {
    background: #ebfbdb;
}

.vl_boxinner p {
    font-size: 95%;
    margin: 0 !important;
    line-height: 2em;
}
.vl_boxinner {
    width: 85%;
    margin: 25px auto;
}

.vl_boxinner li:before {
    position: absolute;
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 10px;
    background: #f3c2c0;
    left: 0;
    top: 12px;
}

.vl_boxinner li {
    float: left;
    margin: 0 20px 0 0;
    padding-left: 14px;
    font-size: 95%;
    line-height: 1.7;
    position: relative;
    font-weight: 700;
}
.vl_boxinner ul {
    width: auto;
    display: table;
    position: relative;
    margin-bottom: 5px;
}

.k_flex_40 {
    width: 45%;
}

.k_flex_60 {
    width: 55%;
}
.k_flex_60 img {
    border-radius: 20px;
}

.cl_name span {
    margin-left: 13px;
    font-weight: 700;
    font-size: 145%;
}
.cl_name {
    margin: 50px auto 0px !important;
    font-size: 150%;
    text-align: center;
    font-weight: 700;
    line-height: 1.2;
}

.ggmap_inner {
    position: relative;
}


.gmabtn {
    font-family: cantarell, sans-serif;
    position: absolute;
    margin: 40px auto 0 !important;
    width: 90%;
    max-width: 360px;
    bottom: -13%;
    right: -8%;
}
.gmabtn a:hover {
    background: #e32323;
}
.gmabtn a:before {
    content: "";
    position: absolute;
    width: 12px;
    height: 100%;
    background: url(../img/top/suqa.webp) center no-repeat;
    background-size: contain;
    margin: 0 auto;
    bottom: -4px;
    right: -10px;
    left: 0;
}
.gmabtn a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 200px;
    height: 200px;
    color: #fff;
    border-radius: 50%;
    text-align: center;
    line-height: 1.4;
    text-decoration: none;
    font-size: 140%;
    background: #f15353;
}

.ggmap_inner {
    position: relative;
    margin: 50px auto 100px;
}

.kai_sp{display: none;}

.haikei_inner .en_ttl {
    margin-bottom: 35px;
}

.haikei_inner {
    background: #f7f7f0;
    padding: 60px 0 170px;
    position: relative;
    margin-bottom: -110px;
}



.ki_inner {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
    position: relative;
}
.k_clinic {
    font-size: 190%;
    font-weight: 600;
    line-height: 1.3;
    margin-bottom: 13px;
    color: #333;
}

.k_clinic span {
    display: block;
    font-size: 60%;
    font-weight: 600;
}
.k_access {
    margin-bottom: 18px;
    line-height: 1.7;
    font-weight: 700;
    color: #333;
}
.k_route:before {
    width: 100%;
    top: 50%;
    border-top: solid 1px #755c5c;
    position: absolute;
    content: "";
}
.k_route span {
    background: #f5f3e8;
    z-index: 1;
    position: relative;
    padding: 0 20px 0 0;
    font-size: 130%;
    letter-spacing: 2px;
    color: #d1467d;
    font-weight: 500;
    line-height: 1;
}
.k_route01 {
    margin-bottom: 25px;
    font-weight: 700;
    line-height: 1.5;
    color: #333;
}
.k_route {
    font-family: cantarell, sans-serif;
    position: relative;
    line-height: 1;
}
span.big_spa {
    font-weight: 700;
    font-size: 130%;
    letter-spacing: 0;
    margin: 0 2px;
    color: #55a543;
}

.ki_inner .k_flex {
    gap: 61px;
}

.k_ttl11 {
    font-size: 220%;
    text-align: center;
    line-height: 1.7;
    margin-bottom: 40px;
    font-weight: 700;
}



.slc{margin-top: 30px !important;}

.space_high {
    margin: 120px auto 0;
}

.haikei_inner .table_line {
    background: #fff;
}
.menu_f_block {
    background: #fff;
    border-radius: 0 0 30px 30px;
    padding: 20px 5% 30px;
    box-shadow: rgba(0, 0, 0, 0.2) 0px 80px 80px -80px;
}

.menu_f_inner {
    border: solid 2px #cfcfcf;
    border-radius: 14px;
    padding: 20px 5% 25px;
}
.menu_f_ttl {
    font-size: 130%;
    text-align: center;
    font-weight: 600;
    background: #55a6ff;
    border-radius: 20px 20px 0 0;
    padding: 10px 0;
    color: #fff;
}
.mf_ul01 li:before {
    position: absolute;
    content: "";
    width: 17px;
    height: 100%;
    left: 0;
    top: 0;
    background: url(../img/top/gico04.svg) center no-repeat;
    background-size: contain;
}

.mf_ul01 {
    display: table;
    position: relative;
    width: 100%;
}
.mf_ul01 li {
    float: left;
    margin: 0 30px 10px 0;
    padding-left: 22px;
    position: relative;
    font-weight: 600;
    color: #333;
}
.menu_f_contents {
    margin: 35px auto 5px;
    border: solid 2px #c1d9ff;
    border-radius: 13px;
    position: relative;
    padding: 0 5% 15px;
}
.mf_ul02 {
    width: 100%;
    display: table;
    position: relative;
}
.mf_ul02 li {
    position: relative;
    float: left;
    margin: 0 5% 8px 0;
}

.mf_ul02 li a {
    position: relative;
    display: block;
    padding: 1px 0;
    transition: all 0.3s ease 0s;
}
.mf_ul02 li span:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 7px;
    height: 100%;
    background: url(../img/top/suqa01.png) center no-repeat;
    background-size: contain;
    transform: translateY(-50%);
}
.mf_ul02 li a span {
    position: relative;
    padding-left: 14px;
    color: #333;
    font-weight: 700;
}

.menu_f_ttl01 span {
    background: #fff;
    padding: 5px 20px;
    font-weight: 700;
    color: #5b95f3;
}

.menu_f_ttl01 {
    position: relative;
    margin: -21px 0 5px;
    font-size: 110%;
}

.mf_ul02 li a:hover {
    opacity: 0.6;
}


.view_btn span {
    font-weight: 700;
    font-size: 85%;
}
.view_btn a {
    position: relative;
    display: block;
    line-height: 1.4;
    font-size: 130%;
    text-align: center;
    font-weight: 700;
    color: #fff;
    padding: 24px 10px;
}
.view_btn:before {
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    background: #4f29298a;
    top: 0;
    left: 0;
    border-radius: 200px;
    transition: all 0.3s ease 0s;
}


.view_btn:hover:before {
    background: #4f2929d6;
}

.view_btn {
    margin: 70px auto 0;
    position: relative;
    width: 90%;
    max-width: 420px;
    border-radius: 200px;
    background: url(../img/lower/gimgf.jpg) center no-repeat;
    transition: all 0.3s ease 0s;
}

.eq_txt {
    font-size: 180%;
    margin-bottom: 10px !important;
    line-height: 1.5;
}

.eq_sub {
    line-height: 1.3;
    color: #f19186;
    margin-bottom: 20px !important;
}


.list_01 {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0px 24px;
    font-size: 95%;
}

.list_01 dt {
  font-weight: 600;
}

.list_01 dd {
    margin: 0;
    font-weight: 700;
}


.reki {
    margin: 0 !important;
    display: inline-block;
    background: #591212;
    padding: 5px 16px;
    line-height: 1;
    border-radius: 100px;
    color: #fff;
}



.reki_block {
    max-width: 1100px;
    width: 100%;
    margin: 50px auto;
    background: #f5f5f5;
    border-radius: 30px;
    padding: 1px 0;
}
.reki_block_inner {
    display: flex;
    align-items: flex-start;
    gap: 50px;
    margin: 50px 5%;
}
.reki_block_flex {
    width: 50%;
    position: relative;
}

.list_02 {
    margin-bottom: 17px;
}

.list_02 li:before {
    position: absolute;
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 10px;
    background: #6b6b6b;
    left: 0;
    top: 15px;
}
.list_02 li {
    position: relative;
    padding-left: 15px;
    font-size: 95%;
    line-height: 2;
    font-weight: 700;
}

.haikei_inner02 {
    padding: 50px 0;
    background: #f5f5f5;
        margin-bottom: 70px;
}


.wh_block {
    background: #fff;
    border-radius: 20px;
    width: 50%;
}

.wh_flex {
    position: relative;
    display: flex;
    justify-content: space-between;
    width: 100%;
    align-items: stretch;
    gap: 70px;
    margin: 30px auto 0;
}
.wh_block {
    background: #fff;
    border-radius: 20px;
    width: 50%;
    padding: 20px 4% 30px;
}
.ki_inner p {
    font-weight: 700;
}
.wh_block p {
    font-size: 95%;
    line-height: 2;
}
.ff_ttl01, .ff_ttl02{
    font-size: 130%;
    font-weight: 700;
    margin: 0 auto 10px;
    text-align: center;
}
.ff_ttl01 {
    color: #5f9ae9;
}
.ff_ttl02 {
    color: #ff9928;
}
.cost_ttl01 {
    font-size: 160%;
    text-align: center;
    background: #735c5c;
    padding: 18px 0;
    border-radius: 30px 30px 0 0;
    color: #fff;
    margin: 0 !important;
}
.cost_block01 {
    background: #fffbe3;
    padding: 50px 5% 40px;
    border-radius: 0 0 30px 30px;
    margin-bottom: 70px;
    box-shadow: 0px 80px 80px -80px rgb(0 0 0 / 20%);
}
.cost_flex {
    position: relative;
    justify-content: space-between;
    width: 100%;
    align-items: stretch;
    gap: 40px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
}


.text_right {
    text-align: center;
}
span.en_spa {
    font-family: futura-pt, sans-serif;
    font-weight: 400;
    font-size: 150%;
    margin-right: 2px;
}
table.price_table th {
    font-weight: 700;
    font-size: 100%;
    text-align: left;
    border-bottom: solid 1px #736b6b;
    vertical-align: middle;
    padding: 10px;
    line-height: 1.5;
}
table.price_table td {
    font-weight: 700;
    font-size: 100%;
    text-align: right;
    vertical-align: middle;
    border-bottom: solid 1px #736b6b;
    line-height: 1.3;
    color: #8d3c3c;
    padding: 10px;
}
span.shor_spa {
    font-weight: 700;
    font-size: 95%;
}



.cost_block01 p {
    margin: 11px auto 0 !important;
    font-size: 90%;
    line-height: 1.8;
    font-weight: 400;
}


.btn_01 a {
    position: relative;
    display: block;
    text-align: center;
    font-size: 100%;
    color: #fff;
    padding: 12px 0;
    border-radius: 100px;
    overflow: hidden;
    background: #493737;
    transition: all 0.3s ease 0s;
}

.btn_01 a:hover {opacity: 0.7;}

.btn_01 {
    margin: 40px auto 0 !important;
    position: relative;
    width: 90%;
    max-width: 300px;
}
.btn_01 a span {
    position: relative;
    z-index: 1;
    font-weight: 600;
}
.btn_01 span:before {
    content: "";
    position: absolute;
    top: 50%;
    right: -30px;
    width: 10px;
    height: 100%;
    background: url(../img/top/suqa.webp) center no-repeat;
    background-size: contain;
    transform: translateY(-50%);
}


.post_head_nothing {
    margin: 250px auto 100px;
}


.page_head_tittle_short {
    text-shadow: 1px 1px 10px #414141;
    color: #fff;
    font-weight: 600;
    font-size: 160%;
}
.post-title {
    font-weight: 700;
    font-size: 180%;
    border-bottom: solid 1px #777;
    padding: 0 5px 18px;
    margin-bottom: 30px;
}
.s_inner img {
    border-radius: 20px;
}
.s_inner {
    width: 90%;
    max-width: 1000px;
    margin: 100px auto;
    position: relative;
}
.case_posts p {
    font-size: 100%;
    margin: 0 auto 15px;
    line-height: 2;
}
.case_posts p a:hover{
    opacity: 0.7;
}

.case_posts p a {
    color: #d34444;
    font-weight: 700;
    text-decoration: underline;
}


.p-article02__content a {
    display: block;
    position: relative;
}

.blog_txtblock {
  flex: 1;
}


.archive_inner_flex {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 50px;
}
.archive_inner {
    margin: 100px auto;
    width: 90%;
    max-width: 1200px;
    position: relative;
}

body.blog, body.archive {
    background: rgb(247, 241, 223);
}

body.blog .bg-blob path, body.archive .bg-blob path {
    fill: #ffffff;
}



span.date_spa {
    color: #e5a156;
    font-size: 100%;
    font-family: cantarell, sans-serif;
}

span.cate_spa {
    background: #774949;
    color: #fff;
    padding: 3px 10px;
    font-size: 80%;
    border-radius: 100px;
    margin-left: 5px;
}
.p-article02__title {
    color: #231815;
    font-size: 100%;
    line-height: 1.8;
    margin-bottom: 9px;
}


.news_pager {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  margin-top: 60px;
}

.news_pager .page-numbers {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-width: 42px;
  height: 42px;
  padding: 0 12px;
  border: 1px solid #225f8d;
  border-radius: 50px;
  color: #225f8d;
  background: #fff;
  font-size: 15px;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
  transition: 0.3s ease;
}

.news_pager .page-numbers.current {
  color: #fff;
  background: #225f8d;
}

.news_pager a.page-numbers:hover {
  color: #fff;
  background: #225f8d;
}

.news_pager .prev,
.news_pager .next {
  min-width: 58px;
  padding: 0 18px;
}
.img_flex {
    position: relative;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    margin: 50px auto 0;
    gap: 30px;
}




/***下層respon*****/
@media only screen and (max-width: 1000px) {
#contents_header {
    height: 400px;
}
.entry_inner {
    margin: 30px auto 80px;}
}

@media only screen and (max-width: 767px) {
.archive_inner_flex {
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
}
span.cate_spa {
        padding: 1px 4px 3px;
    font-size: 80%;
    line-height: 1.2;
    display: inline-block;
    margin-left: 0px;
}
.archive_inner {
    margin: 50px auto 100px;
}
.post-title {
    font-size: 140%;
    line-height: 1.8;
    padding: 0 5px 10px;
}
.s_inner {
    margin: 50px auto 100px;
}
    span.date_spa {
        font-size: 85%;
        line-height: 1.2;
        display: block;
    }
    .p-article02__title {
    line-height: 1.6;
    margin-top: 5px;
}
.breadcrumbs {
    font-size: 11px;
}
.date_cate_txt {
    line-height: 1.2;
}
.sp_kai{display: none;}
.kai_sp{display: block;}
  .news_pager {
    gap: 6px;
    margin-top: 40px;
  }

  .news_pager .page-numbers {
    min-width: 36px;
    height: 36px;
    padding: 0 10px;
    font-size: 13px;
  }
  .case_ttl {
    font-size: 130%;
    text-align: center;
    margin: 50px auto 20px !important;
    position: relative;
}
  .k_flex04 {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}
.breadcrumbs-container {
    top: 0;}
#contents_header {
    height: 300px;
clip-path: shape(from 0% 0%, line to 100% 0%, line to 100% 100%, curve to 0% 100% with 70% 90% / 30% 90%, close);
}
#contents_header:after {
    height: 80%;}
  .news_pager .prev,
  .news_pager .next {
    min-width: 50px;
    padding: 0 14px;
  }
  .k_flex {
    display: block;
    gap: 0;
    align-items: unset;
}
.k_ttl04:before {
    width: 13px;
    height: 13px;
    top: 10px;
}
.k_ttl04 {
    font-size: 140%;
    padding-left: 20px;
        margin-bottom: 10px !important;
}
.k_inner img {
    border-radius: 14px;
}
.flow_flex {
    display: block;
    gap: 0;
}
.vl_boxinner {
    width: 90%;
    margin: 15px auto;
}
.vl_ttl {
    padding: 5px 0;
}
.vl_box {
    padding-bottom: 1px;
    margin-bottom: 25px;
}
.k_flex02 {
    display: block;
    grid-template-columns: unset;
    margin: 0 auto;
    gap: 0;
}
.flow_block {
    border-radius: 15px;
    margin: 0 auto 20px;
    padding: 10px 5% 1px;
}
.reverse {
    flex-direction: unset;
}
.flex_con {
    padding: 10px 0;
    margin: 0;
}
.solid_con {
    border-left: unset;
    border-right: unset;
    border-top: solid 1px #ddd;
    border-bottom: solid 1px #ddd;
}
.ff_txt {
    font-size: 130% !important;
}
.k_flex03 {
    display: block;
    grid-template-columns: unset;
    margin: 20px auto 0;
}
.k_flex_img {
    width: 90%;
    margin: 0 auto 15px;
}
    .k_ttl02 {
        font-size: 145%;
        line-height: 1.3;
        margin-bottom: 30px;
        padding: 16px 5%;
    }
.k_flex_left {
    width: 100%;
}
.k_flex_img {
    width: 100%;
}
.k_ttl02:before {
    width: 6%;
}
.k_ttl02:after {
    width: 7%;
}
.centxt {
    text-align: left;
}
.k_con {
    width: 100%;
    margin: 0 auto 50px;}
.k_ttl01 {
    margin-bottom: 30px;
    font-size: 180%;}
  .page_head_tittle {
    font-size: 11px;
}
.page_head_txt {
    font-size: 140%;}
.fa_txt img, .aa_txt img {
    border-radius: 0 !important;
    height: 30px;
    width: 30px;
}

.under_ttl {
    padding: 13px 0;
    text-align: center;
    font-size: 140%;
    line-height: 1.4;
    margin-bottom: 27px;
}
.fa_txt, .aa_txt {
        align-items: flex-start;
    gap: 10px;
    line-height: 1.5;
    margin-bottom: 10px;
}
.menu_f_block {
    padding: 12px 5% 15px;
    border-radius: 0 0 20px 20px;
}
.stend {
    margin-bottom: 40px;
    padding-bottom: 20px;
}
.eq_sub {
    text-align: center;
    font-size: 95%;
}
.eq_txt {
    font-size: 150%;
    text-align: center;
}
.menu_f_contents {
    margin: 23px auto 5px;
    padding: 0 5% 2px;
}
.k_ttl11 {
    margin-bottom: 30px;
    font-size: 150%;
    line-height: 1.5;
}
.ggmap_inner .ggmap {
    padding-top: 41%;
}
.menu_f_ttl {
    font-size: 120%;
    padding: 2px 0;
}
.k_flex_60 {
    width: 100%;
    margin-top: 23px;
}
.k_access {
    text-align: center;
}
.k_clinic {
    font-size: 170%;
    text-align: center;}
.k_flex_40 {
    width: 100%;
}
.haikei_inner {
    padding: 40px 0 150px;
}
.gmabtn a {
    width: 100px;
    height: 100px;
    font-size: 85%;
}
.box_03 {
    padding: 19px 5% 5px;
    margin-bottom: 30px;
}
.box_03 img {
    border-radius: 0 !important;
    max-height: 40px;
}
.box_01 {
    padding: 20px 5% 5px;
    border-radius: 20px;
}
.box_02 {
    margin: 40px auto 50px;
    padding: 15px 5% 10px;
    border-radius: 20px;
}
.k_ttl05 {
    font-size: 140%;
        line-height: 1.4;
        padding-bottom: 10px;
    margin-bottom: 17px !important;
}
.gmabtn {
    width: auto;
    bottom: -13%;
    right: 13%;
}
.k_ttl03 {
    font-size: 130%;
    padding: 7px 0 11px;
}
.k_ttl03:before {
    width: 16%;
}
.gmabtn a:before{display: none;}
.list_01 {
    gap: 0px 20px;
    margin-bottom: 13px;
}
.reki_block_flex {
    width: 100%;
}
.reki_block_inner {
    display: block;
    align-items: unset;
    gap: 0;
    margin: 25px 7%;
}
.age_ttl {
    font-size: 140%;
    line-height: 1.5;}
.en_img {
    margin: 0 auto !important;
    width: 47%;
}.box_04 {
    padding: 20px 5% 1px;
    margin: 0 auto 35px;
    width: 80%;
}
.age_flex {
    gap: 11px;
}
.age_box p {
    line-height: 1.8;
}
.age_num {
    font-size: 120%;
    white-space: nowrap;
    border-radius: 15px 0 15px 0;
    padding: 10px;
}
.box_inner {
    padding: 12px 5% 3px;
}
table.price_table th {
    font-size: 85%;
    padding: 10px 0;
}
.cost_flex_con {
    margin: 20px 0 5px;
}
table.price_table td {
    font-size: 90%;
}
.b6_ttl {
    font-size: 130%;
    padding: 10px 0;
}.cost_flex {
    justify-content: unset;
    align-items: unset;
    gap: 0;
    display: block;
    grid-template-columns: unset;
}
.cost_block01 {
    padding: 10px 5% 18px;
    border-radius: 0 0 20px 20px;
    margin-bottom: 40px;
}
.cost_ttl01 {
    font-size: 120%;
    padding: 8px 0;
    border-radius: 20px 20px 0 0;
}
.wh_block {
    border-radius: 17px;
    width: 90%;
    padding: 12px 5% 20px;
    margin-bottom: 23px;
}
.wh_flex {
    display: block;
    gap: 0;
    margin: 19px auto 0;
}
}




