@charset "utf-8";

@font-face { font-family: 'Font Awesome 6 Free'; font-style: normal; font-weight: 900; font-display: block; src: url('/data/common/c2101a083401/css/fontawesome/webfonts/fa-solid-900.woff2') format('woff2'), url('/data/common/c2101a083401/css/fontawesome/webfonts/fa-solid-900.ttf') format('truetype') }

:root { --basecolor: 214, 186, 145 }
:root { --textcolor: 0, 0, 0 }
:root { --bordercolor: 221, 221, 221 }
:root { --blogcolor: 214, 186, 145 }

.cmshtml { scroll-behavior: smooth }
.cmshtml * { box-sizing: border-box; -webkit-tap-highlight-color: transparent }
.cmshtml body { margin: 0; background-color: #fff; color: rgb(var(--textcolor)); line-height: 1.732; font-size: clamp(15px, calc(0.142vw + 14.47px), 16px); font-family: 'Noto Serif JP', serif; font-feature-settings: 'palt'; font-weight: 300 }
.cmshtml section, div, dl { display: flow-root }
.cmshtml p { margin: 0 }
.cmshtml a { color: rgba(0, 51, 204, 1) }
.cmshtml a:hover { color: rgba(0, 51, 204, .64) }
.cmshtml :is(ul, ol, dl, dt, dd) { margin: 0; padding: 0 }
.cmshtml :is(h1, h2, h3, h4, h5, h6) { margin: 0 }
.cmshtml img { border: none; vertical-align: top }
.cmshtml a img { transition: .3s }
.cmshtml a:hover img { opacity: .72 }
.cmshtml #wrapper img { height: auto }
.cmshtml mark { background: linear-gradient(transparent 64%, #ffdfef 64%); color: #000; padding: 0 1px 1px }
.cmshtml label { display: block; caret-color: transparent }
.cmshtml :is(input[type='text'], input[type='file'], input[type='email'], input[type='tel'], input[type='number'], input[type='date'], input[type='password'], textarea, select) { border: 2px solid #ddd !important; transition: .3s !important; outline: none }
.cmshtml :is(input[type='text'], input[type='file'], input[type='email'], input[type='tel'], input[type='number'], input[type='date'], input[type='password'], textarea, select):focus { border-color: #1b95e0 !important; box-shadow: none !important }
.cmshtml :is(button, input[type='submit'], input[type='button']) { transition: .3s !important; font-size: 92%; cursor: pointer; font-family: 'Noto Sans JP', sans-serif; border: 2px solid rgb(var(--basecolor)) !important; color: #fff; background: rgb(var(--basecolor)) !important }
.cmshtml :is(button[type='submit'], input[type='submit'], input[type='button']):hover { color: rgb(var(--basecolor)) !important; background: #fff !important; box-shadow: none !important }
.cmshtml button[type='reset'], .rdcontact_btn_back { border: 3px solid #ccc !important; background: #fff !important; margin-right: 8px; transition: .3s !important; font-size: 92%; cursor: pointer; font-family: 'Noto Sans JP', sans-serif; font-weight: 500; color: #999 !important }
.cmshtml button[type='reset']:hover, .rdcontact_btn_back:hover { opacity: .64; box-shadow: none !important }
.cmshtml form dl { background-color: rgb(250, 249, 244); border: 1px solid rgb(239, 237, 222); border-radius: 8px; padding: 8px 16px !important }
.cmshtml form dt { margin-bottom: 4px !important; font-size: 92% }
.cmshtml .contact_item_title::before { font-family: 'Font Awesome 6 Free'; content: '\f0da\00a0'; font-weight: 900 }
.cmshtml form dt span { color: #fff; font-weight: 400; font-size: 75%; line-height: 1.1; padding: 1px 4px 3px; border-radius: 4px; border: none; background-color: #f90; display: inline-block; margin-left: 8px }
.cmshtml form dd { margin-top: 12px }
.cmshtml textarea { width: calc(100% - 14px) }
.cmshtml .contact_item_title:not(:first-child) { margin-top: 16px !important }
.cmshtml caption { caption-side: bottom; font-size: 88%; margin-top: 8px; color: #777 }
.cmshtml figure img { max-width: 100% }
.cmshtml figcaption { text-align: center; font-size: 88%; margin-top: 8px }
.cmshtml table { border-collapse: collapse }
.cmshtml iframe { border: none }

@-moz-document url-prefix() {
:root { --mypadding: 17px }
}

@media not all and (min-resolution: 0.001dpcm) {
@supports (-webkit-appearance: none) {
:root { --mypadding: 15px }
}
}

@supports (-webkit-appearance: none) and (not (-moz-appearance: none)) {
:root { --mypadding: 15px }
@media (forced-colors: active) {
:root { --mypadding: 15px }
}
}

.cmshtml #mymodaltoggle { display: none }
.cmshtml #mymodalhamberger { display: block; cursor: pointer }
.cmshtml #mymodalhamberger span { display: block; background-color: #f0f0f0; transition: .4s; transform-origin: 0; width: 28px; height: 2px; margin-top: 8px }
.cmshtml #mymodaltoggle:checked + #mymodalhamberger span:nth-child(1) { transform: translate(4px, 0) rotate(45deg) }
.cmshtml #mymodaltoggle:checked + #mymodalhamberger span:nth-child(2) { opacity: 0 }
.cmshtml #mymodaltoggle:checked + #mymodalhamberger span:nth-child(3) { transform: translate(4px, 0) rotate(-45deg) }
.cmshtml #mymodal { position: fixed; top: 0; right: 0; bottom: 0; left: 0; background-color: #004868; overflow-y: auto; transition: opacity .5s; z-index: -999 }
.cmshtml .mymodal-hide { opacity: 0 }
.cmshtml .mymodal-show { opacity: 1 !important }

@media (max-width: 767px) {
.cmshtml #mymodalhamberger { transform: scale(.8) }
}

@media (max-width: 1079px) {
.cmshtml .noscroll { overflow: hidden }
}

@media (min-width: 1080px) {
.cmshtml #mymodalhamberger { transform: scale(1.2) }
.cmshtml .noscroll { overflow: hidden; padding-right: var(--mypadding) }
.cmshtml .noscroll #mymodalhambergerouter { right: calc(24px + var(--mypadding)) }
}

@media (max-width: 1079px) {
.cmsbody { -webkit-text-size-adjust: 100% }
.cmshtml :is(h1, .largeonly) { display: none }
.cmshtml #wrapper { position: relative }
.cmshtml #mymodalhambergerouter { position: fixed; top: 0; right: 0; z-index: 9999; background-color: #004868; padding: 0 7px 9px }
.cmshtml #containerheader { position: relative }
.cmshtml #mainvisual .rdslideItem { height: 64vh !important }
.cmshtml #mainvisual .rdslideItem img { width: 100%; height: 64vh !important; object-fit: cover }
.cmshtml #containerpagetitle { position: relative }
.cmshtml #pagetitleimg img { width: 100%; height: 200px !important; object-fit: cover }
.cmshtml #pagetitleouter { position: absolute; top: 0; right: 0; bottom: 0; left: 0; display: flex; justify-content: center; align-items: center }
.cmshtml #pagetitle { text-align: center; color: #fff; z-index: 1; padding-top: 32px }
.cmshtml .pagetitleen { font-family: 'Philosopher', serif; font-size: clamp(20px, calc(0.567vw + 17.87px), 24px); color: #e83550; text-shadow: 1px 1px 1px #9d1d30 }
.cmshtml .pagetitleja { font-size: clamp(28px, calc(1.702vw + 21.62px), 40px); font-weight: 500; line-height: 1.4; text-shadow: 1px 1px 1px #555 }
.cmshtml #headerinner { position: absolute; top: 0; right: 0; bottom: 0; left: 0; background-color: rgba(0, 0, 0, .24) }
.cmshtml #headerinnercontents { position: absolute; top: 0; right: 0; bottom: 0; left: 0; background-color: rgba(0, 0, 0, .28); border-bottom: 5px solid rgba(255, 255, 255, .72) }
.cmshtml header { display: flex }
.cmshtml #headerlogo { position: relative; background-color: #fff; padding: clamp(8px, calc(0.567vw + 5.87px), 12px) clamp(16px, calc(1.135vw + 11.74px), 24px) clamp(16px, calc(1.135vw + 11.74px), 24px); z-index: 2 }
.cmshtml #headerlogo img { width: clamp(96px, calc(5.674vw + 74.72px), 136px) }
.cmshtml #globalnav { display: none }
.cmshtml #mainvisualtext { position: absolute; right: 0; bottom: 32px; left: 0; font-family: 'Noto Serif JP', serif; color: #fff; font-weight: 600; font-size: clamp(22px, calc(3.688vw + 8.17px), 48px); line-height: 1.56; text-align: center }
.cmshtml #maincontents { margin: 24px 0 56px }
.cmshtml .containermysection01 { margin: clamp(40px, calc(5.674vw + 18.72px), 80px) 24px clamp(40px, calc(5.674vw + 18.72px), 80px); text-align: center }
.cmshtml .mysection01 { font-size: clamp(16px, calc(0.426vw + 14.4px), 19px); line-height: 1.9 }
.cmshtml .mysection01images { margin-top: clamp(32px, calc(5.674vw + 10.72px), 72px); display: flex; justify-content: center; column-gap: 4.583% }
.cmshtml .mysection01images > div:nth-of-type(1) { width: 6.77% !important }
.cmshtml .mysection01images > div:nth-of-type(2) { width: 8.333% !important }
.cmshtml .mysection01images > div:nth-of-type(3) { width: 8.437% !important }
.cmshtml .mysection01images > div:nth-of-type(4) { width: 4.687% !important }
.cmshtml .mysection01images > div:nth-of-type(5) { width: 7.291% !important }
.cmshtml .mysection01images > div:nth-of-type(6) { width: 6.718% !important }
.cmshtml .mysection01images > div:nth-of-type(7) { width: 7.031% !important }
.cmshtml .mysection01images img { max-width: 100% }
.cmshtml .mysection01btn { margin-top: 40px }
.cmshtml .containermysection02 { background-color: #ccb58c; padding: clamp(56px, calc(4.539vw + 38.98px), 88px) 16px }
.cmshtml .mysection02 { }
.cmshtml .mysection02 > div:nth-of-type(1) { }
.cmshtml .mysection02 > div:nth-of-type(2) { }
.cmshtml .mytitle01 h3 { font-family: 'Philosopher', serif; font-size: clamp(24px, calc(0.851vw + 20.81px), 30px); color: #c73148; text-align: center }
.cmshtml .mytitle01 h2 { font-size: clamp(22px, calc(0.567vw + 19.87px), 26px); font-weight: 450; line-height: 1.4; margin-top: 16px; text-align: center }
.cmshtml .mysection02text { margin-top: 24px; font-weight: 400 }
.cmshtml .mysection02text br { display: none }
.cmshtml .mysection02btn { margin-top: 40px; text-align: center }
.cmshtml .mysection02btn a { display: inline-block; padding: 12px 72px; background-color: #004868; border: 2px solid #fff; font-weight: 500; color: #d6ba91; text-decoration: none; transition: .3s; border-radius: 6px; font-size: 120% }
.cmshtml .mysection02cards { display: flex; flex-wrap: wrap; gap: 22px 3.194%; align-items: flex-start; margin-top: 40px }
.cmshtml .mysection02cards > div { width: 31.204% !important; position: relative }
.cmshtml .mysection02card { border-radius: 8px 26px 8px 8px; overflow: hidden }
.cmshtml .mysection02cardimg img { max-width: 100% }
.cmshtml .mysection02cardtext { position: absolute; top: 0; right: 0; bottom: 0; left: 0; display: flex; justify-content: center; align-items: center; color: #fff; background-color: rgba(0, 0, 0, .48); font-size: clamp(18px, calc(0.284vw + 16.94px), 20px) }
.cmshtml .mysection02cards a { display: block; position: absolute; top: 0; right: 0; bottom: 0; left: 0; background: url(../img/common/back01.png) 94% 94% / 12px 12px no-repeat }
.cmshtml .containermysection03 { position: relative }
.cmshtml .mysection03img img { width: 100%; height: clamp(480px, calc(17.021vw + 416.17px), 600px) !important; object-fit: cover }
.cmshtml .mysection03 { position: absolute; top: 0; right: 0; bottom: 0; left: 0; background-color: rgba(0, 0, 0, .56); display: flex; justify-content: center; align-items: center; text-align: center }
.cmshtml .mysection03h2 { margin-top: clamp(16px, calc(3.404vw + 3.23px), 40px) }
.cmshtml .mysection03h2 h2 { font-size: clamp(28px, calc(1.702vw + 21.62px), 40px); font-weight: 500; letter-spacing: 4px; color: #fff }
.cmshtml .mysection03text { color: #fff; margin-top: 16px; padding: 0 16px; text-align: left }
.cmshtml .mysection03text br { display: none }
.cmshtml .mysection03btn { margin-top: clamp(40px, calc(2.262vw + 15.57px), 59px) }
.cmshtml .mysection03btn a { display: inline-block; padding: 12px 72px; background-color: #004868; border: 2px solid #fff; font-weight: 500; color: #d6ba91; text-decoration: none; transition: .3s; border-radius: 6px; font-size: 120% }
.cmshtml .containermysection04 { background-color: #e8e1d7; padding: 64px 16px }
.cmshtml .mysection0401 { display: flex; flex-wrap: wrap }
.cmshtml .mysection0401 > div:nth-of-type(1) { width: 100%; order: 2; margin-top: 48px }
.cmshtml .mysection0401 > div:nth-of-type(2) { width: 100%; order: 1 }
.cmshtml .mysection0401imgs { position: relative }
.cmshtml .mysection0401imgs img { max-width: 100% }
.cmshtml .mysection0401imgs > div:not(:first-of-type) { position: absolute }
.cmshtml .mysection0401imgs > div:nth-of-type(2) { width: 33.647% !important; top: clamp(72px, calc(4.539vw + 54.98px), 104px); left: 0; -webkit-mask: url(../img/common/mask01.png) center / contain no-repeat; mask: url(../img/common/mask01.png) center / contain no-repeat }
.cmshtml .mysection0401imgs > div:nth-of-type(3) { width: 27.321% !important; top: 0; left: 23.149%; -webkit-mask: url(../img/common/mask02.png) center / contain no-repeat; mask: url(../img/common/mask02.png) center / contain no-repeat }
.cmshtml .mysection0401imgs > div:nth-of-type(4) { z-index: 2; width: 36.473% !important; top: clamp(144px, calc(9.078vw + 109.96px), 208px); left: 34.32%; -webkit-mask: url(../img/common/mask03.png) center / contain no-repeat; mask: url(../img/common/mask03.png) center / contain no-repeat }
.cmshtml .mysection0401imgs > div:nth-of-type(5) { width: 44.952% !important; top: clamp(8px, calc(1.702vw + 1.62px), 20px); right: 0; -webkit-mask: url(../img/common/mask04.png) center / contain no-repeat; mask: url(../img/common/mask04.png) center / contain no-repeat }
.cmshtml .mysection0401text { margin-top: 24px; font-weight: 400 }
.cmshtml .mysection0401text br { display: none }
.cmshtml .mysection0401btn { margin-top: 32px; text-align: center }
.cmshtml .mysection0401btn a { display: inline-block; padding: 12px 72px; background-color: #004868; border: 2px solid #d6ba91; font-weight: 500; color: #d6ba91; text-decoration: none; transition: .3s; border-radius: 6px; font-size: 120% }
.cmshtml .mysection0402outer { margin: 40px auto 0; background-color: #fff; border-radius: 18px 56px 18px 18px; padding: 24px }
.cmshtml .mysection0402 { }
.cmshtml .mysection0402 > div:nth-of-type(1) { }
.cmshtml .mysection0402 > div:nth-of-type(2) { margin-top: 16px }
.cmshtml .mysection0402title { text-align: center; font-family: 'Philosopher', serif; font-size: clamp(28px, calc(1.418vw + 22.68px), 38px); color: #c73148; font-weight: 700 }
.cmshtml .mysection0402btn { margin-top: 32px; text-align: right }
.cmshtml .mysection0402btn a { display: inline-block; padding: 8px 24px; background-color: #004868; border: 2px solid #d6ba91; font-weight: 500; color: #d6ba91; text-decoration: none; transition: .3s; border-radius: 6px; font-size: 120% }
.cmshtml footer { background-color: #004868; padding: 40px 16px 64px }
.cmshtml #footertitle { text-align: center }
.cmshtml #footertitle dt { font-family: 'Philosopher', serif; font-size: clamp(20px, calc(0.567vw + 17.87px), 24px); color: #d6ba91; font-weight: 400 !important }
.cmshtml #footertitle dd { font-size: clamp(28px, calc(1.135vw + 23.74px), 36px); color: #fff; font-weight: 350 !important }
.cmshtml #footercontactbanners { margin: 32px auto 0 }
.cmshtml #footercontactbanners > div { background-color: #fff; border-radius: 8px 40px 8px 8px; padding: 24px; display: flex; align-items: center; column-gap: 16px; margin-bottom: 16px }
.cmshtml .footercontactbanners { display: flex }
.cmshtml .footercontactbanners > div:nth-of-type(1) { width: 19.8% !important }
.cmshtml .footercontactbanners > div:nth-of-type(2) { flex: 1 !important }
.cmshtml .footercontactbannericon img { max-width: 100% }
.cmshtml .footercontactbannertitle { font-size: clamp(17px, calc(0.426vw + 15.4px), 20px) }
.cmshtml .footercontactbannerphone { font-family: 'Philosopher', serif; font-size: clamp(30px, calc(1.418vw + 24.68px), 40px); color: #c73148; line-height: 1; margin-top: 6px }
.cmshtml .footercontactbanneropen { font-size: clamp(16px, calc(0.142vw + 15.47px), 17px); margin-top: 5px }
.cmshtml .footercontactbannermail { margin-top: 8px }
.cmshtml .footercontactbannermail a { display: block; text-decoration: none; padding: 8px; background-color: #c73148; color: #fff; border: 2px solid #d6ba91; text-align: center; font-size: clamp(16px, calc(0.284vw + 14.94px), 18px); border-radius: 6px; font-weight: 400 }
.cmshtml #footerlogo { text-align: center; margin-top: 48px }
.cmshtml #footerinfo { text-align: center; margin-top: 24px; color: #fff; font-family: 'Noto Sans JP', sans-serif; font-weight: 350; font-size: 16px }
.cmshtml #footerinfo a { color: #fff; transition: .3s; text-decoration: none }
.cmshtml #footerinfo a:hover { opacity: .72 }
.cmshtml #footernav { display: none }
.cmshtml #footercopy { text-align: center; color: #aaa; font-family: 'Noto Sans JP', sans-serif; font-weight: 350; margin-top: 20px }
.cmshtml #mymodal { display: flex }
.cmshtml #mymodalnav { padding: 32px 16px }
.cmshtml #mymodalnavlogo { text-align: center }
.cmshtml #mymodalnavlogo img { max-width: 40%; height: auto }
.cmshtml #mymodalnavinner { display: flex; flex-wrap: wrap; margin-top: 24px; gap: 32px 24px; padding-bottom: 40px }
.cmshtml #mymodalnavinner > div { width: calc(50% - 16px) !important }
.cmshtml .mymodalnav > div:nth-of-type(1) { font-size: clamp(18px, calc(0.567vw + 15.87px), 22px); border-bottom: 1px solid rgba(255, 255, 255, .4); padding-bottom: 4px; margin-bottom: 8px }
.cmshtml .mymodalnav > div:not(:nth-of-type(1)) { margin: 4px 0 0 8px; font-family: 'Noto Sans JP', sans-serif }
.cmshtml .mymodalnav a { color: #fff; text-decoration: none; transition: .3s }
.cmshtml :is(button, input[type='submit'], input[type='button']) { padding: 12px 24px }
.cmshtml .largetac { text-align: center }
.cmshtml #pt { position: fixed; bottom: 0; right: 0; left: 0; opacity: 1 !important; transition: opacity 0.5s ease; display: flex !important; z-index: 3 }
.cmshtml #pt > :is(div:nth-of-type(1), div:nth-of-type(2)) { width: 44% !important; background-color: #b99d6d }
.cmshtml #pt > div:nth-of-type(3) { width: 12% !important; background-color: #b99d6d }
.cmshtml #pt a { color: #fff; text-decoration: none; text-align: center }
.cmshtml #pt br { display: none }
.cmshtml .sidefixedbtn01 a { display: block; font-size: 15px; line-height: 1.4; font-family: 'Noto Sans JP', sans-serif; font-weight: 500; margin-bottom: 2px; padding: 10px 0; border-right: 1px solid #fff }
.cmshtml .sidefixedbtn02 a { display: block; padding-top: 12px }
.cmshtml .sidefixedbtn02 img { width: 16px; height: 19px }
.cmshtml .smalltac { text-align: center }

/* 新着情報 */
.cmshtml .mynewarticles .rdnewArticle-item { align-items: flex-start !important; padding: 0 !important; display: block !important }
.cmshtml .mynewarticles .rdnewArticle-thumbnail { display: none !important }
.cmshtml .mynewarticles .rdnewArticle-contWrap { display: block !important }
.cmshtml .mynewarticles .rdnewArticle-ContDate { font-size: clamp(15px, calc(0.142vw + 14.47px), 16px) !important; font-family: 'Noto Sans JP', sans-serif }
.cmshtml .mynewarticles .rdnewArticle-ContTitle { font-family: 'Noto Sans JP', sans-serif; font-weight: 400 }
.cmshtml .mynewarticles .rdnewArticle-ContLink { text-decoration: none; color: #000 }
.cmshtml .mynewarticles .rdnewArticle-item + .rdnewArticle-item { margin-top: 10px !important; padding-top: 0 !important; border-top: none !important }

/* ブログ */
.cmshtml #myblogframe { margin: 0 16px }
.cmshtml #myblogmain { }
.cmshtml #myblogcommon { margin-top: 40px }
.cmshtml #myblogcommon a { text-decoration: none; color: rgb(var(--textcolor)) }
.cmshtml #myblogcommon h4 { background-color: #bbb; color: #fff; font-weight: 400 !important; font-size: 14px !important; padding: 0 4px; border: none !important }
.cmshtml .rdListItem a { text-decoration: none }
.cmshtml .rdListImage { height: 220px; overflow: hidden; text-align: center }
.cmshtml .rdListImageItem { width: 100%; height: 220px !important; object-fit: cover }
.cmshtml .rdListImageEmpty { background-color: #f8f8f8 }
.cmshtml .rdListImageItemDummy { border: none !important }
.cmshtml .rdpublishDate { font-size: 88% !important }
.cmshtml :is(.rdarticleTitleText, .rdRelatedArticles-title) { overflow: hidden; white-space: nowrap; text-overflow: ellipsis }
.cmshtml .rdarticleTitleText a { font-size: 88% !important; color: rgb(var(--textcolor)) }
.cmshtml .rdarticleTitle h3 { border-bottom: 3px solid rgb(var(--basecolor)) !important; font-size: 18px !important }
.cmshtml .rdListCategoryItem { background-color: rgba(0, 0, 0, .64) !important; padding: 0 4px !important }
.cmshtml .ItemrdListTagListItem { padding: 0 4px !important; margin-right: 4px !important }
.cmshtml .rdnewArticle { border: none !important; padding: 0 !important }
.cmshtml #myblogframe .rdnewArticle-item { padding: 6px 2px !important }
.cmshtml #myblogframe :is(.rdnewArticle-item + .rdnewArticle-item, .rdCategorylist-item + .rdCategorylist-item, .rdMonthlyArchive-item + .rdMonthlyArchive-item) { border-top: 1px solid rgb(var(--bordercolor)) !important }
.cmshtml .rdCategorylist-link { padding: 4px !important }
.cmshtml .rdarticlecalendar { font-size: 92%; width: 100%; max-width: 338px; margin: 0 auto }
.cmshtml .rdCalendarBody { line-height: 1.3 }
.cmshtml .rdCalendarTable-link { color: #fff !important }
.cmshtml .rdMonthlyArchive-item { padding: 4px 4px 4px 14px !important; margin: 0 4px }
.cmshtml .rdTaglist-link { padding: 2px 4px !important; font-size: 88%; color: #0061c9 !important }
.cmshtml .rdTaglist-link:hover { color: #fff !important }
.cmshtml .rdBlogSearch-btn { padding: 0 8px !important; margin-left: 8px; color: #fff !important }
.cmshtml .rdRelatedArticles { width: calc(100% + 16px); transform: translateX(-8px) }
.cmshtml .rdRelatedArticles-item { border: 1px solid rgb(var(--bordercolor)); margin: 0 8px 24px; width: calc(50% - 16px) !important; padding: 8px !important }
.cmshtml .rdRelatedArticles-imageWrapper { border: none !important; height: 96px !important; margin-bottom: 4px !important }
.cmshtml .rdRelatedArticles-image { width: 100%; height: 96px !important; object-fit: cover }
.cmshtml .rdRelatedArticles-title a { color: rgb(var(--textcolor)); text-decoration: none }
.cmshtml .rdRelatedArticles-title a:hover { opacity: .8 }
.cmshtml :is(.rdRelatedArticles-catlink, .rdRelatedArticles-taglink) { padding: 3px 4px !important }
.cmshtml .rdReadMore { font-size: 88% }
}

@media (max-width: 767px) {
.cmshtml #mymodalhamberger { transform: scale(.8) }
}

@media (min-width: 1080px) {
.cmsbody { }
.cmshtml :is(h1, .smallonly) { display: none }
.cmshtml #wrapper { position: relative; max-width: 1920px; margin: 0 auto }
.cmshtml #mymodalhambergerouter { position: fixed; top: 24px; right: 24px; z-index: 9999 }
.cmshtml #containerheader { position: relative }
.cmshtml #mainvisual .rdslideItem { height: 100vh !important }
.cmshtml #mainvisual .rdslideItem img { width: 100%; height: 100vh !important; object-fit: cover }
.cmshtml #containerpagetitle { position: relative }
.cmshtml #pagetitleimg img { max-width: 100% }
.cmshtml #pagetitleouter { position: absolute; top: 0; right: 0; bottom: 0; left: 0; display: flex; justify-content: center; align-items: center }
.cmshtml #pagetitle { text-align: center; color: #fff; z-index: 1 }
.cmshtml .pagetitleen { font-family: 'Philosopher', serif; font-size: clamp(24px, calc(1.19vw + 11.14px), 34px); color: #e83550; text-shadow: 1px 1px 1px #9d1d30 }
.cmshtml .pagetitleja { font-size: clamp(40px, calc(2.857vw + 9.14px), 64px); font-weight: 500; line-height: 1.4; text-shadow: 1px 1px 1px #555 }
.cmshtml #headerinner { position: absolute; top: 0; right: 0; bottom: 0; left: 0; background-color: rgba(0, 0, 0, .12) }
.cmshtml #headerinnercontents { position: absolute; top: 0; right: 0; bottom: 0; left: 0; background-color: rgba(0, 0, 0, .28); border-bottom: 8px solid rgba(255, 255, 255, .72) }
.cmshtml header { display: flex; justify-content: space-between; align-items: flex-start }
.cmshtml #headerlogo { position: relative; background-color: #fff; padding: clamp(12px, calc(0.595vw + 5.57px), 17px) clamp(24px, calc(0.952vw + 13.71px), 32px) clamp(24px, calc(1.31vw + 9.86px), 35px); z-index: 4 }
.cmshtml #headerlogo img { width: clamp(136px, calc(3.333vw + 100px), 164px) }
.cmshtml #globalnav { display: flex; justify-content: flex-end; column-gap: clamp(24px, calc(1.905vw + 3.43px), 40px); margin: clamp(16px, calc(10vw + -92px), 28px) clamp(88px, calc(7.143vw + 10.86px), 148px) 0 0 }
.cmshtml #globalnav a { text-decoration: none; font-family: 'Noto Sans JP', sans-serif; color: #fff; transition: .3s; font-size: clamp(17px, calc(0.833vw + 8px), 18px) }
.cmshtml .globalnavparent { height: 40px }
.cmshtml .globalnavparent a { font-weight: 500 }
.cmshtml .globalnavparent a:hover { opacity: .72 }
.cmshtml .globalnavchild { opacity: 0; visibility: hidden; position: absolute; top: clamp(56px, calc(13.333vw + -88px), 72px); right: 0; left: 0; transition: .3s; background-color: #004868; padding: clamp(56px, calc(1.429vw + 40.57px), 68px) 24px; z-index: 3 }
.cmshtml .globalnavchildinner { max-width: 1200px; margin: 0 auto; display: flex; justify-content: space-between; align-items: center; column-gap: 72px }
.cmshtml .globalnavinner:hover .globalnavchild { opacity: 1; visibility: visible }
.cmshtml .globalnavchild a { font-weight: 400; border-bottom: 2px solid transparent; padding-bottom: 8px }
.cmshtml .globalnavchild a:hover { font-weight: 400; border-bottom: 2px solid #fff }
.cmshtml .globalnavchildtitle { font-family: 'Noto Serif JP', serif; font-size: 30px; font-weight: 400; color: #fff; white-space: nowrap }
.cmshtml .globalnavchildinnernav { display: flex; justify-content: flex-end; gap: 16px clamp(24px, calc(1.905vw + 3.43px), 40px); flex-wrap: wrap }
.cmshtml #mainvisualtext { position: absolute; right: 0; bottom: clamp(40px, calc(2.976vw + 7.86px), 65px); left: 4.27%; font-family: 'Noto Serif JP', serif; color: #fff; font-weight: 650; font-size: clamp(48px, calc(1.905vw + 27.43px), 64px); line-height: 1.56; letter-spacing: 1.5px }
.cmshtml #maincontents { margin: 56px 0 88px }
.cmshtml .containermysection01 { margin: clamp(80px, calc(3.571vw + 41.43px), 110px) 24px 88px; text-align: center }
.cmshtml .mysection01 { font-size: clamp(19px, calc(0.238vw + 16.43px), 21px); line-height: 2.4 }
.cmshtml .mysection01images { margin-top: clamp(72px, calc(4.167vw + 27px), 107px); display: flex; justify-content: center; column-gap: 4.583% }
.cmshtml .mysection01images > div:nth-of-type(1) { width: 6.77% }
.cmshtml .mysection01images > div:nth-of-type(2) { width: 8.333% }
.cmshtml .mysection01images > div:nth-of-type(3) { width: 8.437% }
.cmshtml .mysection01images > div:nth-of-type(4) { width: 4.687% }
.cmshtml .mysection01images > div:nth-of-type(5) { width: 7.291% }
.cmshtml .mysection01images > div:nth-of-type(6) { width: 6.718% }
.cmshtml .mysection01images > div:nth-of-type(7) { width: 7.031% }
.cmshtml .mysection01images img { max-width: 100% }
.cmshtml .mysection01btn { margin-top: 80px }
.cmshtml .containermysection02 { background-color: #ccb58c; padding: clamp(88px, calc(29.167vw + -227px), 123px) 24px }
.cmshtml .mysection02 { max-width: 1200px; margin: 0 auto; display: flex; justify-content: space-between; align-items: flex-start }
.cmshtml .mysection02 > div:nth-of-type(1) { width: 38.666% }
.cmshtml .mysection02 > div:nth-of-type(2) { width: 57.416% }
.cmshtml .mytitle01 h3 { font-family: 'Philosopher', serif; font-size: clamp(30px, calc(3.333vw + -6px), 34px); color: #c73148 }
.cmshtml .mytitle01 h2 { font-size: clamp(26px, calc(3.333vw + -10px), 30px); font-weight: 450; line-height: 1.68; letter-spacing: clamp(1px, calc(0.833vw + -8px), 2px); margin-top: 25px }
.cmshtml .mysection02text { max-width: 416px; margin-top: clamp(48px, calc(23.333vw + -204px), 76px); line-height: 1.92; font-weight: 450 }
.cmshtml .mysection02btn { margin-top: clamp(64px, calc(20vw + -152px), 88px) }
.cmshtml .mysection02btn a { display: inline-block; padding: 16px 91px; background-color: #004868; border: 2px solid #fff; font-weight: 500; color: #d6ba91; text-decoration: none; transition: .3s; border-radius: 6px; font-size: 120% }
.cmshtml .mysection02btn a:hover { background-color: #fff }
.cmshtml .mysection02cards { display: flex; flex-wrap: wrap; gap: 22px 3.194%; align-items: flex-start }
.cmshtml .mysection02cards > div { width: 31.204%; position: relative }
.cmshtml .mysection02card { border-radius: 10px 30px 10px 10px; overflow: hidden }
.cmshtml .mysection02cardimg img { max-width: 100% }
.cmshtml .mysection02cardtext { position: absolute; top: 0; right: 0; bottom: 0; left: 0; display: flex; justify-content: center; align-items: center; color: #fff; background-color: rgba(0, 0, 0, .48); font-size: clamp(20px, calc(1.667vw + 2px), 22px); transition: .3s }
.cmshtml .mysection02card:hover .mysection02cardtext { background-color: rgba(0, 0, 0, 0); color: transparent }
.cmshtml .mysection02cards a { display: block; position: absolute; top: 0; right: 0; bottom: 0; left: 0; background: url(../img/common/back01.png) 94% 94% no-repeat }
.cmshtml .containermysection03 { position: relative }
.cmshtml .mysection03img img { width: 100%; height: clamp(600px, calc(10.714vw + 484.29px), 690px) !important; object-fit: cover }
.cmshtml .mysection03 { position: absolute; top: 0; right: 0; bottom: 0; left: 0; background-color: rgba(0, 0, 0, .56); display: flex; justify-content: center; align-items: center; text-align: center }
.cmshtml .mysection03h2 { margin-top: clamp(40px, calc(1.548vw + 23.29px), 53px) }
.cmshtml .mysection03h2 h2 { font-size: 40px; font-weight: 500; letter-spacing: 8px; color: #fff }
.cmshtml .mysection03text { color: #fff; margin-top: clamp(24px, calc(1.905vw + 3.43px), 40px); line-height: 1.9 }
.cmshtml .mysection03btn { margin-top: clamp(40px, calc(2.262vw + 15.57px), 59px) }
.cmshtml .mysection03btn a { display: inline-block; padding: 16px 91px; background-color: #004868; border: 2px solid #fff; font-weight: 500; color: #d6ba91; text-decoration: none; transition: .3s; border-radius: 6px; font-size: 120% }
.cmshtml .mysection03btn a:hover { background-color: #fff }
.cmshtml .containermysection04 { background-color: #e8e1d7; padding: 80px 24px 88px }
.cmshtml .mysection0401 { width: 79.166%; margin: 0 auto; display: flex; justify-content: space-between }
.cmshtml .mysection0401 > div:nth-of-type(1) { width: 48.947% }
.cmshtml .mysection0401 > div:nth-of-type(2) { width: 39.868% }
.cmshtml .mysection0401imgs { position: relative }
.cmshtml .mysection0401imgs img { max-width: 100% }
.cmshtml .mysection0401imgs > div:not(:first-of-type) { position: absolute }
.cmshtml .mysection0401imgs > div:nth-of-type(2) { width: 33.647%; top: clamp(104px, calc(6.786vw + 30.71px), 161px); left: 0; -webkit-mask: url(../img/common/mask01.png) center / contain no-repeat; mask: url(../img/common/mask01.png) center / contain no-repeat }
.cmshtml .mysection0401imgs > div:nth-of-type(3) { width: 27.321%; top: 0; left: 23.149%; -webkit-mask: url(../img/common/mask02.png) center / contain no-repeat; mask: url(../img/common/mask02.png) center / contain no-repeat }
.cmshtml .mysection0401imgs > div:nth-of-type(4) { z-index: 2; width: 36.473%; top: clamp(208px, calc(14.167vw + 55px), 327px); left: 34.32%; -webkit-mask: url(../img/common/mask03.png) center / contain no-repeat; mask: url(../img/common/mask03.png) center / contain no-repeat }
.cmshtml .mysection0401imgs > div:nth-of-type(5) { width: 44.952%; top: clamp(20px, calc(1.19vw + 7.14px), 30px); right: 0; -webkit-mask: url(../img/common/mask04.png) center / contain no-repeat; mask: url(../img/common/mask04.png) center / contain no-repeat }
.cmshtml .mysection0401text { margin-top: 45px; line-height: 1.92; font-weight: 450 }
.cmshtml .mysection0401btn { margin-top: 71px }
.cmshtml .mysection0401btn a { display: inline-block; padding: 16px 91px; background-color: #004868; border: 2px solid #d6ba91; font-weight: 500; color: #d6ba91; text-decoration: none; transition: .3s; border-radius: 6px; font-size: 120% }
.cmshtml .mysection0401btn a:hover { background-color: #d6ba91; color: #fff }
.cmshtml .mysection0402outer { max-width: 1200px; margin: 80px auto 0; background-color: #fff; border-radius: 22px 61px 22px 22px; padding: 64px 56px 48px }
.cmshtml .mysection0402 { display: flex; align-items: center }
.cmshtml .mysection0402 > div:nth-of-type(1) { width: 36.764%; padding-right: 40px }
.cmshtml .mysection0402 > div:nth-of-type(2) { width: 63.236% }
.cmshtml .mysection0402title { text-align: center; font-family: 'Philosopher', serif; font-size: 38px; color: #c73148; font-weight: 700 }
.cmshtml .mysection0402btn { margin-top: 32px; text-align: right }
.cmshtml .mysection0402btn a { display: inline-block; padding: 10px 32px; background-color: #004868; border: 2px solid #d6ba91; font-weight: 500; color: #d6ba91; text-decoration: none; transition: .3s; border-radius: 6px; font-size: 120% }
.cmshtml .mysection0402btn a:hover { background-color: #d6ba91; color: #fff }
.cmshtml footer { background-color: #004868; padding: clamp(72px, calc(16.667vw + -108px), 92px) 24px 53px }
.cmshtml #footertitle { max-width: 1200px; margin: 0 auto; text-align: center }
.cmshtml #footertitle dt { font-family: 'Philosopher', serif; font-size: clamp(24px, calc(3.333vw + -12px), 28px); color: #d6ba91; font-weight: 400 !important }
.cmshtml #footertitle dd { font-size: clamp(36px, calc(3.333vw + 0px), 40px); color: #fff; font-weight: 350 !important; line-height: 1.2 }
.cmshtml #footercontactbanners { max-width: 1200px; margin: 51px auto 0; display: flex; justify-content: space-between }
.cmshtml #footercontactbanners > div { width: 48.333%; background-color: #fff; border-radius: 10px 50px 10px 10px; padding: clamp(32px, calc(9.167vw + -67px), 43px) clamp(24px, calc(13.333vw + -120px), 40px); display: flex; align-items: center; column-gap: 21px }
.cmshtml .footercontactbanners { display: flex }
.cmshtml .footercontactbanners > div:nth-of-type(1) { width: 19.8% !important }
.cmshtml .footercontactbanners > div:nth-of-type(2) { flex: 1 }
.cmshtml .footercontactbannericon img { max-width: 100% }
.cmshtml .footercontactbannertitle { font-size: clamp(20px, calc(1.667vw + 2px), 22px) }
.cmshtml .footercontactbannerphone { font-family: 'Philosopher', serif; font-size: clamp(40px, calc(8.333vw + -50px), 50px); color: #c73148; line-height: 1; letter-spacing: 1px; margin-top: 10px }
.cmshtml .footercontactbanneropen { font-size: clamp(17px, calc(0.833vw + 8px), 18px); margin-top: 5px }
.cmshtml .footercontactbannermail { margin-top: clamp(8px, calc(6.667vw + -64px), 16px) }
.cmshtml .footercontactbannermail a { display: block; text-decoration: none; padding: clamp(12px, calc(3.333vw + -24px), 16px); background-color: #c73148; color: #fff; border: 2px solid #d6ba91; text-align: center; font-size: clamp(18px, calc(1.667vw + 0px), 20px); border-radius: 6px; font-weight: 400; transition: .3s }
.cmshtml .footercontactbannermail a:hover { opacity: .8 }
.cmshtml #footerlogo { text-align: center; margin-top: clamp(80px, calc(26.667vw + -208px), 112px) }
.cmshtml #footerinfo { text-align: center; margin-top: 35px; color: #fff; font-family: 'Noto Sans JP', sans-serif; font-weight: 350; font-size: 18px }
.cmshtml #footerinfo a { color: #fff; transition: .3s; text-decoration: none }
.cmshtml #footerinfo a:hover { opacity: .72 }
.cmshtml #footernav { max-width: 1200px; margin: clamp(40px, calc(20vw + -176px), 64px) auto 0; display: flex; justify-content: center; column-gap: clamp(16px, calc(6.667vw + -56px), 24px) }
.cmshtml #footernav a { color: #fff; font-family: 'Noto Sans JP', sans-serif; font-weight: 350; text-decoration: none; transition: .3s }
.cmshtml #footernav a:hover { opacity: .72 }
.cmshtml #footercopy { text-align: center; color: #aaa; font-family: 'Noto Sans JP', sans-serif; font-weight: 350; margin-top: 29px }
.cmshtml #mymodal { display: flex; justify-content: center; align-items: center }
.cmshtml #mymodalnav { max-width: 1248px; padding: 0 24px }
.cmshtml #mymodalnavlogo { text-align: center }
.cmshtml #mymodalnavinner { display: flex; flex-wrap: wrap; margin-top: 32px; gap: 32px 24px }
.cmshtml #mymodalnavinner > div { width: calc(25% - 18px) }
.cmshtml .mymodalnav > div:nth-of-type(1) { font-size: 22px; border-bottom: 1px solid rgba(255, 255, 255, .4); padding-bottom: 6px; margin-bottom: 12px }
.cmshtml .mymodalnav > div:not(:nth-of-type(1)) { margin: 4px 0 0 8px; font-family: 'Noto Sans JP', sans-serif }
.cmshtml .mymodalnav a { color: #fff; text-decoration: none; transition: .3s }
.cmshtml .mymodalnav a:hover { opacity: .64 }
.cmshtml :is(button, input[type='submit'], input[type='button']) { padding: 12px 24px }
.cmshtml .largetac { text-align: center }
.cmshtml #pt { position: fixed; bottom: 0; right: 0; display: none; opacity: 0; transition: opacity 0.5s ease }
.cmshtml #pt a { display: flex; justify-content: center; align-items: center; color: #fff; text-decoration: none; background-color: #b99d6d; text-align: center; transition: .4s }
.cmshtml #pt a:hover { opacity: .72 }
.cmshtml .sidefixedbtn01 a { width: 140px; height: 89px; font-size: 18px; line-height: 1.4; font-family: 'Noto Sans JP', sans-serif; font-weight: 500; margin-bottom: 2px }
.cmshtml .sidefixedbtn02 a { width: 140px; height: 62px }


/* 新着情報 */
.cmshtml .mynewarticles .rdnewArticle-item { align-items: flex-start !important; padding: 0 !important }
.cmshtml .mynewarticles .rdnewArticle-thumbnail { display: none !important }
.cmshtml .mynewarticles .rdnewArticle-contWrap { flex: none !important; display: flex }
.cmshtml .mynewarticles .rdnewArticle-ContDate { width: 104px; font-size: clamp(15px, calc(0.142vw + 14.47px), 16px) !important; font-family: 'Noto Sans JP', sans-serif }
.cmshtml .mynewarticles .rdnewArticle-ContTitle { font-family: 'Noto Sans JP', sans-serif; font-weight: 400 }
.cmshtml .mynewarticles .rdnewArticle-ContLink { text-decoration: none; color: #000 }
.cmshtml .mynewarticles .rdnewArticle-item + .rdnewArticle-item { margin-top: 24px !important; padding-top: 0 !important; border-top: none !important }

/* ブログ */
.cmshtml #myblogframe { max-width: 1128px; margin: 0 auto; display: flex; padding: 0 24px }
.cmshtml #myblogmain { width: calc(100% - 320px) }
.cmshtml #myblogcommon { width: 272px; margin-left: 48px; font-size: 92% }
.cmshtml #myblogcommon a { text-decoration: none; color: rgb(var(--textcolor)) }
.cmshtml #myblogcommon a:hover { opacity: .8 }
.cmshtml #myblogcommon h4 { background-color: #bbb; color: #fff; font-weight: 400 !important; font-size: 92% !important; padding: 2px 8px; border: none !important }
.cmshtml .rdListItem a { text-decoration: none }
.cmshtml .rdListImage { height: 220px; overflow: hidden }
.cmshtml .rdListImageItem { width: 100%; height: 220px !important; object-fit: cover }
.cmshtml .rdListImageEmpty { background-color: #f8f8f8 }
.cmshtml .rdListImageItemDummy { border: none !important }
.cmshtml .rdpublishDate { font-size: 88% !important }
.cmshtml :is(.rdarticleTitleText, .rdRelatedArticles-title) { overflow: hidden; white-space: nowrap; text-overflow: ellipsis }
.cmshtml .rdarticleTitleText a { font-size: 88% !important; color: rgb(var(--textcolor)) }
.cmshtml .rdarticleTitle h3 { border-bottom: 3px solid rgb(var(--basecolor)) !important; font-size: 26px !important }
.cmshtml .rdListItem .rdarticleTitle h3 { font-size: 20px !important }
.cmshtml .rdListCategoryItem { background-color: rgba(0, 0, 0, .64) !important; padding: 2px 8px !important }
.cmshtml .ItemrdListTagListItem { padding: 2px 4px !important; margin-right: 4px !important }
.cmshtml .rdnewArticle { border: none !important; padding: 0 !important }
.cmshtml #myblogframe .rdnewArticle-item { padding: 8px 4px !important }
.cmshtml #myblogframe :is(.rdnewArticle-item + .rdnewArticle-item, .rdCategorylist-item + .rdCategorylist-item, .rdMonthlyArchive-item + .rdMonthlyArchive-item) { border-top: 1px solid rgb(var(--bordercolor)) !important }
.cmshtml .rdCategorylist-link { padding: 4px !important }
.cmshtml .rdarticlecalendar { font-size: 92%; width: 100% }
.cmshtml .rdCalendarBody { line-height: 1.3 }
.cmshtml .rdCalendarTable-link { color: #fff !important }
.cmshtml .rdMonthlyArchive-item { padding: 4px 4px 4px 14px !important; margin: 0 4px }
.cmshtml .rdTaglist-link { padding: 2px 4px !important; font-size: 88%; color: #0061c9 !important }
.cmshtml .rdTaglist-link:hover { color: #fff !important }
.cmshtml .rdBlogSearch-btn { padding: 0 8px !important; margin-left: 8px; color: #fff !important }
.cmshtml .rdRelatedArticles { width: calc(100% + 16px); transform: translateX(-8px) }
.cmshtml .rdRelatedArticles-item { border: 1px solid rgb(var(--bordercolor)); margin: 0 8px 24px; width: calc(33.3333% - 16px) !important }
.cmshtml .rdRelatedArticles-imageWrapper { border: none !important }
.cmshtml .rdRelatedArticles-image { width: 100%; height: 150px !important; object-fit: cover }
.cmshtml .rdRelatedArticles-title a { color: rgb(var(--textcolor)); text-decoration: none }
.cmshtml .rdRelatedArticles-title a:hover { opacity: .8 }
.cmshtml .rdReadMore { font-size: 88% }
}

@media (min-width: 1080px) and (max-width: 1440px) {
.cmshtml .mysection0401 { width: 96% }
}

@media (min-width: 1921px) {
.cmshtml #mymodalhambergerouter { right: calc(50% - 936px) }
.cmshtml .noscroll #mymodalhambergerouter { right: calc(50% - 936px + var(--mypadding) / 2) }
.cmshtml #pt { right: calc(50% - 960px) }
.cmshtml .noscroll #pt { right: calc(50% - 936px + var(--mypadding) / 2) }
}

/* ブログ配色 */
.cmshtml #myblogcommon a { text-decoration: none; color: rgb(var(--textcolor)) }
.cmshtml .ItemrdListTagListItem { border: none !important; background: rgb(var(--blogcolor)) !important; border-radius: 4px !important }
.cmshtml :is(.rdCategorylist-item + .rdCategorylist-item, .rdMonthlyArchive-item + .rdMonthlyArchive-item) { margin-top: 4px !important; padding-top: 4px !important }
.cmshtml .rdCategorylist-link:after { border-color: transparent transparent transparent rgb(var(--blogcolor)) !important }
.cmshtml .rdCategorylist-link:hover { background: rgba(var(--blogcolor), .16) !important }
.cmshtml :is(.rdTaglist-link, .rdTaglist-link::before, .rdTaglist-link::after) { background: none !important }
.cmshtml .rdTaglist-link { border: 2px solid rgba(var(--blogcolor), .4) !important; border-radius: 4px !important; color: rgb(var(--blogcolor)) !important; padding: 2px 4px !important; font-size: 84% !important }
.cmshtml .rdTaglist-link:hover { color: #fff !important; background-color: rgb(var(--blogcolor)) !important }
.cmshtml .rdMonthlyArchive-item::before { border-color: rgb(var(--blogcolor)) !important }
.cmshtml .rdTaglist .rdTaglist-link::before { content: none !important }
.cmshtml .rdTaglist .rdTaglist-link::after { content: none !important }
.cmshtml #myblogcommon .rdYearlyArchive { list-style: none }
.cmshtml #myblogcommon .rdYearlyArchive a { color: #fff }
.cmshtml #myblogcommon .rdYearlyArchive a:hover { color: #fff }
.cmshtml #myblogcommon .rdYearlyArchive-link { padding: 6px 16px; background-color: rgb(var(--blogcolor)) }
.cmshtml #myblogcommon .rdCalendarTable-link { background-color: rgb(var(--blogcolor)) }


/* パンくずリスト */
.cmshtml .rdBreadcrumb { }
.cmshtml .rdBreadcrumbItem { word-spacing: 4px; font-size: 88% }
.cmshtml .rdBreadcrumbItem:first-child::before { font-family: 'Font Awesome 6 Free'; content: '\f0da'; font-weight: 900 }
.cmshtml .rdBreadcrumbArrow { color: #999 }
.cmshtml .rdBreadcrumbLink { text-decoration: none; color: #333 }
.cmshtml .rdBreadcrumbLink:hover { color: #777 }

/* U01スライドショー */
.cmshtml .rdsp-buttons { display: none }

/* U01編集画面用 */
#editView .cmsbody { margin: 0; background-color: #fff; color: rgb(var(--textcolor)); line-height: 1.732; font-size: clamp(15px, calc(0.142vw + 14.47px), 16px); font-family: 'Noto Serif JP', serif; font-feature-settings: 'palt'; font-weight: 300 }
#editView :is(#globalnav, #footernav, #mymodalnav) edit { padding: 16px }
#editView #mymodalhambergerouter { position: static; display: none }
#editView #mymodal { position: static; overflow-y: visible; z-index: 0 }
#editView .mymodal-hide { opacity: 1 }
#editView #pt { position: static; display: block; opacity: 1 }
#editView h5 edit { display: inline-block !important }
#editView :is(#headerinner, #headerinnercontents, .mysection02cardtext, .mysection03outer) { position: static !important }
#editView header { display: block }
#editView #globalnav { flex-wrap: wrap; justify-content: flex-start; gap: 40px 16px }
#editView .globalnavchild { opacity: 1; visibility: visible; position: static }
#editView .globalnavchildinner { display: block }
#editView .globalnavchildinnernav { display: block }

#editView #mainvisualtext { position: static !important; background-color: #ccc; padding-top: 80px !important }
#editView .mysection0401imgs > div:nth-of-type(1) { display: none !important }
#editView :is(.mysection0401imgs > div:nth-of-type(2), .mysection0401imgs > div:nth-of-type(3), .mysection0401imgs > div:nth-of-type(4), .mysection0401imgs > div:nth-of-type(5)) { -webkit-mask: none; mask: none; position: static }
#editView .sidefixedbtn02 { background-color: #b99d6d }
#editView #pagetitleouter { position: static; background-color: rgba(0, 0, 0, .28) }


/* 共通装飾 */
/* 見出し */
.cmshtml .rdplanetitle h2 { font-size: clamp(22px, calc(1.418vw + 16.68px), 32px) !important; font-weight: 600 !important; border-bottom: 1px solid rgb(var(--basecolor)) }
.cmshtml .rdplanetitle h2::after { display: block; content: ''; height: 3px; background-color: rgb(var(--basecolor)); margin: 6px 0 2px }
.cmshtml .rdplanetitle h3 { font-size: clamp(20px, calc(1.135vw + 15.74px), 28px) !important; font-weight: 600 !important; border-bottom: 4px solid #eee; position: relative; padding-bottom: 8px }
.cmshtml .rdplanetitle h3::after { border-bottom: 4px solid rgb(var(--basecolor)); content: ''; position: absolute; bottom: -4px; left: 0; width: 38.2%; height: 4px }
.cmshtml .rdplanetitle h4 { font-size: clamp(18px, calc(0.851vw + 14.81px), 24px) !important; font-weight: 600 !important; border-bottom: 2px solid rgba(var(--basecolor), .4); padding-bottom: 8px; color: #af8446 }
.cmshtml .rdplanetitle h5 { font-size: clamp(17px, calc(0.426vw + 15.4px), 20px) !important; font-weight: 600 !important }
.cmshtml .rdplanetitle h5::before { font-family: 'Font Awesome 6 Free'; content: '\f152\00a0'; font-weight: 900; color: rgba(var(--basecolor)) }
.cmshtml .rdplanetitle h6 { font-size: clamp(16px, calc(0.284vw + 14.94px), 18px) !important; font-weight: 600 !important; background-color: #eee; padding: 2px clamp(4px, calc(0.567vw + 1.87px), 8px); border: 1px solid #e8e8e8 }

@media (max-width: 767px) {
.cmshtml .rdplanetitle h3 { border-bottom-width: 3px }
.cmshtml .rdplanetitle h3::after { border-bottom-width: 3px; bottom: -3px; height: 3px }
.cmshtml .rdplanetitle :is(h3, h4, h5, h6) { line-height: 1.5 }
}

@media (min-width: 768px) and (max-width: 1079px) {
.cmshtml .rdplanetitle h3 { border-bottom-width: 3px }
.cmshtml .rdplanetitle h3::after { border-bottom-width: 3px; bottom: -3px; height: 3px }
.cmshtml .rdplanetitle :is(h3, h4, h5, h6) { line-height: 1.5 }
}

/* 単体エリア・横並びエリア */
@media (max-width: 1079px) {
.cmshtml .box01 { max-width: 100% !important; padding: 0 3% !important }
.cmshtml .flex50 { flex: 0 1 50% !important }
}

/* リンク */
.cmshtml :is(.link01, .link03) a { display: inline-block; padding: clamp(12px, calc(0.993vw + 8.28px), 19px) clamp(64px, calc(5.39vw + 43.79px), 102px) }
.cmshtml :is(.link02, .link04) a { display: block; text-align: center; padding: clamp(12px, calc(0.993vw + 8.28px), 19px) 16px }
.cmshtml :is(.link01, .link02) a { background-color: #004868; border: 2px solid #d6ba91; font-weight: 500; color: #d6ba91; text-decoration: none; transition: .3s; border-radius: 4px; font-size: 120% }
.cmshtml :is(.link03, .link04) a { background-color: #d6ba91; border: 2px solid #d6ba91; font-weight: 500; color: #fff; text-decoration: none; transition: .3s; border-radius: 4px; font-size: 120% }
.cmshtml :is(.link01, .link02) a:hover { background-color: #d6ba91; color: #fff }
.cmshtml :is(.link03, .link04) a:hover { background-color: #004868; color: #d6ba91 }

/* ボーダーありテーブル */
.cmshtml .tbl01 :is(th, td) { padding: 10px !important; border: 1px solid #ddd !important }
.cmshtml .tbl01 th { background-color: #f1f1f1 !important }
.cmshtml .tbl01 td { background-color: #fff; background-clip: padding-box }

/* force.cssの「PC/SPでは非表示」のviewportサイズを上書き */
@media (max-width: 1079px) {
.cmshtml [data-rdhide="sp"] { display: none !important }
}
@media (min-width: 576px) and (max-width: 1079px) {
.cmshtml [data-rdhide="pc"] { display: block !important }
}
@media (min-width: 1080px) {
.cmshtml [data-rdhide="pc"] { display: none !important }
}

.cmshtml .myfont01 { font-family: 'Philosopher', serif; font-size: clamp(24px, calc(1.135vw + 19.74px), 32px); color: #c73148; font-weight: 700 }
.cmshtml .myfaq { display: grid; grid-template-columns: 1fr; grid-template-rows: auto 0fr; transition: .3s; background-color: #f0e4cf; padding: clamp(16px, calc(1.135vw + 11.74px), 24px); border-radius: 4px }
.cmshtml .myfaq.myfaqopen { grid-template-rows: auto 1fr }
.cmshtml .myfaqq { position: relative; padding-left: 32px; cursor: pointer }
.cmshtml .myfaqq::before, .cmshtml .myfaqa::before { position: absolute; font-size: 16px; font-family: 'Font Awesome 6 Free'; color: #fff; top: 0; display: flex; justify-content: center; align-items: center; width: 24px; height: 24px; border-radius: 4px; border: none }
.cmshtml .myfaqq::before { left: 0; content: '\51'; background-color: #004868 }
.cmshtml .myfaqa { position: relative; overflow-y: hidden; opacity: 0; transition: 1s }
.cmshtml .myfaqainner { background-color: rgba(255,255,255,.8); padding: 16px 16px 16px 48px; margin-top: 8px }
.cmshtml .myfaqa::before { top: 24px; left: 16px; content: '\41'; background-color: #c73148 }
.cmshtml .myfaq.myfaqopen .myfaqa { opacity: 1; margin-top: 8px }
.cmshtml .myfaqq span { display: inline-block; position: absolute; top: 0; right: 0; font-family: 'Font Awesome 6 Free'; font-size: 20px; color: #004868; width: 20px; height: 20px }
.cmshtml .myfaqq span::before, .cmshtml .myfaqq span::after { position: absolute; top: 0; right: 0; bottom: 0; left: 0; display: flex; justify-content: center; align-items: center; transition: .3s }
.cmshtml .myfaqq span::before { content: '\2b'; opacity: 1 }
.cmshtml .myfaqq span::after { content: '\f068'; opacity: 0 }
.cmshtml .myfaq.myfaqopen .myfaqq span::before { opacity: 0 }
.cmshtml .myfaq.myfaqopen .myfaqq span::after { opacity: 1 }

#editView .myfaqa { opacity: 1 }

.cmshtml #maincontents footer { background-color: initial; padding: 0 }