@charset "utf-8";


/* ----------------------------------------------------------------------
	selection
---------------------------------------------------------------------- */

::selection { background: #ee9985; color: #fff; }
::-moz-selection { background: #ee9985; color: #fff; }


/* ----------------------------------------------------------------------
	html,body
---------------------------------------------------------------------- */

html { font-size: 62.5%; }

body {
	font-family: Ryumin Regular KL , "リュウミン R-KL" , YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
	color: #606060;
	font-size: 1.6rem;
	line-height: 1.6;
    letter-spacing: .2em;
    font-feature-settings: "palt";
	-webkit-text-size-adjust: none;
}


@media screen and (max-width: 990px) {
	body { min-width: inherit; }
}


/* ----------------------------------------------------------------------
	anchor
---------------------------------------------------------------------- */

a { -webkit-tap-highlight-color: rgba(0,0,0,0.3); transition: 0.3s; }
a:link { color: #282828; text-decoration: underline; }
a:visited { color: #282828; text-decoration: underline; }
a:hover { color: #ee9985; text-decoration: none; }
a:active { color: #ee9985; text-decoration: none; }
a:focus { outline: none; }
a img { transition: 0.3s; }
a:hover img { opacity: 0.8; }


/* ----------------------------------------------------------------------
	txt
---------------------------------------------------------------------- */

.font-en {
    font-family: Gill Sans, Verdana, Geneva, "sans-serif";
    letter-spacing: 0.1em;
}

.font-ja--bold { font-family: Ryumin Bold KL , "リュウミン B-KL" , YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif"; }

.fs10 { font-size: 1rem !important; }
.fs11 { font-size: 1.1rem !important; }
.fs12 { font-size: 1.2rem !important; }
.fs13 { font-size: 1.3rem !important; }
.fs14 { font-size: 1.4rem !important; }
.fs15 { font-size: 1.5rem !important; }
.fs16 { font-size: 1.6rem !important; }
.fs17 { font-size: 1.7rem !important; }
.fs18 { font-size: 1.8rem !important; }
.fs19 { font-size: 1.9rem !important; }
.fs20 { font-size: 2rem !important; }

.left { text-align: left !important; }
.center { text-align: center !important; }
.right { text-align: right !important; }

.bold { font-weight: bold; }

.color-pink { color:  #ee9985; }

@media screen and (max-width: 990px) {
    .spbr { display: none; }
    
    .spblock { display: block; }
}


/* ----------------------------------------------------------------------
	img
---------------------------------------------------------------------- */

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

.no-img { border: 1px solid #ddd; }


/* ----------------------------------------------------------------------
	overflow
---------------------------------------------------------------------- */

.overflow-hidden { overflow: hidden; }


/* ----------------------------------------------------------------------
	overlay
---------------------------------------------------------------------- */

.overlay {
	position: fixed;
	z-index: 100;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #fff;
    display: none;
}

.overlay--modal {
	z-index: 100000;
    background: #000;
	display: none;
}


/* ----------------------------------------------------------------------
	loading
---------------------------------------------------------------------- */

#loading {
  position: fixed;
  width: 100%;
  height: 100%;
  z-index: 100001;
  background: #ee9985;
  text-align: center;
  color: #fff;
}

#loading__logo {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}


#loading__logo-img svg,
#loading__logo-img img{
    fill: #fff;
    width: 240px;
    height: auto;
}

.loadinfadeUp {
    animation-name: loadingAnime;
    animation-duration: 0.3s;
    animation-fill-mode: forwards;
    opacity: 0;
}

@keyframes loadingAnime{
  from {
      opacity: 0;
      transform: translateY(100px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media screen and (max-width: 990px) {
    #loading__logo-img svg,
    #loading__logo-img img { width: 180px; }
}


/* ----------------------------------------------------------------------
	wrapper
---------------------------------------------------------------------- */

#wrapper {
    width: 100%;
    min-width: 1280px;
    
}

@media screen and (max-width: 990px) {
    #wrapper { min-width: inherit; }
}


/* ----------------------------------------------------------------------
	header
---------------------------------------------------------------------- */

.header {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 100;
    width: 100%;
}

.fixed .header { position: fixed; }

.header__inner {
    position: relative;
    background-color: rgba(255,255,255,0.8);
    -webkit-backdrop-filter: saturate(180%) blur(20px);
    backdrop-filter: saturate(180%) blur(20px);
    height: 100px;
}

 .header__logo {
    position: absolute;
    top: 38px;
    left: 40px;
    z-index: 1;
}

 .header__logo img,
 .header__logo svg {
    fill: #231815;
    width: 220px;
    height: 77px;
 }

#home .header__logo {
    top: calc((100vh - 500px)/2);
    left: 60px;
}

#home.fixed .header__logo,
 .fixed .header__logo {
    top: 20px;
    left: 40px;
}

.fixed .header__logo svg,
.fixed .header__logo img {
    width: auto;
    height: 60px;
}

/*.drawer-open .header__inner {
    background: none;
    -webkit-backdrop-filter: saturate(100%) blur(0);
    backdrop-filter: saturate(100%) blur(0);
}*/

/*.drawer-open .header__logo,
.drawer-open .header-nav {
    visibility: hidden;
    opacity: 0;
    transition: 0.4s;
}*/

.fixed .header__logo { transition: 0s; }

.header-instagram {
    position: absolute;
    top: 50%;
    right: 130px;
    transform: translateY(-50%);
    z-index: 1000;
    line-height: 1;
}

.header-instagram a {
    padding: 10px;
    display: block;
}

@media screen and (orientation: portrait) {
    #home .header__logo { top: 240px; }
}

@media screen and (max-width: 990px) {
    .header { position: fixed; }

    .header__inner { height: 74px; }

    .header__logo {
        position: absolute;
        top: 15px!important;
        left: 20px!important;
        z-index: 100;
        line-height: 1;
    }
    
    #home .header__logo img,
    .fixed .header__logo img,
    .header__logo img {
        width: auto;
        height: 44px;
    }
    
    .header-instagram { right: 80px; }
}


/* header-nav */
.header-nav {
    display: flex;
    justify-content: center;
    width: 100%;
}

.header-nav > li {
    position: relative;
    z-index: 2;
}

.header-nav > li > a {
    font-size: 1.8rem;
    text-decoration: none;
    line-height: 1;
    padding: 41px 24px 41px 26px;
    display: block;
}

.header-mega-menu__wrap {
    position: absolute;
    top: 80px;
    left: 50%;
    z-index: 1;
    transform: translateX(-50%);
    width: 560px;
    display: none;
}

.header-nav-menu__mainimg img { width: 100%; }

.header-nav-menu__index {
    text-align: center;
    margin: 0 0 1em;
}

.header-nav-menu__index a {
    background: url("../img/icon_a_pink.svg") right center no-repeat;
    background-size: 20px;
    font-size: 2rem;
    text-decoration: none;
    padding: 4px 24px 5px 8px;
    display: inline-block;
}

.header-nav-menu {
    background: url("../img/bg_asanoha.gif");
    background-size: 60px 105px;
    border-radius: 10px;
    box-shadow: 0 5px 10px -5px rgba(0,0,0,0.2);
    overflow: hidden;
}

.header-nav-menu__inner { padding: 30px 50px 40px; }

.header-nav-menu__link {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 20px 0;
}

.header-nav-menu__link a {
    color: #282828;
    font-size: 1.5rem;
    text-align: center;
    text-decoration: none;
}

.header-nav-menu__link a img { opacity: 1; }

.header-nav-menu__link figcaption { margin-top: 0.6em; }

.header-nav-menu__link-box { width: 210px; }

.header-nav-menu__link-ph { overflow: hidden; }

.header-nav-menu__link a:hover .header-nav-menu__link-ph img { transform: scale(1.1); }

@media screen and (max-width: 990px) {
    .header-nav { display: none; }
}


/* ----------------------------------------------------------------------
	content
---------------------------------------------------------------------- */

.content { padding: 100px 0 0; }

.content__inner {
    margin: 0 auto;
    max-width: 1100px;
}

.content__inner--small { max-width: 800px; }

@media screen and (max-width: 990px) {
    .content { padding: 74px 0 0; }
    
    .content__inner { margin: 0 8vw; }
}



/* ----------------------------------------------------------------------
	footer-bn-bridal-fair 
---------------------------------------------------------------------- */

.footer-bn-bridal-fair a:hover img { opacity: 1; }

.footer-bn-bridal-fair a {
     position: relative;
     display: flex;
}

.footer-bn-bridal-fair a:hover { opacity: 0.8; }

.footer-bn-bridal-fair a::before {
    content: "";
    position: absolute;
    top: 10px;
    left: 10px;
    width: calc(100% - 20px);
    height: calc(100% - 20px);
    border: 1px solid #fff;
    display: block;
    opacity: 0.6;
}

/*.footer-bn-bridal-fair a::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 40px;
    transform: translateY(-50%);
    background: url("../img/footer_bn_bridal_fair_arrow.png") center center no-repeat;
    background-size: 40px;
    width: 40px;
    height: 40px;
}*/

.footer-bn-bridal-fair__ph-l,
.footer-bn-bridal-fair__ph-r {
    width: 34%;
    display: block;
}

.footer-bn-bridal-fair__ph-l {
    background: url("../img/footer_bn_bridal_fair_ph_l_pc.jpg?=20250210") center top no-repeat;
    background-size: cover;
}

.footer-bn-bridal-fair__ph-r {
    background: url("../img/footer_bn_bridal_fair_ph_r_pc.jpg?=20250210") center center no-repeat;
    background-size: cover;
}

.footer-bn-bridal-fair__ttl {
    background: #ee9985;
    text-align: center;
    padding: 61px 0;
    width: 32%;
}

@media screen and (max-width: 990px) {
    .footer-bn-bridal-fair a::before {
        top: 5px;
        left: 5px;
        width: calc(100% - 10px);
        height: calc(100% - 10px);
    }
    
    /*.footer-bn-bridal-fair a::after {
        right: 20px;
        background-size: 20px;
        width: 20px;
        height: 20px;
    }*/
    
    .footer-bn-bridal-fair__ph-l,
    .footer-bn-bridal-fair__ph-r {
        width: 28%;
        display: block;
    }

    .footer-bn-bridal-fair__ttl {
        padding: 7vw 15px;
        width: 44%;
    }
}
 
 
 /* ----------------------------------------------------------------------
	footer-contact
---------------------------------------------------------------------- */

 .footer-contact {
     background: url("../img/bg_inome.gif") center center;
     background-size: 88px 160px;
     padding: 80px 0;
     display: flex;
     justify-content: center;
     align-items: center;
     gap: 0 100px;
 }
  
 @media screen and (max-width: 990px) {
     .footer-contact {
         padding: 40px 8vw;
         display: block;
     }
     
     .footer-contact__inner { margin: 0 0 0.8em; }
     .footer-contact__inner:last-child { margin: 0; }
 }
 
 
  /* ----------------------------------------------------------------------
	foote
---------------------------------------------------------------------- */

 .footer {
     background: url("../img/bg_pink_wall_pc.gif") center top no-repeat;
     background-size: cover;
     padding: 80px 0 40px;
 }
 
 .footer__inner {
    margin: 0 auto;
    max-width: 1100px;
}
 
.footer__logo {
    text-align: center;
    margin: 0 0 50px;
}


@media screen and (max-width: 990px) {
     .footer {
         background: url("../img/bg_pink_wall_pc.gif") center top;
         padding: 60px 8vw 80px;
     }


    .footer__logo {
        text-align: center;
        margin: 0 0 50px;
    }

    .footer__logo img { width: 160px; }
}


/* footer-nav__main */
.footer-nav__main {
    margin: 0 0 50px;
    display: flex;
    justify-content: space-between;
}

.footer-nav__main > dl dt a,
.footer-nav__main > p a,
.footer-nav__main > ul li a {
    font-size: 1.8rem;
    text-decoration: none;
    display: inline-block;
}

.footer-nav__main > dl dt { margin: 0 0 0.8em; }

.footer-nav__main > dl dt a i { display: none; }

.footer-nav__main-index { display: none; }

.footer-nav__main > dl dd ul li { margin: 0 0 0.6em; }
.footer-nav__main > dl dd ul li:last-child { margin: 0; }

.footer-nav__main > dl dd ul li a { font-size: 1.5rem; }

.footer-nav__main > ul li { margin: 0 0 0.5em; }

@media screen and (max-width: 990px) {
    .footer-nav__main {
        margin: 0 0 40px; 
        display: block;
    }
    
    .footer-nav__main > dl { margin: 0 0 1em; }
    
    .footer-nav__main > dl dt {
        margin: 0;
        border-bottom: 1px solid #282828;
    }
        
    .footer-nav__main > dl dt a {
        position: relative;
        padding: 0 0 0.4em;
        display: block;
    }
    
    .footer-nav__main > dl dt a:hover { color: #282828; }
    
    .footer-nav__main > dl dt a i {
        position: absolute;
        top: 6px;
        right: 0;
        display: block;
    }

    .footer-nav__main > dl dd {
        padding: 16px 20px;
        display: none;
    }
    
    .footer-nav__main-index {
        margin: 0;
        display: block;
    }
    
    .footer-nav__main-index a {
        background: url("../img/icon_a_pink.svg") right center no-repeat;
        background-size: 20px;
        font-size: 1.8rem;
        text-decoration: none;
        padding: 8px 24px 8px 0;
        display: inline-block;
    }
    
    .footer-nav__main > dl dd ul { margin-left: 1em; }
    
    .footer-nav__main > dl dd ul li { margin: 0; }
    
    .footer-nav__main > dl dd ul li a {
        background: url("../img/icon_a_default_black.svg") left center no-repeat;
        background-size: 6px 12px;
        font-size: 1.6rem;
        text-decoration: none;
        padding: 8px 10px;
        display: inline-block;
    }
    
    .footer-nav__main > p,
    .footer-nav__main > ul li {
        margin: 0 0 1em;
        border-bottom: 1px solid #282828;
    }

    .footer-nav__main > p a,
    .footer-nav__main > ul li a {
        background: url("../img/icon_a_default_black.svg") right 4px top 8px no-repeat;
        background-size: 6px 12px;
        padding: 0 0 0.4em;
        display: block;
    }
}


/* footer-nav__sub */
.footer-nav__sub {
    margin: 0 0 60px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.footer-nav__sub-link {
    display: flex;
    gap: 0 30px;
}

.footer-nav__sub-link li a { font-size: 1.4rem; }

.footer-nav__instagram a {
    background: url("../img/icon_instagram.svg") left center no-repeat;
    background-size: 27px;
    font-size: 1.4rem;
    text-decoration: none;
    padding: 5px 0 5px 36px;
    display: block;
}


@media screen and (max-width: 990px) {
    .footer-nav__sub {
        margin: 0 0 40px;
        display: block;
    }

    .footer-nav__sub-link {
        margin: 0 0 40px;
        display: block;
    }

    .footer-nav__sub-link li a {
        background: url("../img/icon_a_default_black.svg") left top 13px no-repeat;
        background-size: 5px 10px;
        padding: 8px 0 8px 10px;
        display: inline-block;
    }
}


/* footer-officail */
.footer-officail {
    margin: 0 0 50px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.footer-officail__100nengura ul {
    display: flex;
    justify-content: flex-end;
    gap: 0 30px;
}

.footer-officail__100nengura ul li { width: 260px; }

@media screen and (max-width: 990px) {
    .footer-officail {
        margin: 0 0 50px;
        display: block;

    }
    
    .footer-officail__tomyoden { margin: 0 0 30px; }
    
    .footer-officail__100nengura ul { display: block; }

    .footer-officail__100nengura ul li {
        margin: 0 0 20px;
        width: auto;
    }
    
    .footer-officail__100nengura ul li:last-child { margin: 0; }
}


.footer__copy {
    font-size: 1.2rem;
    text-align: center;
}


@media screen and (max-width: 990px) {
    .footer__copy span { display: none; }
}


/* pagetop */
.pagetop {
	position: fixed;
	right: 30px;
	bottom: 30px;
	z-index: 100;
	display: none;
}



@media screen and (max-width: 990px) {
	.pagetop {
		right: 20px;
		bottom: 80px;
	}
    
    .pagetop img {
		width: 44px;
		height: 44px;
	}
}


/* ----------------------------------------------------------------------
	mainimg
---------------------------------------------------------------------- */

.l-mainimg {
    position: relative;
    margin: 0 100px 1.6em;
}

.l-mainimg__ph img { width: 100%; }

.l-mainimg__bn-bridal-fair {
    position: absolute;
    top: -60px;
    right: 40px;
}

.l-mainimg__ph--small img {
    height: 26vw;
    object-fit: cover;
}

@media screen and (max-width: 990px) {
    .l-mainimg { margin: 0 0 0.4em; }

    .l-mainimg__bn-bridal-fair.updown { display: none; }
    
    .l-mainimg__ph--small img { height: auto; }
}


/* ----------------------------------------------------------------------
	breadclumb
---------------------------------------------------------------------- */

.breadclumb {
    font-size: 1.4rem;
    margin: 0 100px 5em;
    max-width: 1100px;
}

@media screen and (max-width: 990px) {
	.breadclumb {
		font-size: 1.2rem;
        padding: 10px 0 10px 8vw;
        margin: 0 0 3em;
		overflow-x: auto;
		white-space: nowrap;
	}
}


.breadclumb-schema {
    font-size: 1.4rem;
    display: flex;
        justify-content: flex-start;
    margin: 0 100px 5em;
    max-width: 1100px;
}

@media screen and (max-width: 990px) {
	.breadclumb-schema {
		font-size: 1.2rem;
        padding: 10px 0 10px 8vw;
        margin: 0 0 3em;
		overflow-x: auto;
		white-space: nowrap;
	}
}

.breadclumb-schema li {
    position: relative;
}
.breadclumb-schema li:not(:last-child) {
    margin-right: 20px;
}
/*.breadclumb-schema li:not(:last-child)::after {
    content: '|';
    margin: 0 .5em;
    position: absolute;
}*/

.breadclumb-schema li:not(:last-child)::after {
    content: '|';
    position: absolute;
    top: 0;
    right: -15px;
}


/* ----------------------------------------------------------------------
	heading
---------------------------------------------------------------------- */

/* page__ttl */
.page__ttl {
    color: #282828;
    text-align: center;
    padding-top: 36px;
    margin: 0 0 1.6em;
}

.page__ttl-ja {
    font-size: 2.6rem;
    font-weight: normal;
    margin: 0 0 0.2em;
    padding-left: 0.2em;
}

.page__ttl-en {
    font-size: 1.4rem;
    padding-left: 0.1em;
}

.page__ttl-small {
    margin: 0 0 0.2em;
    padding-left: 0.1em;
}

@media screen and (max-width: 990px) {
    .page__ttl {
        padding-top: 20px;
        margin: 0 0 0.8em;
    }
    
    .page__ttl-ja {
        font-size: 2.2rem;
        margin: 0 0 0.1em;
    }
}


/* page-sub-ttl */
.page-sub-ttl-icon {
    background: url("../img/icon_inome.svg") center top no-repeat;
    background-size: 40px;
    color: #282828;
    text-align: center;
    margin: 0 0 1.6em;
    padding: 46px 0 0;
}

.page-sub-ttl-icon__ja {
    font-size: 2.4rem;
    font-weight: normal;
    padding-left: 0.2em;
}

.page-sub-ttl-icon__ja span { font-size: 1.6rem; }

.page-sub-ttl-icon__en {
    font-size: 1.4rem;
    padding-left: 0.1em;
}

@media screen and (max-width: 990px) {
    .page-sub-ttl-icon { margin: 0 0 1.4em; }
    
    .page-sub-ttl-icon__ja { font-size: 2.2rem; }
    
    .page-sub-ttl-icon__en { font-size: 1.2rem; }
}

.page-sub-ttl {
    color: #282828;
    text-align: center;
    margin: 0 0 1em;
}

.page-sub-ttl__ja {
    font-size: 2.2rem;
    font-weight: normal;
    padding-left: 0.2em;
}

.page-sub-ttl__en {
    font-size: 1.2rem;
    padding-left: 0.1em;
}

@media screen and (max-width: 990px) {
}


.page-sub-ttl-pink {
    color: #ee9985;
    font-size: 2rem;
    font-weight: normal;
    margin: 0 0 1em;
}

@media screen and (max-width: 990px) {
}


/* ----------------------------------------------------------------------
	page-lead
---------------------------------------------------------------------- */

.page-lead {
    text-align: center;
    line-height: 1.8;
    margin: 0 0 2em;
}

.page-lead__ttl { margin: 0 0 30px; }

.page-lead__catch {
    color: #282828;
    font-size: 2rem;
}

.page-lead__txt { margin: 0.8em 0 0; }

.page-lead__space-r { padding-right: 0.5em; }

@media screen and (max-width: 990px) {
    .page-lead__space-r {
        padding-right: 0;
        display: block;
    }
    
    .page-lead__txt { text-align: left; }
    
    .page-lead__txt--sp-center { text-align: center; }
}

/* ----------------------------------------------------------------------
	bn-bridal-fair
---------------------------------------------------------------------- */

.bn-bridal-fair {
    position: fixed;
    bottom: -200px;
    left: 30px;
    z-index: 2;
    transition: 1s;
}

.bn-bridal-fair.on { bottom: 30px; }

#banquet .bn-bridal-fair { display: none; }

@media screen and (max-width: 990px) {
    .bn-bridal-fair {
        bottom: -60px;
        left: 0;
        padding: 0 20px;
        width: 100%;
        transition: 0.4s;
    }
    
    .bn-bridal-fair.on { bottom: 0; }
    
   .bn-bridal-fair.updown {
        animation: none;
        transform: none;
        display: block; 
    }

    .bn-bridal-fair a {
        background: url("../img/bg_asanoha_pink.gif") center center;
        background-size: 60px 70px;
        text-align: center;
        line-height: 1;
        padding: 21px 0;
        display: block;
        border-radius: 10px 10px 0 0;
    }
    
    .bn-bridal-fair a img { width: 140px; }
    
    #banquet .bn-bridal-fair { display: block; }
}

/* ----------------------------------------------------------------------
	btn
---------------------------------------------------------------------- */

/* btn-default */
.btn-default a {
    background: url("../img/icon_a_default.svg") right 20px center no-repeat #fff;
    background-size: 6px 12px;
    color: #282828;
    text-align: center;
    text-decoration: none;
    letter-spacing: .1em;
    padding: 14px 0;
    width: 340px;
    border-radius: 1000px;
    display: inline-block;
    border: 1px solid #ddd;
}

.btn-default--txt-large a { font-size: 1.8rem;  }

.btn-default a:hover { opacity: 0.7; }


/* btn-default--pink */
.btn-default--pink a {
    background: url("../img/icon_a_default_pink.svg") right 20px center no-repeat #fff;
    background-size: 6px 12px;
    color: #ee9985;
    border: 1px solid #fff;
}


/* btn-default--contact */
.btn-default--contact a {
    background: url("../img/icon_a_default_white.svg") right 20px center no-repeat #606060;
    background-size: 6px 12px;
    color: #fff;
    font-size: 1.8rem; 
    border: 1px solid #606060;
}

/* btn-contact__sub */
.btn-contact__sub {
    margin-top: 20px;
    display: flex;
    justify-content: space-between;
}

.btn-contact__sub li { width: 160px; }

.btn-contact__sub li a {
    background: url("../img/icon_a_default_black.svg") right  center no-repeat;
    background-size: 6px 12px;
    text-decoration: none;
    padding: 0 0 8px;
    display: block;
    border-bottom: 1px solid #282828;
}

.btn-contact__sub li a:hover {}

@media screen and (max-width: 990px) {
    .btn-default a {
        width: auto;
        display: block;
    }
    
    .btn-contact__sub li { width: calc(50% - 10px); }
}


/* link-blank */
.link-blank {
	background: url("../img/icon_blank.svg") right center no-repeat;
	background-size: 14px 12px;
	padding-right: 18px;
}


/* link-100nengura */
.link-100nengura ul li { border: 1px solid #ddd; }

.link-100nengura ul li a {
    background: #fff;
    line-height: 1;
    text-align: center;
    text-decoration: none;
    padding: 18px 15px;
    display: block;
}


/* link-tomyoden*/
.link-tomyoden a {
    color: #282828;
    text-decoration: none;
}

.link-tomyoden a:hover img { opacity: 1; } 

.link-tomyoden a:hover { opacity: 0.8; } 

.link-tomyoden dl {
    display: flex;
    align-items: center;
    gap: 0 20px;
}

.link-tomyoden dl dd { text-align: center; }

@media screen and (max-width: 990px) {
    .link-tomyoden dl {
        text-align: center;
        display: block;
    }
    
    .link-tomyoden dl dt { margin: 0 0 15px; }
}


/* tel */
.tel-ttl {
    color: #282828;
    font-size: 2rem;
    text-align: center;
    margin: 0 0 0.2em;
}

.tel-ttl--small { font-size: 1.8rem; }

.tel-num {
    color: #282828;
    font-size: 1.8rem;
    line-height: 1.5;
    text-align: center;
}

.tel-num a {
    color: #282828;
    font-size: 2.8rem;
    text-decoration: none;
}

.tel-time {
    color: #282828;
    text-align: center;
    letter-spacing: 0.14em;
}

@media screen and (max-width: 990px) {
    .tel-num a { text-decoration: underline; }
    
    .tel-ttl { font-size: 1.8rem; }
    
    .tel-num { font-size: 1.6rem; }
    
    .tel-num a { font-size: 2.6rem; }
    
    .tel-time { margin-top: 0.2em; }
    .tel-time span { display: block; }
}


/* link-tel */
a.link-tel {
    color: #606060;
    text-decoration: none;
}

@media screen and (max-width: 990px) {
   a.link-tel { text-decoration: underline; }
}


/* ----------------------------------------------------------------------
	target-block
---------------------------------------------------------------------- */

.target-block {
    margin: -120px 0 0;
    padding: 120px 0 0;
}

@media screen and (max-width: 990px) {
    .target-block {
        margin: -74px 0 0;
        padding: 74px 0 0;
    }
}


/* ----------------------------------------------------------------------
	icon
---------------------------------------------------------------------- */

.list-icon li {
    background: url("../img/icon_list.gif") left 5px no-repeat;
    background-size: 16px;
    padding-left: 20px;
    margin: 0 0 0.6em;
}

.list-icon li:last-child { margin: 0; }

@media screen and (max-width: 990px) {
    
}


/* icon-plus */
.icon-plus {
    position: relative;
    width: 15px;
    height: 15px;
    display: block;
}

.icon-plus:before,
.icon-plus:after {
    content: "";
    position: absolute;
    top: 6px;
    left: 0;
    background: #282828;
    width: 15px;
    height: 1px;
    display: block;
    transition: 0.25s;
}

.icon-plus:before { transform: rotate(90deg); }

.on .icon-plus:before { transform: rotate(0); }


/* ----------------------------------------------------------------------
	table
---------------------------------------------------------------------- */

.tbl {
	width: 100%;
	border-top: 1px solid #ddd;
}

.tbl th,
.tbl td {
	text-align: left;
	padding: 18px 15px 16px 0;
}

.tbl th { font-weight: normal; }

.tbl tr { border-bottom: 1px solid #ddd; }

.tbl th {
    color: #282828;
    width: 28%;
}

@media screen and (max-width: 990px) {
	.tbl { display: block; }
	
	.tbl tbody,
	.tbl tr {
		width: 100%;
		display: block;
	}
	
	.tbl th,
	.tbl td {
        padding: 20px 0;
        display: block;
    }

	.tbl th {
        padding-bottom: 0.4em;
		width: 100%;
	}
    
    .tbl td { padding-top: 0; }
}


/* ----------------------------------------------------------------------
	loacl-nav
---------------------------------------------------------------------- */

.local-nav {
    position: relative;
    margin: 0 0 120px;
}

.local-nav::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: -1;
    background: url("../img/bg_asanoha_pink.gif");
    background-size: 60px 70px;
    width: 100%;
    height: calc(100% - 120px);
}

.local-nav ul {
    max-width: 1100px;
    padding: 0 0 30px;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 40px;
}

.local-nav ul li { width: 340px; }

.local-nav ul li a {
    color: #fff;
    font-size: 2rem;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
}

.local-nav ul li a:hover img { opacity: 1; }

.local-nav__list-ph {
    margin: 0 0 20px;
    overflow: hidden;
}

.local-nav ul li a:hover .local-nav__list-ph img { transform: scale(1.2); }

.local-nav__list-ttl span { font-size: 1.2rem; }
.local-nav__list-ttl { padding-left: 0.2em; }

@media screen and (max-width: 990px) {
    .local-nav { margin: 0 8vw 80px; }

    .local-nav::before { display: none; }

    .local-nav ul {
        display: block;
        padding: 0;
    }

    .local-nav ul li {
        width: auto;
        border-bottom: 1px solid #ddd;
    }

    .local-nav ul li:first-child { border-top: 1px solid #ddd; }

    .local-nav ul li a {
        background: url("../img/icon_local_nav.svg") right center no-repeat;
        background-size: 18px 8px;
        color: #282828;
        font-size: 1.6rem;
        text-align: left;
        padding: 15px 0;
        display: block;
    }

    .local-nav ul li figure {
        display: flex;
        align-items: center;
    }

    .local-nav__list-ph { margin: 0; }
    
    .local-nav__list-ph img {
        width: 60px;
        height: 60px;
        object-fit: cover;
    }

    .local-nav__list-ph:hover img { transform: scale(1); }

    .local-nav__list-ttl { padding: 0 30px 0 15px; }
}

/* local-nav-txt */
.local-nav-txt {
    background: #fff;
    margin: 0 0 80px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px 50px;
    border-top: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
}

.local-nav-txt li a {
    background: url("../img/icon_local_nav.svg") left center no-repeat;
    background-size: 18px 8px;
    padding: 14px 0 14px 24px;
    text-decoration: none;
    display: inline-block;
}

@media screen and (max-width: 990px) {
    .local-nav-txt {
        display: block;
        border-bottom: none;
    }

    .local-nav-txt li { border-bottom: 1px solid #ddd; }

    .local-nav-txt li a {
        background-position: right center;
        padding: 12px 0;
        text-decoration: none;
        display: block;
    }
}


/* ----------------------------------------------------------------------
	modal
---------------------------------------------------------------------- */

.modal-open { overflow: hidden; }

.modal {
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	top: 0;
	z-index: 100001;
	display: none;
	overflow: hidden;
	outline: 0 none;
	box-sizing: border-box;
}

.modal-open .modal {
    overflow-x: hidden;
    overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}

.modal__table {
	display: table;
	width: 100%;
	height: 100%;
}

.modal__table-cell {
	display: table-cell;
	vertical-align: middle;	
}

.modal__content {
	position: relative;
	background: #fff;
	padding: 100px;
	margin: 0 auto;
	max-width: 960px;
	box-sizing: border-box;
}

.modal__btn-close {
	position: absolute;
	top: 30px;
	right: 55px;
	cursor: pointer;
}

.modal__btn-close:hover { opacity: 0.8; }

.modal__btn-close-icon {
	position: relative;
    width: 40px;
    height: 40px;
	display: block;
}
.modal__btn-close-icon::before,
.modal__btn-close-icon::after {
    content: "";
    position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 1px;
	background: #fff;
    display: block;
}

.modal__btn-close-icon::before { transform: translate(-50%,-50%) rotate(45deg);}
.modal__btn-close-icon::after { transform: translate(-50%,-50%) rotate(-45deg); }

@media screen and (max-width: 990px) {
    .modal__btn-close {
        top: 20px;
        right: 20px;
    }
}


/* ----------------------------------------------------------------------
	columns
---------------------------------------------------------------------- */

/* l-column */
.l-column2,
.l-column3 {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 60px 0;
}

.l-column2__inner { width: 520px; }

.l-column3__inner { width: 340px; }

@media screen and (max-width: 990px) {
    .l-column2,
    .l-column3 { display: block; }

    .l-column2__inner,
    .l-column3__inner {
        margin: 0 0 40px;
        width: auto;
    }
    
    .l-column2__inner:last-child,
    .l-column3__inner:last-child { margin: 0; }
}


/* l-columns-sticky */
.l-columns-sticky {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}

.l-columns-sticky__sidebar {
    position: sticky;
    top: 120px;
    left: 0;
    width: 260px;
}

.l-columns-sticky__sidebar ul li { margin: 0 0 1.4em; }

.l-columns-sticky__sidebar ul li a {
    background: url("../img/icon_a_pink.svg") left top 5px no-repeat;
    background-size: 16px;
    text-decoration: none;
    padding: 4px 0 4px 22px;
}

.l-columns-sticky__content {
    padding:  0 0 40px;
    width: 800px;
}

@media screen and (max-width: 990px) {
    .l-columns-sticky { display: block; }

    .l-columns-sticky__sidebar {
        position: static;
        width: auto;
        margin: 0 0 80px;
    }

    .l-columns-sticky__sidebar ul li {
        margin: 0;
        border-bottom: 1px solid #ddd;
    }
    
    .l-columns-sticky__sidebar ul li:first-child { border-top: 1px solid #ddd; }

    .l-columns-sticky__sidebar ul li a {
        background: url("../img/icon_local_nav.svg") right center no-repeat;
        background-size: 18px 8px;
        padding: 12px 0;
        display: block;
    }

    .l-columns-sticky__content {
        padding:  0;
        width: auto;
    }
}

/* ----------------------------------------------------------------------
	blog
---------------------------------------------------------------------- */

/*l-columns-blog  */
.l-columns-blog {
    margin: 0 0 120px;
	display: flex;
	justify-content: space-between;
    flex-direction: row-reverse;
}

.l-columns-blog__content { width: 800px; }

.l-columns-blog__sidebar { width: 260px; }

.l-columns-blog__sidebar-box { margin: 0 0 60px; }
.l-columns-blog__sidebar-box:last-child { margin: 0; }

.l-columns-blog__sidebar-ttl { margin: 0 0 1em; }

.l-columns-blog__sidebar-ttl-ja {
    color: #282828;
    font-size: 2rem;
    font-weight: normal;
}

.l-columns-blog__sidebar-ttl-en { font-size: 1.2rem; }

.l-columns-blog__sidebar-list li { margin: 0 0 1em; }

.l-columns-blog__sidebar-list li:last-child { margin: 0; }

@media screen and (max-width: 990px) {
	.l-columns-blog { display: block; }
    
    .l-columns-blog__content,
    .l-columns-blog__sidebar { width: auto; }
}


/* l-blog__list */
.l-blog__list { border-top: 1px solid #ddd; }

.l-blog__list--deatil { margin: 0 0 160px; }

.l-blog__list-inner {
    display: flex;
    align-items: center;
}

.l-blog__list li { border-bottom: 1px solid #ddd; }
 
.l-blog__list li a {
    background: url("../img/icon_a_default.svg") right 20px center no-repeat;
    background-size: 6px 12px;
    color: #444;
    text-decoration: none;
    padding: 20px;
    display: block;
}

.l-blog__list li a:hover img { opacity: 1; }

.l-blog__list li a:hover { opacity: 0.8; }
    
.l-blog__list-ph { width: 110px; }

.l-blog__list-ph img {
    width: 80px;
    height: 80px;
    object-fit: cover;
}

.l-blog__list-date { color: #ee9985; }

.l-blog__list-block { width: 690px; }

 @media screen and (max-width: 990px) {
    .l-blog__list { margin: 0 0 80px; }
    
    .l-blog__list li a {
        background: none;
        padding: 20px 0;
    }
    
    .l-blog__list-ph { width: 100px; }
    .l-blog__list-ph img { width: 80px; }

    .l-blog__list-date {
        margin: 0 0 0.4em;
        width: auto;
    }

    .l-blog__list-block {
        width: calc(100% - 100px);
        display: block;
    }

}
 
 
/* l-blog__detail */
.l-blog__detail { margin: 0 0 120px; }

.l-blog__detail--mb60 { margin: 0 0 60px; }

.l-blog__detail-header {
    font-weight: normal;
    text-align: center;
    margin: 0 0 1.4em;
}
 
.l-blog__detail-date { color: #ee9985; } 
 
.l-blog__detail-ttl {
    color: #282828;
    font-size: 1.8rem;
    font-weight: normal;
	padding: 0 0 0.6em;
	margin: 0 0 0.6em;
	border-bottom: 1px solid #ddd;
}

.l-blog__detail-ttl a { text-decoration: none; }

.l-blog__detail-body p { margin: 0 0 1em; }
.l-blog__detail-body p:last-child { margin: 0; }

.l-blog__btn-return {
    text-align: center;
    margin: 0 0 100px;
}

@media screen and (max-width: 990px) {    
    .l-blog__detail { margin: 0 0 80px; }
    
    .l-blog__detail--mb60 { margin: 0 0 40px; }
    
    .l-blog__detail-header { margin: 0 0 1em; }
    
    .l-blog__detail-ttl { text-align: left; }
    
    .l-blog__btn-return { margin: 0 0 80px; }
}


/* ----------------------------------------------------------------------
	topics
---------------------------------------------------------------------- */

.l-topics__list {
    display: flex;
    flex-wrap: wrap;
    gap: 50px;
}

.l-topics__list--home {
    padding: 22px 0 0;
    width: 1010px;
}

.l-topics__list--index {
    margin: 0 auto 160px;
    max-width: 1010px;
}

.l-topics__list li { width: 300px; }

.l-topics__list li a {
    color: #282828;
    text-decoration: none;
    display: block;
}

.l-topics__list li a:hover { opacity: 0.8; }

.l-topics__list li a img {
    width: 100%;
    opacity: 1;
}

.l-topics__list-date {
    color: #ee9985;
    margin: 0 0 0.6em;
}

.l-topics__list-ph { margin: 0 0 15px; }

.l-topics__list-btn {
    background: url("../img/icon_a_default.svg") right center no-repeat;
    background-size: 6px 12px;
    font-size: 1.4rem;
    padding: 14px 0;
    border-bottom: 1px solid #eee;
}

@media screen and (max-width: 990px) {
      .l-topics__list-wrap {
        margin: 0 0 30px 8vw;
        overflow: auto;
    }
    
    .l-topics__list--home {
        padding: 0;
        width: 870px;
        display: flex;
        gap: 0 30px;
    }
    
    .l-topics__list--home li { width: 260px; }
    
    .l-topics__list--index { margin: 0 8vw 80px; }
    
    .l-topics__list--index li { width: 100%; }
}


/* ----------------------------------------------------------------------
	wordpress
---------------------------------------------------------------------- */

/* wp-block-image */
.wp-block-image {
    padding: 5px 0 0;
    margin: 0 0 20px;
}
.wp-block-image:last-child { margin: 0; }


/* wp-pagenavi */
.wp-pagenavi {
	text-align: center;
	margin: 60px 0 160px;
}

.wp-pagenavi span,
.wp-pagenavi a {
    color: #ee9985;
    font-size: 1.4rem;
	text-decoration: none!important;
	padding: 6px 12px 7px 15px;
	margin: 0 5px 10px;
	border: 1px solid #ee9985;
    display: inline-block;
}

.wp-pagenavi .current,
.wp-pagenavi a:hover {
	background: #ee9985;
	color: #fff;
}

@media screen and (max-width: 990px) {
    .wp-pagenavi { margin: 40px 0 80px; }
}

/* pager */
.wp-pager {
	text-align: center;
	margin: 0 0 60px;
}


/* img */
.wp-block-image img {
	width: 100%;
	height: auto;
}

@media screen and (max-width: 990px) {
	.alignleft,
	.alignright {
		margin: 0 auto;
		float: none;
	}
}


/* 20250301 タイトル画像調整 */
.h2-img {
    margin: 0 0 0.6em;
}
.h2-img-2 {
    padding-left: 0.2em;
    margin-bottom: 1rem;
}
.h2-title-3 {
    margin-bottom: .6em;
}
.h3-title-1 {
    margin-bottom: .3em;
}
.img-title-1 {
    margin-bottom: .6em;
}
.img-title-2 {
    margin-bottom: .3em;
}
.img-title-center {
    text-align: center;
}

@media screen and (max-width: 990px) {

}