@charset "UTF-8";
html { scroll-behavior: smooth; }

body { position: relative; color: black; font-family: "Noto Sans JP", sans-serif; font-weight: normal; }

main { position: relative; line-height: 1.6; }

img { max-width: 100%; display: block; }

a { transition: .2s; color: inherit; text-decoration: underline; font-weight: inherit; }

a:hover { opacity: 0.7; }

.anchor_link { position: relative; z-index: -100; }

p { margin: 0; }

ul { margin: 0; padding: 0; list-style: none; }

.mt0 { margin-top: 0 !important; }

.mb0 { margin-bottom: 0 !important; }

.mincho { font-family: "Noto Serif JP", serif; font-weight: 500; }

a { text-decoration: none; }

@media (min-width: 768px) { body { font-size: 15px; min-width: 1100px; padding-top: 100px; }
  main { margin: 0 auto; }
  .pcnone { display: none !important; }
  .container { max-width: none; width: 1030px; padding: 0 15px; }
  .anchor_link { padding-top: 100px; margin-top: -100px; }
  .white_box { background-color: #fff; padding: 50px; border-radius: 50px; } }
@media (max-width: 767.98px) { body { font-size: 13px; padding-top: 50px; }
  main { min-height: calc(100svh - 70px - 90px - 472px); background-color: #fdf8f7; }
  .spnone { display: none !important; }
  .container { padding: 0 20px; }
  .anchor_link { padding-top: 80px; margin-top: -80px; } }
/* タイトル */
.mincho_title { font-family: "Noto Serif JP", serif; }

.flower_title { position: relative; font-weight: normal; }
.flower_title::before { content: ""; background-image: url("../images/icon/flower.svg"); position: absolute; left: 0; top: 0; }
.flower_title.mb2 { margin: 0 0 25px 0; }

.pink_border_title { border-bottom: 1px solid #ef8291; padding: 0 0 10px 0; position: relative; font-weight: normal; }
.pink_border_title span { color: #ef8291; position: absolute; right: 0; }

@media (min-width: 768px) { .mincho_title { font-size: 26px; }
  .flower_title { padding: 0 0 0 30px; font-size: 16px; margin: 0 0 20px 0; }
  .flower_title::before { background-size: 19px 20px; width: 19px; height: 20px; }
  .pink_border_title { font-size: 14px; }
  .pink_border_title span { font-size: 12px; } }
@media (max-width: 767.98px) { .mincho_title { font-size: 18px; }
  .flower_title { position: relative; padding: 0 0 0 20px; font-size: 13px; margin: 0 0 15px 0; }
  .flower_title::before { background-size: 15px 16px; width: 15px; height: 16px; }
  .pink_border_title { font-size: 13px; padding: 0 0 5px 0; margin: 0 0 30px 0; }
  .pink_border_title span { font-size: 10px; position: absolute; bottom: -18px; left: 0; } }
.ttl1 { border-bottom: 1px solid #77155a; position: relative; font-family: "Noto Serif JP", serif; }
.ttl1 span { z-index: 2; position: relative; }
.ttl1::before { content: ''; background-image: url("../../images/deco/deco3.svg"); background-repeat: no-repeat; position: absolute; opacity: 0.5; }
.ttl1.no_flower::before { display: none; }
@media (min-width: 768px) { .ttl1 { font-size: 26px; padding-bottom: 10px; margin: 120px 0 70px; }
  .ttl1::before { background-size: 100px 100px; width: 110px; height: 110px; left: -57px; top: -31px; }
  .ttl1 .ttl_sm { font-size: 16px; color: #ef8291; font-weight: bold; margin: 0 0 0 15px; } }
@media (max-width: 767.98px) { .ttl1 { font-size: 20px; padding-bottom: 10px; margin: 60px 0 30px; }
  .ttl1::before { width: 80px; height: 80px; left: -28px; top: -23px; }
  .ttl1 .ttl_sm { font-size: 14px; color: #ef8291; font-weight: bold; margin: 2px 0 0 0; display: block; } }

.ttl2 { border-bottom: 1px solid #aaa; position: relative; font-family: "Noto Serif JP", serif; }
.ttl2 span { border-bottom: 1px solid #77155a; }
@media (min-width: 768px) { .ttl2 { font-size: 22px; padding-bottom: 7px; margin: 0 0 80px; } }
@media (max-width: 767.98px) { .ttl2 { font-size: 18px; padding-bottom: 7px; margin: 0 0 30px; } }

/* ボタン */
.kadomaru_btn { background-color: #ef8291; color: #fff; border-radius: 50px; position: relative; display: flex; align-items: center; justify-content: center; text-decoration: none; border: 0; }
.kadomaru_btn::before { content: ""; background-image: url("../images/icon/arrow.svg"); background-size: 26px 9px; width: 26px; height: 9px; position: absolute; right: 7px; }
.kadomaru_btn.gray { background-color: #bbb; }
.kadomaru_btn.gray::before { left: 7px; right: auto; transform: rotate(180deg); }
@media (min-width: 768px) { .kadomaru_btn { font-size: 14px; width: 200px; height: 50px; }
  .kadomaru_btn.long { width: 280px; margin: 0 auto; } }
@media (max-width: 767.98px) { .kadomaru_btn { font-size: 13px; width: 200px; height: 36px; margin: 0 auto; } }

/* ヘッダー */
header { position: fixed; left: 0; top: 0; display: flex; align-items: center; width: 100%; background-color: white; z-index: 100; border-bottom: 1px solid #d4d4d4; transition: .2s; }
header > .logo { display: block; margin: 0; line-height: 1em; position: relative; z-index: 2; }
header > .logo img { display: block; width: auto; }
@media (min-width: 768px) { header { height: 100px; padding: 0 16px; }
  header > .logo img { width: 312px; } }
@media (max-width: 999.98px) { header { padding: 0 11px; }
  header > .logo img { width: 250px; } }
@media (max-width: 767.98px) { header { height: 50px; padding: 0 11px; }
  header > .logo img { width: 314px; } }

.header_menu { width: 100%; display: flex; justify-content: flex-end; align-items: flex-end; }
.header_menu .left_menu { display: flex; font-size: 14px; margin: 0 0 10px 0; }
.header_menu .left_menu > div { margin: 0 18px; position: relative; }
.header_menu .left_menu > div:hover .dd_box { visibility: visible; opacity: 1; }
.header_menu .left_menu .dd_box { background-color: rgba(230, 230, 230, 0.9); position: absolute; left: calc(50% - 110px); top: 41px; width: 220px; visibility: hidden; opacity: 0; text-align: left; transition: .3s; font-size: 14px; }
.header_menu .left_menu .dd_box a { height: 40px; border-bottom: 1px solid #fff; display: flex; align-items: center; padding: 0 0 0 28px; position: relative; }
.header_menu .left_menu .dd_box a:hover { opacity: 0.7; }
.header_menu .left_menu .dd_box a::before { content: ""; position: absolute; left: 12px; border-radius: 50%; width: 6px; height: 6px; background-color: #ef8291; }
.header_menu .left_menu .dd_box a:last-child { border: 0; }
.header_menu .right_menu { font-size: 12px; }
.header_menu .right_menu .top_icon { display: flex; margin: 0 0 10px 0; }
.header_menu .right_menu .top_icon a { display: flex; align-items: center; margin: 0 10px 0 0; }
.header_menu .right_menu .top_icon a span { width: 30px; height: 30px; background-color: #ef8291; border-radius: 50%; display: flex; justify-content: center; align-items: center; }
.header_menu .right_menu .top_icon a:last-child span { background-color: #fff; border: 1px solid #ef8291; margin: 0 5px 0 0; }
.header_menu .right_menu .top_icon a img { width: auto; height: 20px; }
.header_menu .right_menu .top_btn { display: flex; }
.header_menu .right_menu .top_btn a { background-color: #77155a; color: #fff; width: 140px; height: 40px; display: flex; justify-content: center; align-items: center; border-radius: 5px; margin: 0 10px 0 0; }
.header_menu .right_menu .top_btn a:last-child { margin: 0; }
.header_menu .right_menu .top_btn a:first-child { background-color: #a279da; }
@media (max-width: 999.98px) { .header_menu .left_menu { font-size: 12px; }
  .header_menu .left_menu > div { margin: 0 8px; }
  .header_menu .left_menu .dd_box { top: 38px; }
  .header_menu .right_menu { font-size: 12px; }
  .header_menu .right_menu .top_btn { font-size: 11px; }
  .header_menu .right_menu .top_btn a { width: 110px; } }
@media (max-width: 767.98px) { .header_menu .left_menu { display: none; }
  .header_menu .right_menu { font-size: 12px; margin: 0 20px 0 0; }
  .header_menu .right_menu .top_icon { margin: 0; }
  .header_menu .right_menu .top_icon a { display: flex; align-items: center; margin: 0 10px 0 0; }
  .header_menu .right_menu .top_icon a span { width: 30px; height: 30px; background-color: #ef8291; border-radius: 50%; display: flex; justify-content: center; align-items: center; }
  .header_menu .right_menu .top_icon a:last-child span { background-color: #fff; border: 1px solid #ef8291; margin: 0 5px 0 0; }
  .header_menu .right_menu .top_icon a img { width: auto; height: 20px; }
  .header_menu .right_menu .top_icon a p { display: none; }
  .header_menu .right_menu .top_btn { position: fixed; bottom: 0; left: 0; width: 100%; }
  .header_menu .right_menu .top_btn a { background-color: #77155a; color: #fff; width: 100%; height: 50px; display: flex; justify-content: center; align-items: center; border-radius: 0; margin: 0; font-size: 14px; }
  .header_menu .right_menu .top_btn a:last-child { margin: 0; }
  .header_menu .right_menu .top_btn a:first-child { background-color: #a279da; } }

@media (min-width: 768px) { #nav_toggle { display: none; } }
@media (max-width: 767.98px) { #nav_toggle { position: fixed; cursor: pointer; top: 0px; right: 0; z-index: 103; transition: .2s; width: 40px; height: 50px; }
  #nav_toggle > span { position: absolute; display: block; background-color: #4f4f4f; transition: .2s; width: 16px; height: 2px; left: calc(50% - 7px - 5px); }
  #nav_toggle > span:nth-child(1) { top: calc(50% - 1px - 4px); }
  #nav_toggle > span:nth-child(2) { top: calc(50% - 1px + 4px); } }

.menu_open #nav_toggle > span:nth-child(2) { transform: rotate(-135deg); }
.menu_open #nav_toggle > span:nth-child(1) { transform: rotate(135deg); }
.menu_open #header_nav { opacity: 1; visibility: visible; }
@media (min-width: 768px) { .menu_open #nav_toggle { display: none; } }
@media (max-width: 767.98px) { .menu_open #nav_toggle > span { left: calc(50% - 12px); }
  .menu_open #nav_toggle > span:nth-child(1), .menu_open #nav_toggle > span:nth-child(2) { top: calc(50% - 1px); } }

@media (min-width: 768px) { #header_nav { display: none; } }
@media (max-width: 767.98px) { #header_nav { position: fixed; top: 50px; width: 100%; height: calc(100svh - 50px); font-size: 15px; padding: 22px 35px 10px 35px; z-index: 101; background-color: #fdfdff; color: #000; overflow: auto; opacity: 0; visibility: hidden; transition: .2s; }
  #header_nav > ul { list-style: none; padding: 0; }
  #header_nav > ul > li { margin-bottom: 20px; }
  #header_nav > ul > li > a { text-decoration: none; font-weight: 700; }
  #header_nav > ul > li.sub { font-size: 12px; margin-bottom: 35px; }
  #header_nav > ul > li > .inul { font-size: 13px; margin: 15px 0 20px 15px; }
  #header_nav > ul > li > .inul > li { margin: 0 0 5px 0; } }

/* フッター */
footer #page_top { display: none; }
@media (min-width: 768px) { footer .footer_pp { text-align: center; font-size: 13px; text-decoration: underline; margin: 30px auto 15px; }
  footer .footer_pp a { margin: 0 10px; }
  footer .copy { text-align: center; height: 40px; display: flex; align-items: center; justify-content: center; background-color: #fdf8f7; font-size: 11px; } }
@media (max-width: 767.98px) { footer { margin: 0 0 50px 0; }
  footer .footer_pp { text-align: center; font-size: 12px; text-decoration: underline; margin: 0 auto 25px; }
  footer .footer_pp a { margin: 0 10px; }
  footer .copy { text-align: center; height: 35px; display: flex; align-items: center; justify-content: center; background-color: #fdf8f7; font-size: 11px; } }

.footer_dl { display: flex; justify-content: space-between; flex-wrap: wrap; }
.footer_dl > dt { font-weight: 600; width: 100%; text-align: center; position: relative; font-family: "Noto Serif JP", serif; color: #77155a; letter-spacing: 1px; }
.footer_dl > dd > a { display: block; font-weight: 500; text-decoration: none; }
.footer_dl > dd > a > figure { border: #c3c3c3 solid 1px; margin: 0; }
.footer_dl > dd > a > figure > img { display: block; }
.footer_dl > dd > a > p { line-height: 1em; text-align: center; }
@media (min-width: 768px) { .footer_dl { padding: 35px 0 30px; margin: 0 auto; width: 1000px; border-bottom: 1px solid #b9b9b9; }
  .footer_dl > dt { margin: 0 0 25px; font-size: 24px; }
  .footer_dl > dd { width: 240px; margin: 0; font-size: 11px; }
  .footer_dl > dd.long_dd { margin: 0 380px 20px; }
  .footer_dl > dd > a > figure { width: 240px; height: 60px; padding: 10px; display: flex; justify-content: center; align-items: center; }
  .footer_dl > dd > a > figure > img { display: block; max-height: 32px; }
  .footer_dl > dd > a > p { margin: .5em 0 0; }
  .footer_dl .full_dd { width: 100%; }
  .footer_dl .full_dd .all_lead_text { margin: 0; } }
@media (max-width: 767.98px) { .footer_dl { justify-content: center; align-items: center; padding: 0 0 15px; max-width: 500px; margin: 20px; }
  .footer_dl > dt { margin: 0; font-size: 13px; }
  .footer_dl > dd { margin: 20px 0 0; width: 100%; max-width: 350px; font-size: 11px; }
  .footer_dl > dd > a > figure { height: 50px; padding: 10px; display: flex; justify-content: center; align-items: center; }
  .footer_dl > dd > a > figure > img { display: block; max-height: 32px; }
  .footer_dl > dd > a > p { margin: 5px 0 0; min-height: 15px; }
  .footer_dl .full_dd { width: 100%; }
  .footer_dl .full_dd .all_lead_text { margin: 0; } }

.footer_admin { display: flex; align-items: center; }
.footer_admin > a { display: block; }
.footer_admin > a > img { display: block; width: auto; height: 100%; }
@media (min-width: 768px) { .footer_admin { justify-content: center; margin: 30px 0 34px; }
  .footer_admin > a { margin: 0 15px; }
  .footer_admin > a:nth-child(1) { height: 32px; }
  .footer_admin > a:nth-child(2) { height: 32px; }
  .footer_admin > a:nth-child(3) { height: 27px; } }
@media (max-width: 767.98px) { .footer_admin { justify-content: space-between; margin: 0 0 50px; border-top: 1px solid #b9b9b9; padding: 40px 0 0 0; }
  .footer_admin > a:nth-child(1) { height: 29px; }
  .footer_admin > a:nth-child(2) { height: 28px; }
  .footer_admin > a:nth-child(3) { height: 25px; } }

/* ニュース */
.news_container { background-color: white; position: relative; z-index: 3; position: relative; opacity: 1; visibility: visible; }
.news_container > .midashi_base { font-family: "Noto Serif JP", serif; }
.news_container > nav > .nav-tabs { border: 0; }
.news_container > nav > .nav-tabs > .nav-link { border: 0; color: #757575; line-height: 1em; font-weight: 500; text-align: center; }
.news_container > nav > .nav-tabs > .nav-link.active { border-bottom: 3px solid #77155a; color: #77155a; }
@media (min-width: 768px) { .news_container { padding: 55px 20px 50px; border-radius: 50px; margin: 0 auto 0; }
  .news_container > nav > .nav-tabs { display: flex; justify-content: center; gap: 0 50px; padding: 0 10px; font-size: 14px; margin: 0 0 30px 0; }
  .news_container > nav > .nav-tabs > .nav-link { padding: 0 0 8px 0; }
  .news_container > .tab-content { margin: 0 auto; min-height: 200px; }
  .news_container > .midashi_base { text-align: center; margin: 0 0 40px 0; }
  .news_container > .kadomaru_btn { margin: 35px auto 0; } }
@media (max-width: 767.98px) { .news_container { padding: 22px 10px 40px; border-radius: 25px; margin: 0; }
  .news_container > nav { margin: 15px -10px 0px; }
  .news_container > nav > .nav-tabs { justify-content: flex-start; padding: 0 5px; font-size: 10px; }
  .news_container > nav > .nav-tabs > .nav-link { width: calc(33% - 10px); height: 30px; margin: 5px; border-bottom-color: transparent; padding: 8px 4px; font-size: 13px; position: relative; }
  .news_container > nav > .nav-tabs > .nav-link.active { border-bottom: 0; color: #77155a; }
  .news_container > nav > .nav-tabs > .nav-link.active::before { content: ""; background-color: #77155a; width: 24px; height: 2px; position: absolute; bottom: 0; left: calc(50% - 12px); }
  .news_container > .midashi_base { text-align: center; margin: 0 0 15px 0; }
  .news_container > .midashi_base h2 { font-size: 18px; margin: 0; }
  .news_container > .link_base { margin: 25px auto 0; } }

.news_list { padding: 0; margin: 0; list-style: none; }
.news_list > li > a { text-decoration: none; display: flex; align-items: center; font-weight: 500; border-bottom: 1px solid #d4d4d4; }
.news_list > li > a > p { margin: 0; }
.news_list > li > a > p.ct { display: flex; align-items: center; color: #77155a; }
.news_list > li > a > p.ttl > strong { font-weight: 500; }
@media (min-width: 768px) { .news_list { border-top: 1px solid #d4d4d4; }
  .news_list > li > a { font-size: 14px; height: 60px; }
  .news_list > li > a > .ymd { width: 120px; text-align: center; }
  .news_list > li > a > .ct { width: 90px; height: 20px; border-radius: 10px; }
  .news_list > li > a > .ttl { width: calc(100% - 120px - 90px - 20px); margin-left: 20px; } }
@media (max-width: 767.98px) { .news_list { margin: 20px 0 0 0; border-top: 1px solid #d4d4d4; }
  .news_list > li > a { font-size: 12px; padding: 15px 10px; flex-wrap: wrap; }
  .news_list > li > a > .ct { width: 70px; height: 15px; border-radius: 7.5px; margin-left: 7.5px; }
  .news_list > li > a > .ttl { width: 100%; font-size: 13px; }
  .news_list > li:last-child { margin: 0 0 20px 0; }
  .news_list > li:last-child > a { border-bottom: 0; } }

/* パンくずリスト */
.breadcrumb_container { background-color: transparent; z-index: 4; position: absolute; background-color: transparent; }
.breadcrumb_container > .breadcrumb { margin: 0; justify-content: flex-start; }
.breadcrumb_container > .breadcrumb > .breadcrumb-item { font-weight: 400; color: #000; }
.breadcrumb_container > .breadcrumb > .breadcrumb-item > a { text-decoration: none; font-weight: 400; color: #000; }
.breadcrumb_container > .breadcrumb > .breadcrumb-item + .breadcrumb-item::before { content: "＞"; font-weight: 400; color: #000; }
@media (min-width: 768px) { .breadcrumb_container { font-size: 14px; padding: 7px 12px; } }
@media (max-width: 767.98px) { .breadcrumb_container { font-size: 12px; padding: 5px 10px; } }
