@charset "utf-8";

@font-face { font-family: 'Font Awesome 7 Free'; font-style: normal; font-weight: 900; font-display: block; src: url('/data/common/c2101a091901/css/fontawesome/webfonts/fa-solid-900.woff2') format('woff2') }

:root { --basecolor: 29, 32, 135 }
:root { --textcolor: 0, 0, 0 }
:root { --linkcolor: 29, 32, 135 }
:root { --bordercolor: 221, 221, 221 }
:root { --blogcolor: 26, 115, 232 }
:root { --subcolor: 255, 255, 1 }

.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: 'Zen Kaku Gothic New', sans-serif }
.cmshtml section, div, dl { display: flow-root }
.cmshtml p { margin: 0 }
.cmshtml a { color: rgb(var(--linkcolor)) }
.cmshtml a:hover { color: rgba(var(--linkcolor), .72) }
.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: 'Zen Kaku Gothic New', 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: 'Zen Kaku Gothic New', 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 7 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 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: 0px }
}
@supports (-webkit-appearance: none) and (not (-moz-appearance: none)) {
:root { --mypadding: 15px }
}

.cmshtml #mymodalhambergerouter { position: fixed; z-index: 9999 }
.cmshtml #mymodaltoggle { display: none }
.cmshtml #mymodalhamberger { display: block; cursor: pointer; background-color: rgb(var(--basecolor)) }
.cmshtml #mymodalhamberger span { display: block; background-color: #fff; transition: .4s; transform-origin: 0; width: 20px; height: 1px; margin-top: 6px }
.cmshtml #mymodaltoggle:checked + #mymodalhamberger span:nth-child(1) { transform: translate(3px, 0) rotate(45deg) }
.cmshtml #mymodaltoggle:checked + #mymodalhamberger span:nth-child(2) { opacity: 0; visibility: hidden; transition: 0s }
.cmshtml #mymodaltoggle:checked + #mymodalhamberger span:nth-child(3) { transform: translate(3px, 0) rotate(-45deg) }
.cmshtml #mymodal { position: fixed; top: 0; right: 0; bottom: 0; left: 0; overflow-y: auto; transition: opacity .5s; z-index: -999; background-color: #fff; display: flex; justify-content: center; align-items: center }
.cmshtml .mymodal-hide { opacity: 0 }
.cmshtml .mymodal-show { opacity: 1 !important }

@media (max-width: 1079px) { 
.cmshtml .noscroll { overflow: hidden }
}
@media (min-width: 1080px) { 
.cmshtml .noscroll { overflow: hidden; padding-right: var(--mypadding) }
.cmshtml .noscroll #mymodalhambergerouter { right: calc(clamp(16px, calc(1.667vw + -2px), 30px) + var(--mypadding)) }
}

@media (max-width: 1079px) { 
.cmsbody { font-feature-settings: 'palt'; -webkit-text-size-adjust: 100% }
.cmshtml :is(h1, .largeonly) { display: none }
.cmshtml #wrapper { position: relative }
.cmshtml header { position: relative; z-index: 1; height: 119px }
.cmshtml #headerleft { display: flex; align-items: flex-start; column-gap: 10px }
.cmshtml #headerlogo { margin-top: 10px; padding: clamp(12px, calc(0.567vw + 9.87px), 16px) clamp(24px, calc(1.135vw + 19.74px), 32px) clamp(9px, calc(0.567vw + 6.87px), 13px) clamp(12px, calc(0.567vw + 9.87px), 16px); background-color: #fff; border-radius: 0 16px 16px 0 }
.cmshtml #headerlogo img { width: clamp(160px, calc(8.794vw + 127.02px), 222px) }
.cmshtml #headermark img { max-width: clamp(88px, calc(10.638vw + 48.11px), 163px) }
.cmshtml #headerright { display: none }
.cmshtml #containermainvisual { position: relative; margin-top: -119px }
.cmshtml #mainvisualimg img { width: 100%; height: clamp(416px, calc(20.426vw + 339.4px), 560px); object-fit: cover }
.cmshtml #mainvisual { position: absolute; right: 16px; bottom: 16px; left: 16px; text-align: center }
.cmshtml #mainvisualmark img { width: clamp(96px, calc(9.078vw + 61.96px), 160px) }
.cmshtml #mainvisualtext01 { line-height: 1; color: #ffff00; word-spacing: clamp(8px, calc(1.135vw + 3.74px), 16px); margin-top: clamp(16px, calc(1.135vw + 11.74px), 24px) }
.cmshtml #mainvisualtext01 i { display: inline-block; font-family: 'Google Sans', sans-serif; font-size: clamp(44px, calc(4.539vw + 26.98px), 76px); font-weight: 700; font-style: normal; transform: translateY(2px) }
.cmshtml #mainvisualtext01 strong { font-size: clamp(36px, calc(3.404vw + 23.23px), 60px); font-weight: 900 }
.cmshtml #mainvisualtext02 { line-height: 1; color: #fff; margin-top: 8px }
.cmshtml #mainvisualtext02 strong:nth-of-type(1) { display: inline-block; font-weight: 700; font-size: clamp(20px, calc(1.702vw + 13.62px), 32px); transform: translateY(2px) }
.cmshtml #mainvisualtext02 strong:nth-of-type(2) { font-family: 'Noto Sans JP', 'Zen Kaku Gothic New', sans-serif; font-weight: 900; font-size: clamp(32px, calc(2.27vw + 23.49px), 48px); padding: 0 4px }
.cmshtml #mainvisualtext02 i { display: inline-block; font-family: 'Google Sans', sans-serif; font-size: clamp(36px, calc(2.837vw + 25.36px), 56px); font-style: normal }
.cmshtml #mainvisualbanners { display: flex; justify-content: center; column-gap: clamp(16px, calc(0.567vw + 13.87px), 20px); margin-top: clamp(24px, calc(1.135vw + 19.74px), 32px) }
.cmshtml #mainvisualbanners > div { width: 120px !important }
.cmshtml #mainvisualbanners img { max-width: 100% }
.cmshtml #containerpagetitle { position: relative; margin-top: -119px }
.cmshtml #pagetitleimg img { width: 100%; height: clamp(240px, calc(22.695vw + 154.89px), 400px); 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; margin-top: clamp(56px, calc(3.404vw + 43.23px), 80px) }
.cmshtml .pagetitlesmile img { width: clamp(200px, calc(22.695vw + 114.89px), 360px) }
.cmshtml .pagetitletext { font-size: clamp(28px, calc(2.837vw + 17.36px), 48px); font-weight: 700; color: #fff; background-color: rgba(var(--basecolor), .88); padding: 0 clamp(32px, calc(3.404vw + 19.23px), 56px); border-radius: 12px; margin-top: 8px }
.cmshtml #maincontents { margin: clamp(24px, calc(2.27vw + 15.49px), 40px) 0 clamp(40px, calc(3.404vw + 27.23px), 64px) }
.cmshtml .mysection01 { margin-top: clamp(40px, calc(5.674vw + 18.72px), 80px); padding: 0 clamp(16px, calc(1.135vw + 11.74px), 24px) }
.cmshtml .mysection01banner { text-align: center }
.cmshtml .mysection01banner img { max-width: 100% }
.cmshtml .mysection01text { margin-top: 5px; text-align: right; font-size: clamp(13px, calc(0.142vw + 12.47px), 14px); font-weight: 500 }
.cmshtml .mysection02 { margin-top: clamp(40px, calc(7.943vw + 10.21px), 96px); padding: clamp(40px, calc(3.404vw + 27.23px), 64px) clamp(16px, calc(1.135vw + 11.74px), 24px); background: url(../img/common/back04.png) }
.cmshtml .mytitle01en { font-family: 'Google Sans', sans-serif; font-size: clamp(30px, calc(1.986vw + 22.55px), 44px); letter-spacing: 2px; line-height: 1; font-weight: 700 }
.cmshtml .mytitle01en::first-letter { color: rgb(var(--basecolor)) }
.cmshtml .mytitle01 h2 { font-weight: 500; font-size: clamp(20px, calc(0.284vw + 18.94px), 22px); line-height: 1.7 }
.cmshtml .mysection02title .mybtn01 { text-align: right }
.cmshtml .mybtn01 a { display: inline-block; text-decoration: none; font-weight: 500; font-size: clamp(16px, calc(0.142vw + 15.47px), 17px); height: clamp(40px, calc(2.27vw + 31.49px), 56px); background: url(../img/common/back05.png) right center / clamp(40px, calc(2.27vw + 31.49px), 56px) no-repeat; padding: clamp(8px, calc(1.135vw + 3.74px), 16px) clamp(48px, calc(3.404vw + 35.23px), 72px) 0 0 }
.cmshtml .mynewarticles { margin-top: clamp(24px, calc(2.553vw + 14.43px), 42px) }
.cmshtml .mynewarticles ul { display: flex; flex-wrap: wrap; gap: 28px 24px }
.cmshtml .mysection03 { margin-top: clamp(56px, calc(2.27vw + 47.49px), 72px); padding: 0 clamp(16px, calc(1.135vw + 11.74px), 24px) 56px }
.cmshtml .mysection03text { margin-top: 24px }
.cmshtml .mysection03cards { margin-top: 32px; display: flex; flex-wrap: wrap; gap: clamp(32px, calc(2.27vw + 23.49px), 48px) 24px; justify-content: center }
.cmshtml .mysection03cards > div { position: relative; max-width: 338px }
.cmshtml .mysection03card img { max-width: 100%; border-radius: 0 16px 16px 0 }
.cmshtml .mysection03cardtitle { position: absolute; bottom: 0; left: 0; width: 95.238%; font-size: clamp(17px, calc(0.142vw + 16.47px), 18px); color: rgb(var(--basecolor)); font-weight: 700; padding: clamp(10px, calc(1.135vw + 5.74px), 18px) 8px 8px 36px; border-top-right-radius: 16px; background-color: #fff }
.cmshtml .mysection03cardtitle { background-position: 0 center; background-size: 32px 32px; background-repeat: no-repeat; background-color: #fff }
.cmshtml .mysection03cards > div:nth-of-type(1) .mysection03cardtitle { background-image: url(../img/common/back07.png) }
.cmshtml .mysection03cards > div:nth-of-type(2) .mysection03cardtitle { background-image: url(../img/common/back08.png) }
.cmshtml .mysection03cards > div:nth-of-type(3) .mysection03cardtitle { background-image: url(../img/common/back09.png) }
.cmshtml .mysection03cards > div:nth-of-type(4) .mysection03cardtitle { background-image: url(../img/common/back10.png) }
.cmshtml .mysection03cards > div:nth-of-type(5) .mysection03cardtitle { background-image: url(../img/common/back11.png) }
.cmshtml .mysection03cards > div:nth-of-type(6) .mysection03cardtitle { background-image: url(../img/common/back12.png) }
.cmshtml .mysection03btn { margin-top: clamp(32px, calc(3.121vw + 20.3px), 54px); text-align: right }
.cmshtml .mysection04 { padding: clamp(40px, calc(3.404vw + 27.23px), 64px) clamp(16px, calc(1.135vw + 11.74px), 24px); background-image: url(../img/common/back04.png) }
.cmshtml .mysection04title h3 { margin-top: clamp(16px, calc(1.135vw + 11.74px), 24px); font-size: clamp(22px, calc(0.567vw + 19.87px), 26px) }
.cmshtml .mysection04title h3 br { display: none }
.cmshtml .mysection04text { margin-top: 10px }
.cmshtml .mysection04table { margin-top: 32px; background-color: rgb(var(--basecolor)); padding: clamp(24px, calc(1.135vw + 19.74px), 32px); border-radius: 16px }
.cmshtml .mysection04table > div { padding: clamp(16px, calc(1.135vw + 11.74px), 24px) 8px; display: flex; column-gap: 16px; align-items: center }
.cmshtml .mysection04table > div:not(:first-of-type) { border-top: 1px solid #fff }
.cmshtml #wrapper .mysection04tableicon { width: clamp(56px, calc(3.404vw + 43.23px), 80px) !important }
.cmshtml .mysection04tableicon img { max-width: 100% }
.cmshtml #wrapper .mysection04tabletext { width: calc(100% - clamp(56px, calc(3.404vw + 43.23px), 80px)) !important; color: #fff; font-weight: 500; font-size: clamp(17px, calc(0.142vw + 16.47px), 18px) }
.cmshtml .mysection04btn { margin-top: 24px; text-align: right }
.cmshtml .mysection05 { max-width: 900px; margin: clamp(48px, calc(3.121vw + 36.3px), 70px) auto 0; padding: 0 clamp(16px, calc(1.135vw + 11.74px), 24px) }
.cmshtml .mysection05banner { text-align: center }
.cmshtml .mysection05banner img { max-width: 100% }
.cmshtml .mysection06 { margin-top: clamp(48px, calc(3.83vw + 33.64px), 75px); background-color: #bce5f9; padding-bottom: 40px }
.cmshtml .mysection06img img { max-width: 100% }
.cmshtml .mysection06container { margin-top: -120px }
.cmshtml .mysection06outer { padding: 0 clamp(16px, calc(1.135vw + 11.74px), 24px) }
.cmshtml .mysection06text { margin-top: clamp(16px, calc(1.135vw + 11.74px), 24px) }
.cmshtml .mysection06text br { display: none }
.cmshtml .mysection06inner h3 { font-size: clamp(18px, calc(0.284vw + 16.94px), 20px); margin-top: 24px }
.cmshtml .mysection06cards { display: flex; column-gap: 1.393%; margin-top: 16px }
.cmshtml .mysection06cards > div { width: 23.955%; background-color: #fff; text-align: center; border-radius: 8px; padding: clamp(8px, calc(1.135vw + 3.74px), 16px) 8px clamp(8px, calc(0.851vw + 4.81px), 14px) }
.cmshtml .mysection06cards img { width: clamp(48px, calc(1.135vw + 43.74px), 56px) }
.cmshtml .mysection06cardtext { margin-top: 8px; color: #448aca; font-weight: 500; font-size: clamp(14px, calc(0.142vw + 13.47px), 15px); line-height: 1.4 }
.cmshtml .mysection06btn { margin-top: 16px }
.cmshtml .mysection07 { padding: 30px clamp(16px, calc(1.135vw + 11.74px), 24px) 64px; background: url(../img/common/back13.png) center top repeat-x, url(../img/common/back13.png) center bottom repeat-x, #fff45c; overflow: hidden }
.cmshtml .mysection07title { text-align: center; margin-top: clamp(32px, calc(1.844vw + 25.09px), 45px) }
.cmshtml .mysection07title img { max-width: 88% }
.cmshtml .mysection07text { margin-top: clamp(24px, calc(4.681vw + 6.45px), 57px); font-size: clamp(17px, calc(0.142vw + 16.47px), 18px); font-weight: 500 }
.cmshtml .mysection07btn { margin-top: clamp(40px, calc(4.539vw + 22.98px), 72px); text-align: center }
.cmshtml .mysection07btn a { display: inline-block; text-decoration: none; color: #fff45c; font-weight: 700; font-size: clamp(20px, calc(0.567vw + 17.87px), 24px); padding: 20px 96px 20px 56px; border-radius: 16px; background: url(../img/common/back14.png) calc(100% - 38px) center no-repeat #000 }
.cmshtml .mysection07imgs { display: flex; justify-content: center; column-gap: 8px; align-items: center; margin-top: clamp(32px, calc(3.404vw + 19.23px), 56px) }
.cmshtml .mysection07img01 { transform: rotate(5deg); order: 2 }
.cmshtml .mysection07img02 { transform: rotate(-10.59deg); order: 1 }
.cmshtml .mysection07img03 { transform: rotate(-8.02deg); order: 3 }
.cmshtml :is(.mysection07img01, .mysection07img02, .mysection07img03) img { max-width: 100% }
.cmshtml .mysection08 { margin-top: 56px; padding: 0 clamp(16px, calc(1.135vw + 11.74px), 24px) }
.cmshtml .mysection08inner { display: flex; flex-wrap: wrap }
.cmshtml .mysection08inner > div { width: 100% !important }
.cmshtml .mysection08img { position: relative; padding: 64px 8px 32px; order: 2; margin: 32px auto 0; max-width: 680px }
.cmshtml .mysection08img img { max-width: 100%; border-radius: 16px }
.cmshtml .mysection008circle01 { position: absolute; top: 0; left: 0; width: clamp(120px, calc(4.255vw + 104.04px), 150px); height: clamp(120px, calc(4.255vw + 104.04px), 150px); border-radius: 50%; background-color: #ffff01; display: flex; justify-content: center; align-items: center; color: #1d2087; font-weight: 700; text-align: center; line-height: 1.5 }
.cmshtml .mysection008circle02 { position: absolute; right: 0; bottom: 0; width: clamp(104px, calc(4.397vw + 87.51px), 135px); height: clamp(104px, calc(4.397vw + 87.51px), 135px); border-radius: 50%; background-color: #ffff01; display: flex; justify-content: center; align-items: center; color: #1d2087; font-weight: 700; text-align: center; line-height: 1.5 }
.cmshtml .mysection08right { order: 1 }
.cmshtml .mysection08text { margin-top: 24px }
.cmshtml .mysection08text br { display: none }
.cmshtml .mysection08btn { margin-top: 24px }
.cmshtml .mysection09 { margin: 48px 0 1px }
.cmshtml .mysection09 .rdslideItem { width: 160px }
.cmshtml .mysection09 img { width: 100% !important; height: auto !important }
.cmshtml #footercta { background-color: rgb(var(--basecolor)); padding: 64px clamp(16px, calc(1.135vw + 11.74px), 24px) }
.cmshtml .mytitle02 { text-align: center }
.cmshtml .mytitle02en { font-family: 'Google Sans', sans-serif; font-size: clamp(30px, calc(1.986vw + 22.55px), 44px); letter-spacing: 2px; line-height: 1; font-weight: 700; color: #fff }
.cmshtml .mytitle02en::first-letter { color: #ffff00 }
.cmshtml .mytitle02 h2 { font-weight: 500; font-size: clamp(20px, calc(0.284vw + 18.94px), 22px); line-height: 1.7; color: #fff }
.cmshtml .footerctatext { color: #fff; margin-top: clamp(24px, calc(2.128vw + 16.02px), 39px) }
.cmshtml .footerctatext br { display: none }
.cmshtml .footerctabanners { margin-top: clamp(32px, calc(2.27vw + 23.49px), 48px) }
.cmshtml .footerctabanners > div { text-align: center }
.cmshtml .footerctabanners > div:not(:first-of-type) { margin-top: 24px }
.cmshtml .footerctaphone { color: #fff; font-size: 18px }
.cmshtml .footerctaphone strong { display: inline-block; font-family: 'Google Sans', sans-serif; font-size: clamp(32px, calc(0.567vw + 29.87px), 36px); font-weight: 500; background: url(../img/common/back18.png) left center / clamp(49px, calc(0.851vw + 45.81px), 55px) clamp(32px, calc(0.567vw + 29.87px), 36px) no-repeat; padding-left: clamp(56px, calc(1.135vw + 51.74px), 64px); line-height: 1.13 }
.cmshtml .footerctaphone a { color: #fff }
.cmshtml .footerctaphone i { font-family: 'Google Sans', sans-serif; font-style: normal }
.cmshtml .footerctaform a { display: block; color: rgb(var(--basecolor)); text-decoration: none; background: url(../img/common/back19.png) calc(100% - 32px) center / clamp(28px, calc(1.429vw + 12.57px), 40px) clamp(28px, calc(1.429vw + 12.57px), 40px) no-repeat #f9b552; padding: clamp(16px, calc(2.27vw + 7.49px), 32px) 16px; border-radius: 16px; font-size: 18px }
.cmshtml .footerctaform strong { display: inline-block; background: url(../img/common/back21.png) left center no-repeat; padding: 0 38px }
.cmshtml .footerctafaq a { display: block; color: rgb(var(--basecolor)); text-decoration: none; background: url(../img/common/back20.png) calc(100% - 32px) center / clamp(28px, calc(1.429vw + 12.57px), 40px) clamp(28px, calc(1.429vw + 12.57px), 40px) no-repeat #ffff01; padding: clamp(16px, calc(2.27vw + 7.49px), 32px) 16px; border-radius: 16px; font-size: 18px }
.cmshtml .footerctafaq strong { display: inline-block; background: url(../img/common/back22.png) left center no-repeat; padding: 0 38px }
.cmshtml footer { margin-top: clamp(56px, calc(4.539vw + 38.98px), 88px); text-align: center; padding: 0 clamp(16px, calc(1.135vw + 11.74px), 24px) }
.cmshtml .footerlogo img { width: clamp(240px, calc(7.801vw + 210.74px), 295px) }
.cmshtml .footertext { margin-top: clamp(24px, calc(2.27vw + 15.49px), 40px); font-size: clamp(22px, calc(1.135vw + 17.74px), 30px); font-weight: 500 }
.cmshtml .footerphone { margin-top: 15px }
.cmshtml .footerphone strong { display: inline-block; font-size: clamp(36px, calc(2.695vw + 25.89px), 55px); font-family: 'Google Sans', sans-serif; font-weight: 500; background: url(../img/common/back23.png) left center / clamp(48px, calc(4.113vw + 32.57px), 77px) clamp(32px, calc(2.695vw + 21.89px), 51px) no-repeat; padding-left: clamp(56px, calc(4.965vw + 37.38px), 91px); line-height: 1 }
.cmshtml .footeropen { font-size: clamp(20px, calc(0.284vw + 18.94px), 22px) }
.cmshtml .footeropen i { font-family: 'Google Sans', sans-serif; font-style: normal }
.cmshtml .footeraddress { margin-top: clamp(16px, calc(1.135vw + 11.74px), 24px); font-size: clamp(18px, calc(0.426vw + 16.4px), 21px) }
.cmshtml .footerbtn { margin-top: 24px }
.cmshtml .footerbtn a { display: inline-block; text-decoration: none; font-size: 14px; font-weight: 500; color: rgb(var(--basecolor)); border: 1px solid rgb(var(--basecolor)); padding: 14px 32px 14px 52px; border-radius: 10px; background: url(../img/common/back24.png) 30px center no-repeat }
.cmshtml #footernav { display: none }
.cmshtml #footercopy { padding: 40px clamp(16px, calc(1.135vw + 11.74px), 24px) 134px; text-align: center; font-size: 88% }
.cmshtml #sidefixedbtns { display: none }
.cmshtml #sidefixedbanner { display: none }
.cmshtml #sidefixedbannerwide { position: fixed; right: 0; bottom: 0; left: 0; border-top: 1px solid #fff }
.cmshtml #sidefixedbannerwide img { width: 100%; height: 108px; object-fit: cover }
.cmshtml #mymodalhambergerouter { top: 0; right: 0 }
.cmshtml #mymodalhamberger { padding: 9px 12px 14px }
.cmshtml .mymodallogo { text-align: center }
.cmshtml .mymodallogo img { width: clamp(200px, calc(13.475vw + 149.47px), 295px); height: auto }
.cmshtml .mymodaltext { margin-top: 16px; font-size: clamp(20px, calc(0.567vw + 17.87px), 24px); font-weight: 500; text-align: center }
.cmshtml .mymodalphone { margin-top: 8px; text-align: center }
.cmshtml .mymodalphone strong { display: inline-block; font-size: clamp(36px, calc(0.567vw + 33.87px), 40px); font-family: 'Google Sans', sans-serif; font-weight: 500; background: url(../img/common/back23.png) left center / 48px 32px no-repeat; padding-left: 56px; line-height: 1 }
.cmshtml .mymodalopen { font-size: 18px; text-align: center }
.cmshtml .mymodalopen i { font-family: 'Google Sans', sans-serif; font-style: normal }
.cmshtml .mymodalbtn { margin-top: clamp(8px, calc(1.135vw + 3.74px), 16px); text-align: center }
.cmshtml .mymodalbtn a { display: inline-block; text-decoration: none; color: #fff; font-weight: 500; padding: 12px clamp(20px, calc(1.135vw + 15.74px), 28px) 12px 56px; border-radius: 8px; font-size: clamp(17px, calc(0.142vw + 16.47px), 18px); background: url(../img/common/icon01.png) 24px center no-repeat rgb(var(--basecolor)) }
.cmshtml .mymodallinks { margin-top: clamp(16px, calc(1.135vw + 11.74px), 24px); display: flex; justify-content: center; column-gap: 12px }
.cmshtml .mymodallinks a { display: block; padding: 7px 6px; border-radius: 6px; font-size: 0 }
.cmshtml .mymodallinks > div:nth-of-type(1) a { background-color: #f9b552 }
.cmshtml .mymodallinks > div:nth-of-type(2) a { background-color: #03c855 }
.cmshtml .mymodallinks > div:nth-of-type(3) a { background-color: #962fbf }
.cmshtml #mynmodalnav { margin-top: clamp(16px, calc(1.135vw + 11.74px), 24px); text-align: center }
.cmshtml #mynmodalnav > div:not(:first-of-type) { margin-top: 4px }
.cmshtml #mynmodalnav a { text-decoration: none; font-weight: 500; font-size: clamp(17px, calc(0.142vw + 16.47px), 18px) }
.cmshtml :is(button, input[type='submit'], input[type='button']) { padding: 8px 16px }
.cmshtml .smalltac { text-align: center }
.cmshtml #pt { position: fixed; bottom: 109px; right: 0; display: none; width: 44px; height: 44px; background-color: rgb(var(--basecolor)); text-align: center; opacity: 0; transition: opacity 0.5s ease; z-index: 2 }
.cmshtml #pt a { color: #fff; text-decoration: none; display: flex; justify-content: center; align-items: center; width: 44px; height: 44px }
.cmshtml #pt span { font-size: 26px; display: block }

/* 新着情報 */
.cmshtml .mynewarticles .rdnewArticle-item { display: block !important; padding: 0 !important; width: calc(50% - 12px) !important }
.cmshtml .mynewarticles .rdnewArticle-thumbnail { display: block !important; margin: 0 !important; background-color: #fff; border-radius: 16px !important; overflow: hidden !important }
.cmshtml .mynewarticles .rdnewArticle-thumbnail-image { max-height: 335px !important }
.cmshtml .mynewarticles .rdnewArticle-contWrap { margin-top: clamp(8px, calc(0.709vw + 5.34px), 13px) }
.cmshtml .mynewarticles .rdnewArticle-ContDate { font-family: 'Google Sans', sans-serif; font-size: 1em !important; color: #8c8c8c; line-height: 1.6 }
.cmshtml .mynewarticles .rdnewArticle-ContLink { text-decoration: none; color: rgb(var(--linkcolor)); font-weight: 500; font-size: clamp(15px, calc(0.284vw + 13.94px), 17px) }
.cmshtml .mynewarticles .rdnewArticle-item + .rdnewArticle-item { margin-top: 0; padding-top: 0 !important; border-top: none !important }
.cmshtml .mynewarticles .rdnewArticle-ContEx { display: none !important }

/* ブログ */
.cmshtml #myblogframe { margin: 0 16px }
.cmshtml #myblogcommon { margin-top: 40px }
.cmshtml #myblogcommon a { text-decoration: none; color: rgb(var(--textcolor)) }
.cmshtml #myblogcommon h4 { background-color: rgb(var(--basecolor)); color: #fff; font-weight: 400 !important; font-size: 14px !important; padding: 0 4px !important; border: none !important; background-image: none; min-height: auto !important }
.cmshtml .rdListItem a { text-decoration: none }
.cmshtml .rdListImage { height: 220px; overflow: hidden; text-align: center }
.cmshtml .rdarticleTitle h3 { border-bottom: 4px double rgb(var(--blogcolor)) !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 #myblogframe .rdnewArticle-item { padding: 6px 2px !important }
.cmshtml .rdarticlecalendar { font-size: 92%; width: 100%; max-width: 338px; margin: 0 auto }
.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 :is(.rdRelatedArticles-catlink, .rdRelatedArticles-taglink) { padding: 3px 4px !important }
}

@media (min-width: 667px) and (max-width: 1079px) { 
.cmshtml .mynewarticles .rdnewArticle-item { width: calc(33.333% - 16px) !important }
}

@media (min-width: 1080px) { 
.cmshtml :is(h1, .smallonly) { display: none }
.cmshtml #wrapper { position: relative; max-width: 1920px; margin: 0 auto; overflow: hidden }
.cmshtml header { display: flex; justify-content: space-between; align-items: flex-start; column-gap: 16px; position: relative; z-index: 1; height: 119px }
.cmshtml #headerleft { display: flex; align-items: flex-start; column-gap: 10px }
.cmshtml #headerlogo { margin-top: clamp(10px, calc(1.19vw + -2.86px), 20px); padding: clamp(16px, calc(0.952vw + 5.71px), 24px) clamp(32px, calc(1.905vw + 11.43px), 48px) clamp(13px, calc(0.952vw + 2.71px), 21px) clamp(16px, calc(1.667vw + -2px), 30px); background-color: #fff; border-radius: 0 20px 20px 0 }
.cmshtml #headermark img { max-width: 100% }
.cmshtml #headerright { margin-top: clamp(10px, calc(1.19vw + -2.86px), 20px); padding: clamp(14px, calc(0.952vw + 3.71px), 22px) clamp(80px, calc(6.548vw + 9.29px), 135px) clamp(18px, calc(0.952vw + 7.71px), 26px) clamp(24px, calc(3.095vw + -9.43px), 50px); background-color: #fff; border-radius: 20px 0 0 20px }
.cmshtml #globalnav { display: flex; column-gap: clamp(16px, calc(1.905vw + -4.57px), 32px) }
.cmshtml #globalnav a { display: inline-block; text-decoration: none; color: #000; position: relative; padding-top: 4px }
.cmshtml #globalnav a::after { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 2px; background-color: rgb(var(--basecolor)); transform: scale(0, 1); transition: .2s }
.cmshtml #globalnav a:hover::after { transform: scale(1, 1) }
.cmshtml #containermainvisual { position: relative; margin-top: -119px; background: url(../img/common/back01.png) left top / 100% no-repeat }
.cmshtml #mainvisualimg { padding-left: clamp(24px, calc(3.095vw + -9.43px), 50px) }
.cmshtml #mainvisualimg img { max-width: 100%; border-bottom-left-radius: 50px }
.cmshtml #mainvisual { position: absolute; right: 0; bottom: 31px; left: 0; background: url(../img/common/back02.png) center clamp(48px, calc(4.405vw + 0.43px), 85px) / 100% no-repeat; text-align: center }
.cmshtml #mainvisualmark img { width: clamp(160px, calc(16.071vw + -13.57px), 295px) }
.cmshtml #mainvisualtext01 { line-height: 1; color: #ffff00; word-spacing: clamp(16px, calc(1.31vw + 1.86px), 27px); margin-top: 24px }
.cmshtml #mainvisualtext01 i { display: inline-block; font-family: 'Google Sans', sans-serif; font-size: clamp(76px, calc(5.238vw + 19.43px), 120px); font-weight: 700; font-style: normal; letter-spacing: clamp(0px, calc(0.833vw + -9px), 7px); transform: translateY(clamp(4px, calc(0.476vw + -1.14px), 8px)) }
.cmshtml #mainvisualtext01 strong { font-size: clamp(60px, calc(4.762vw + 8.57px), 100px); font-weight: 900; letter-spacing: clamp(2px, calc(0.357vw + -1.86px), 5px) }
.cmshtml #mainvisualtext02 { line-height: 1; color: #fff; margin-top: clamp(-10px, calc(-2.143vw + 31.14px), 8px) }
.cmshtml #mainvisualtext02 strong:nth-of-type(1) { display: inline-block; font-weight: 700; font-size: clamp(32px, calc(2.143vw + 8.86px), 50px); letter-spacing: clamp(0px, calc(0.238vw + -2.57px), 2px); padding-right: clamp(5px, calc(0.595vw + -1.43px), 10px); transform: translateY(4px) }
.cmshtml #mainvisualtext02 strong:nth-of-type(2) { font-family: 'Noto Sans JP', 'Zen Kaku Gothic New', sans-serif; font-weight: 900; font-size: clamp(48px, calc(2.857vw + 17.14px), 72px); letter-spacing: clamp(0px, calc(0.476vw + -5.14px), 4px); padding: 0 clamp(4px, calc(1.429vw + -11.43px), 16px) 0 clamp(4px, calc(1.786vw + -15.29px), 19px) }
.cmshtml #mainvisualtext02 i { display: inline-block; font-family: 'Google Sans', sans-serif; font-size: clamp(56px, calc(7.619vw + -26.29px), 120px); font-style: normal; transform: translateY(clamp(0px, calc(3.333vw + -36px), 28px)) }
.cmshtml #mainvisualbanners { display: flex; justify-content: center; column-gap: 20px; margin-top: clamp(32px, calc(4.167vw + -13px), 67px) }
.cmshtml #mainvisualbanners > div { width: clamp(120px, calc(9.524vw + 17.14px), 200px) }
.cmshtml #mainvisualbanners img { max-width: 100% }
.cmshtml #containerpagetitle { position: relative; margin-top: -119px }
.cmshtml #pagetitleimg img { width: 100%; height: clamp(400px, calc(17.143vw + 214.86px), 544px); 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 { min-width: 720px; text-align: center; padding: 0 40px; margin-top: 80px }
.cmshtml .pagetitlesmile img { width: clamp(360px, calc(12.262vw + 227.57px), 463px) }
.cmshtml .pagetitletext { font-size: clamp(48px, calc(1.429vw + 32.57px), 60px); font-weight: 700; color: #fff; background-color: rgba(var(--basecolor), .88); padding: 0 56px; border-radius: 16px; margin-top: 8px }
.cmshtml #maincontents { margin: clamp(40px, calc(1.905vw + 19.43px), 56px) 0 clamp(64px, calc(1.905vw + 43.43px), 80px) }
.cmshtml .mysection01 { max-width: 1128px; margin: clamp(80px, calc(7.381vw + 0.29px), 142px) auto 0; padding: 0 24px }
.cmshtml .mysection01banner { text-align: center }
.cmshtml .mysection01banner img { max-width: 100% }
.cmshtml .mysection01text { margin-top: 5px; text-align: right; font-size: 14px; font-weight: 500 }
.cmshtml .mysection02 { margin-top: 96px; padding: clamp(64px, calc(3.333vw + 28px), 92px) 24px clamp(64px, calc(7.619vw + -18.29px), 128px); background: url(../img/common/back03.png) center 193px / 100% no-repeat, url(../img/common/back04.png) }
.cmshtml .mysection02inner { max-width: 1400px; margin: 0 auto }
.cmshtml .mysection02title { display: flex; justify-content: space-between; align-items: center }
.cmshtml .mytitle01en { font-family: 'Google Sans', sans-serif; font-size: clamp(44px, calc(1.31vw + 29.86px), 55px); letter-spacing: clamp(2px, calc(0.119vw + 0.71px), 3px); line-height: 1; font-weight: 700 }
.cmshtml .mytitle01en::first-letter { color: rgb(var(--basecolor)) }
.cmshtml .mytitle01 h2 { font-weight: 500; font-size: clamp(22px, calc(0.238vw + 19.43px), 24px); letter-spacing: 1px; line-height: 1.7 }
.cmshtml .mybtn01 a { display: inline-block; text-decoration: none; font-weight: 500; font-size: clamp(17px, calc(0.119vw + 15.71px), 18px); height: 75px; background: url(../img/common/back05.png) calc(100% - 8px) center / clamp(56px, calc(2.262vw + 31.57px), 75px) no-repeat; padding: 23px clamp(85px, calc(2.262vw + 60.57px), 104px) 0 0; letter-spacing: 1px; transition: .3s }
.cmshtml .mybtn01 a:hover { background-position: 100% center }
.cmshtml .mynewarticles { margin-top: 42px }
.cmshtml .mynewarticles ul { display: flex; flex-wrap: wrap; gap: clamp(28px, calc(0.714vw + 20.29px), 34px) 1.429% }
.cmshtml .mysection03 { margin-top: clamp(72px, calc(2.619vw + 43.71px), 94px); background: url(../img/common/back06.png) center 27px / 100% no-repeat; padding: 0 24px clamp(56px, calc(5.238vw + -0.57px), 100px) }
.cmshtml .mysection03inner { max-width: 1400px; margin: 0 auto }
.cmshtml .mysection03text { margin-top: clamp(24px, calc(1.429vw + 8.57px), 36px) }
.cmshtml .mysection03cards { margin-top: clamp(32px, calc(1.905vw + 11.43px), 48px); display: flex; flex-wrap: wrap; gap: clamp(48px, calc(3.214vw + 13.29px), 75px) 5% }
.cmshtml .mysection03cards > div { position: relative; width: 30% }
.cmshtml .mysection03card img { max-width: 100%; border-radius: 0 20px 20px 0 }
.cmshtml .mysection03cardtitle { position: absolute; bottom: -5px; left: 0; width: 95.238%; font-size: clamp(18px, calc(0.595vw + 11.57px), 23px); color: rgb(var(--basecolor)); font-weight: 700; padding: 18px 8px clamp(0px, calc(0.952vw + -10.29px), 8px) clamp(36px, calc(3.69vw + -3.86px), 67px); border-top-right-radius: 20px; background-color: #fff }
.cmshtml .mysection03cardtitle { background-position: clamp(0px, calc(0.714vw + -7.71px), 6px) bottom; background-size: clamp(32px, calc(2.143vw + 8.86px), 50px) clamp(32px, calc(2.143vw + 8.86px), 50px); background-repeat: no-repeat; background-color: #fff }
.cmshtml .mysection03cards > div:nth-of-type(1) .mysection03cardtitle { background-image: url(../img/common/back07.png) }
.cmshtml .mysection03cards > div:nth-of-type(2) .mysection03cardtitle { background-image: url(../img/common/back08.png) }
.cmshtml .mysection03cards > div:nth-of-type(3) .mysection03cardtitle { background-image: url(../img/common/back09.png) }
.cmshtml .mysection03cards > div:nth-of-type(4) .mysection03cardtitle { background-image: url(../img/common/back10.png) }
.cmshtml .mysection03cards > div:nth-of-type(5) .mysection03cardtitle { background-image: url(../img/common/back11.png) }
.cmshtml .mysection03cards > div:nth-of-type(6) .mysection03cardtitle { background-image: url(../img/common/back12.png) }
.cmshtml .mysection03btn { margin-top: 54px; text-align: right }
.cmshtml .mysection04 { padding: clamp(64px, calc(4.286vw + 17.71px), 100px) 24px; background-image: url(../img/common/back04.png) }
.cmshtml .mysection04inner { max-width: 1400px; margin: 0 auto }
.cmshtml .mysection04title h3 { margin-top: clamp(24px, calc(0.595vw + 17.57px), 29px); font-size: clamp(26px, calc(0.476vw + 20.86px), 30px) }
.cmshtml .mysection04text { margin-top: 10px }
.cmshtml .mysection04table { display: flex; flex-wrap: wrap; margin-top: clamp(32px, calc(1.429vw + 16.57px), 44px); background-color: rgb(var(--basecolor)); padding: clamp(32px, calc(2.143vw + 8.86px), 50px) clamp(32px, calc(3.333vw + -4px), 60px); border-radius: 20px }
.cmshtml .mysection04table > div { width: 33.333%; display: flex; align-items: center; column-gap: clamp(16px, calc(0.476vw + 10.86px), 20px); padding: 24px 24px 22px 20px }
.cmshtml .mysection04table > :is(div:nth-of-type(1), div:nth-of-type(2)) { border-right: 1px solid #fff; border-bottom: 1px solid #fff }
.cmshtml .mysection04table > div:nth-of-type(3) { border-bottom: 1px solid #fff }
.cmshtml .mysection04table > :is(div:nth-of-type(4), div:nth-of-type(5)) { border-right: 1px solid #fff }
.cmshtml .mysection04tableicon img { width: clamp(80px, calc(2.381vw + 54.29px), 100px) }
.cmshtml .mysection04tabletext { color: #fff; font-weight: 500; font-size: clamp(18px, calc(0.238vw + 15.43px), 20px) }
.cmshtml .mysection04btn { margin-top: 29px; text-align: right }
.cmshtml .mysection05 { width: 900px; margin: 70px auto 0 }
.cmshtml .mysection05banner { text-align: center }
.cmshtml .mysection06 { margin-top: 75px; position: relative }
.cmshtml .mysection06img img { max-width: 100% }
.cmshtml .mysection06container { position: absolute; top: 0; right: 0; bottom: 0; left: 0 }
.cmshtml .mysection06outer { max-width: 1448px; margin: clamp(40px, calc(6.548vw + -30.71px), 95px) auto 0; padding: 0 24px }
.cmshtml .mysection06inner { width: 51.285% }
.cmshtml .mysection06text { margin-top: clamp(24px, calc(1.548vw + 7.29px), 37px) }
.cmshtml .mysection06inner h3 { font-size: clamp(20px, calc(0.476vw + 14.86px), 24px); margin-top: clamp(24px, calc(1.19vw + 11.14px), 34px) }
.cmshtml .mysection06cards { display: flex; column-gap: 1.393%; margin-top: clamp(16px, calc(0.952vw + 5.71px), 24px) }
.cmshtml .mysection06cards > div { width: 23.955%; background-color: #fff; text-align: center; border-radius: 10px; padding: clamp(16px, calc(0.476vw + 10.86px), 20px) clamp(8px, calc(0.952vw + -2.29px), 16px) 14px }
.cmshtml .mysection06cards img { width: clamp(56px, calc(2.5vw + 29px), 77px) }
.cmshtml .mysection06cardtext { margin-top: clamp(8px, calc(0.476vw + 2.86px), 12px); color: #448aca; font-weight: 500; font-size: clamp(15px, calc(0.119vw + 13.71px), 16px) }
.cmshtml .mysection06btn { margin-top: clamp(16px, calc(1.667vw + -2px), 30px) }
.cmshtml .mysection07 { position: relative; height: clamp(960px, calc(7.143vw + 882.86px), 1020px); padding: 30px 0; background: url(../img/common/back13.png) center top repeat-x, url(../img/common/back13.png) center bottom repeat-x, #fff45c; overflow: hidden }
.cmshtml .mysection07title { text-align: center; margin-top: 45px }
.cmshtml .mysection07title img { width: clamp(560px, calc(26.429vw + 274.57px), 782px) }
.cmshtml .mysection07text { margin-top: 57px; padding: 0 clamp(200px, calc(14.286vw + 45.71px), 320px) 0 clamp(344px, calc(67.738vw + -387.57px), 913px); font-size: 18px; font-weight: 500 }
.cmshtml .mysection07btn { margin-top: 72px }
.cmshtml .mysection07btn a { display: inline-block; text-decoration: none; color: #fff45c; font-weight: 700; font-size: 24px; padding: 26px 120px 32px 112px; border-radius: 20px; background: url(../img/common/back14.png) calc(100% - 38px) center no-repeat #000; transition: .3s }
.cmshtml .mysection07btn a:hover { background-position: calc(100% - 30px) center; opacity: .8 }
.cmshtml .mysection07img01 { position: absolute; top: clamp(200px, calc(3.452vw + 162.71px), 229px); left: -110px; width: clamp(400px, calc(62.381vw + -273.71px), 924px); padding: 0 14px 14px 0; background: url(../img/common/back15.png) right bottom / 100% no-repeat; transform: rotate(5deg) }
.cmshtml .mysection07img02 { position: absolute; top: 47px; left: 80.416%; width: clamp(240px, calc(21.786vw + 4.71px), 423px); padding: 0 9px 9px 0; background: url(../img/common/back16.png) 9px bottom / 100% no-repeat; transform: rotate(10.59deg) }
.cmshtml .mysection07img03 { position: absolute; top: 685px; left: 79.531%; width: clamp(240px, calc(20.833vw + 15px), 415px); padding: 0 9px 9px 0; background: url(../img/common/back16.png) 9px bottom / 100% no-repeat; transform: rotate(-8.02deg) }
.cmshtml :is(.mysection07img01, .mysection07img02, .mysection07img03) img { max-width: 100% }
.cmshtml .mysection08 { margin-top: 40px; padding: clamp(48px, calc(3.214vw + 13.29px), 75px) 24px clamp(48px, calc(2.857vw + 17.14px), 72px); background: url(../img/common/back17.png) center top / 100% no-repeat }
.cmshtml .mysection08inner { max-width: 1540px; display: flex; margin: 0 auto }
.cmshtml .mysection08inner > div { width: 50% }
.cmshtml .mysection08img { position: relative; padding: clamp(6px, calc(-8.81vw + 175.14px), 80px) 19px 45px 71px }
.cmshtml .mysection08img img { max-width: 100%; border-radius: 20px }
.cmshtml .mysection008circle01 { position: absolute; top: 30px; left: 0; width: clamp(150px, calc(1.19vw + 137.14px), 160px); height: clamp(150px, calc(1.19vw + 137.14px), 160px); border-radius: 50%; background-color: #ffff01; display: flex; justify-content: center; align-items: center; color: #1d2087; font-size: clamp(17px, calc(0.119vw + 15.71px), 18px); font-weight: 700; text-align: center; line-height: 1.5 }
.cmshtml .mysection008circle02 { position: absolute; right: 0; bottom: 0; width: clamp(135px, calc(1.19vw + 122.14px), 145px); height: clamp(135px, calc(1.19vw + 122.14px), 145px); border-radius: 50%; background-color: #ffff01; display: flex; justify-content: center; align-items: center; color: #1d2087; font-size: clamp(17px, calc(0.119vw + 15.71px), 18px); font-weight: 700; text-align: center; line-height: 1.5 }
.cmshtml .mysection08right { padding-left: 39px }
.cmshtml .mysection08text { margin-top: clamp(24px, calc(1.548vw + 7.29px), 37px) }
.cmshtml .mysection08btn { margin-top: clamp(24px, calc(2.619vw + -4.29px), 46px) }
.cmshtml .mysection09 { margin-bottom: 1px }
.cmshtml .mysection09 img { max-width: 100% }
.cmshtml #footercta { background-color: rgb(var(--basecolor)); padding: clamp(64px, calc(3.571vw + 25.43px), 94px) 24px clamp(96px, calc(6.429vw + 26.57px), 150px) }
.cmshtml .mytitle02 { text-align: center }
.cmshtml .mytitle02en { font-family: 'Google Sans', sans-serif; font-size: clamp(44px, calc(1.31vw + 29.86px), 55px); letter-spacing: clamp(2px, calc(0.119vw + 0.71px), 3px); line-height: 1; font-weight: 700; color: #fff }
.cmshtml .mytitle02en::first-letter { color: #ffff00 }
.cmshtml .mytitle02 h2 { font-weight: 500; font-size: clamp(22px, calc(0.238vw + 19.43px), 24px); letter-spacing: 1px; line-height: 1.7; color: #fff }
.cmshtml .footerctatext { text-align: center; color: #fff; margin-top: 39px }
.cmshtml .footerctabanners { display: flex; justify-content: space-between; max-width: 1280px; margin: clamp(48px, calc(2.143vw + 24.86px), 66px) auto 0; align-items: center }
.cmshtml .footerctabanners > div { width: 31.25%; text-align: center }
.cmshtml .footerctaphone { color: #fff; font-size: 18px }
.cmshtml .footerctaphone strong { display: inline-block; font-family: 'Google Sans', sans-serif; font-size: clamp(36px, calc(1.071vw + 24.43px), 45px); font-weight: 500; background: url(../img/common/back18.png) left center / clamp(55px, calc(1.786vw + 35.71px), 70px) clamp(36px, calc(1.19vw + 23.14px), 46px) no-repeat; padding-left: clamp(64px, calc(2.143vw + 40.86px), 82px); line-height: 1.13 }
.cmshtml .footerctaphone a { color: #fff }
.cmshtml .footerctaphone i { font-family: 'Google Sans', sans-serif; font-style: normal }
.cmshtml .footerctaform a { display: block; color: rgb(var(--basecolor)); text-decoration: none; background: url(../img/common/back19.png) calc(100% - 32px) center / clamp(28px, calc(1.429vw + 12.57px), 40px) clamp(28px, calc(1.429vw + 12.57px), 40px) no-repeat #f9b552; padding: clamp(32px, calc(1.19vw + 19.14px), 42px) 16px; border-radius: 20px; font-size: clamp(18px, calc(0.238vw + 15.43px), 20px); transition: .3s }
.cmshtml .footerctaform a:hover { background-position: calc(100% - 24px); opacity: .88 }
.cmshtml .footerctaform strong { display: inline-block; background: url(../img/common/back21.png) left center no-repeat; padding: 0 clamp(38px, calc(0.476vw + 32.86px), 42px) }
.cmshtml .footerctafaq a { display: block; color: rgb(var(--basecolor)); text-decoration: none; background: url(../img/common/back20.png) calc(100% - 32px) center / clamp(28px, calc(1.429vw + 12.57px), 40px) clamp(28px, calc(1.429vw + 12.57px), 40px) no-repeat #ffff01; padding: clamp(32px, calc(1.19vw + 19.14px), 42px) 16px; border-radius: 20px; font-size: clamp(18px, calc(0.238vw + 15.43px), 20px); transition: .3s }
.cmshtml .footerctafaq a:hover { background-position: calc(100% - 24px); opacity: .88 }
.cmshtml .footerctafaq strong { display: inline-block; background: url(../img/common/back22.png) left center no-repeat; padding: 0 clamp(38px, calc(0.476vw + 32.86px), 42px) }
.cmshtml footer { margin-top: clamp(88px, calc(7.381vw + 8.29px), 150px); text-align: center }
.cmshtml .footertext { margin-top: clamp(40px, calc(2.024vw + 18.14px), 57px); font-size: 30px; font-weight: 500 }
.cmshtml .footerphone { margin-top: 15px }
.cmshtml .footerphone strong { display: inline-block; font-size: 55px; font-family: 'Google Sans', sans-serif; font-weight: 500; background: url(../img/common/back23.png) left center / 77px 51px no-repeat; padding-left: 91px; line-height: 1 }
.cmshtml .footeropen { font-size: 22px }
.cmshtml .footeropen i { font-family: 'Google Sans', sans-serif; font-style: normal }
.cmshtml .footeraddress { margin-top: clamp(24px, calc(1.548vw + 7.29px), 37px); font-size: 21px }
.cmshtml .footerbtn { margin-top: 24px }
.cmshtml .footerbtn a { display: inline-block; text-decoration: none; font-size: 14px; font-weight: 500; color: rgb(var(--basecolor)); border: 1px solid rgb(var(--basecolor)); padding: 14px 32px 14px 52px; border-radius: 10px; background: url(../img/common/back24.png) 30px center no-repeat; transition: .3s }
.cmshtml .footerbtn a:hover { opacity: .72 }
.cmshtml #footernav { display: flex; justify-content: center; margin-top: clamp(72px, calc(3.333vw + 36px), 100px); background-color: rgb(var(--basecolor)); padding: 22px 16px }
.cmshtml #footernav > div { padding: 0 clamp(12px, calc(1.429vw + -3.43px), 24px); line-height: 1 }
.cmshtml #footernav > div:not(:first-of-type) { border-left: 1px solid #fff }
.cmshtml #footernav a { text-decoration: none; color: #fff; font-weight: 500; font-size: clamp(15px, calc(0.119vw + 13.71px), 16px); transition: .3s }
.cmshtml #footernav a:hover { opacity: .72 }
.cmshtml #footercopy { padding: 43px 24px 134px; text-align: center }
.cmshtml #sidefixedbtns { position: fixed; right: 0; width: 200px }
.cmshtml .sidefixedbtn { display: flex; position: relative; transform: translateX(150px); transition: .5s }
.cmshtml .sidefixedbtn:hover { transform: translateX(0) }
.cmshtml .sidefixedbtn > div:nth-of-type(1) { width: 50px !important; padding: 13px 0 12px; text-align: center; font-size: 0 }
.cmshtml .sidefixedbtn > div:nth-of-type(2) { width: 150px !important; padding: 10px 18px 0; font-weight: 700; background-color: #fff }
.cmshtml .sidefixedbtn01 > div:nth-of-type(1) { background-color: #1d2087; border-top-left-radius: 10px }
.cmshtml .sidefixedbtn02 > div:nth-of-type(1) { background-color: #f9b552 }
.cmshtml .sidefixedbtn03 > div:nth-of-type(1) { background-color: #03c855 }
.cmshtml .sidefixedbtn04 > div:nth-of-type(1) { background-color: #962fbf; border-bottom-left-radius: 10px }
.cmshtml #sidefixedbtns > div a { position: absolute; top: 0; right: 0; bottom: 0; left: 0; display: block }
.cmshtml #sidefixedbanner { position: fixed; right: 0; background-color: #fff; padding: clamp(12px, calc(0.952vw + 1.71px), 20px) 0 clamp(12px, calc(0.952vw + 1.71px), 20px) clamp(12px, calc(0.952vw + 1.71px), 20px); border-radius: 20px 0 0 20px; width: clamp(400px, calc(14.286vw + 245.71px), 520px); transition: .4s }
.cmshtml #sidefixedbanner img { max-width: 100% }
.cmshtml #sidefixedbanner.scrolled { width: clamp(280px, calc(9.524vw + 177.14px), 360px); padding: 10px 0 10px 10px }
.cmshtml #sidefixedbannerwide { display: none }
.cmshtml #mymodalhambergerouter { top: clamp(20px, calc(1.786vw + 0.71px), 35px); right: clamp(16px, calc(1.667vw + -2px), 30px) }
.cmshtml #mymodalhamberger { padding: clamp(9px, calc(0.357vw + 5.14px), 12px) clamp(12px, calc(0.357vw + 8.14px), 15px) clamp(14px, calc(0.357vw + 10.14px), 17px) }
.cmshtml .mymodallogo { text-align: center }
.cmshtml .mymodaltext { margin-top: 16px; font-size: 24px; font-weight: 500; text-align: center }
.cmshtml .mymodalphone { margin-top: 12px; text-align: center }
.cmshtml .mymodalphone strong { display: inline-block; font-size: 40px; font-family: 'Google Sans', sans-serif; font-weight: 500; background: url(../img/common/back23.png) left center / 48px 32px no-repeat; padding-left: 56px; line-height: 1 }
.cmshtml .mymodalopen { font-size: 20px; text-align: center }
.cmshtml .mymodalopen i { font-family: 'Google Sans', sans-serif; font-style: normal }
.cmshtml .mymodalbtn { margin-top: 16px; text-align: center }
.cmshtml .mymodalbtn a { display: inline-block; text-decoration: none; color: #fff; font-weight: 500; padding: 12px 28px 12px 56px; border-radius: 10px; font-size: 18px; transition: .3s; background: url(../img/common/icon01.png) 24px center no-repeat rgb(var(--basecolor)) }
.cmshtml .mymodalbtn a:hover { opacity: .8 }
.cmshtml .mymodallinks { margin-top: 24px; display: flex; justify-content: center; column-gap: 12px }
.cmshtml .mymodallinks a { display: block; padding: 7px 6px; border-radius: 6px; font-size: 0 }
.cmshtml .mymodallinks > div:nth-of-type(1) a { background-color: #f9b552 }
.cmshtml .mymodallinks > div:nth-of-type(2) a { background-color: #03c855 }
.cmshtml .mymodallinks > div:nth-of-type(3) a { background-color: #962fbf }
.cmshtml #mynmodalnav { margin-top: 24px; text-align: center }
.cmshtml #mynmodalnav > div:not(:first-of-type) { margin-top: 4px }
.cmshtml #mynmodalnav a { text-decoration: none; font-weight: 500; font-size: 18px }
.cmshtml :is(button, input[type='submit'], input[type='button']) { padding: 12px 24px }
.cmshtml .largetac { text-align: center }
.cmshtml #pt { position: fixed; bottom: 30px; right: 30px; display: none; width: 60px; height: 60px; background-color: #000; opacity: 0; transition: opacity 0.5s ease; z-index: 2 }
.cmshtml #pt a { color: rgb(var(--subcolor)); text-decoration: none; display: flex; justify-content: center; align-items: center; width: 60px; height: 60px }
.cmshtml #pt i { font-size: 20px; display: block }

/* 新着情報 */
.cmshtml .mynewarticles .rdnewArticle-item { display: block !important; padding: 0 !important; width: 23.928% !important }
.cmshtml .mynewarticles .rdnewArticle-thumbnail { display: block !important; margin: 0 !important; background-color: #fff; border-radius: 20px !important; overflow: hidden !important }
.cmshtml .mynewarticles .rdnewArticle-thumbnail-image { max-height: 335px !important }
.cmshtml .mynewarticles .rdnewArticle-contWrap { margin-top: 13px }
.cmshtml .mynewarticles .rdnewArticle-ContDate { font-family: 'Google Sans', sans-serif; font-size: 1em !important; color: #8c8c8c; line-height: 1.6 }
.cmshtml .mynewarticles .rdnewArticle-ContLink { text-decoration: none; color: rgb(var(--linkcolor)); font-weight: 500; font-size: clamp(17px, calc(0.119vw + 15.71px), 18px); transition: .3s }
.cmshtml .mynewarticles .rdnewArticle-ContLink:hover { opacity: .72 }
.cmshtml .mynewarticles .rdnewArticle-item + .rdnewArticle-item { margin-top: 0; padding-top: 0 !important; border-top: none !important }
.cmshtml .mynewarticles .rdnewArticle-ContEx { display: 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: rgb(var(--basecolor)); color: #fff; font-weight: 400 !important; font-size: 92% !important; padding: 2px 8px !important; border: none !important; background-image: none; min-height: auto !important }
.cmshtml .rdListItem a { text-decoration: none }
.cmshtml .rdListImage { height: 220px; overflow: hidden }
.cmshtml .rdarticleTitle h3 { border-bottom: 4px double rgb(var(--blogcolor)) !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 #myblogframe .rdnewArticle-item { padding: 8px 4px !important }
.cmshtml .rdarticlecalendar { font-size: 92%; width: 100% }
.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:hover { opacity: .8 }
}

@media (min-width: 1080px) and (max-width: 1400px) { 
.cmshtml #headerleft { display: block }
.cmshtml #headermark { margin-left: 64px; width: 120px }
.cmshtml #globalnav a { letter-spacing: -1px }
.cmshtml .mysection04tabletext br { display: none }
.cmshtml .mysection06text br { display: none }
}

@media (min-width: 1080px) and (max-width: 1720px) { 
.cmshtml .mysection02 { background: none, url(../img/common/back04.png) }
.cmshtml .mysection03 { background: none }
.cmshtml .mysection08 { background: none }
}

@media (min-width: 1080px) and (max-height: 960px) { 
.cmshtml #sidefixedbtns { top: 32vh }
.cmshtml #sidefixedbanner { top: calc(32vh + 250px) }
}

@media (min-width: 1080px) and (min-height: 961px) { 
.cmshtml #sidefixedbtns { top: 49vh }
.cmshtml #sidefixedbanner { top: calc(49vh + 250px) }
}

/* ブログ配色 */
.cmshtml #myblogcommon a { text-decoration: none; color: rgb(var(--textcolor)); transition: .3s }
.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-link { padding: 6px 16px; background-color: rgb(var(--blogcolor)) }
.cmshtml #myblogcommon .rdCalendarTable-link { background-color: rgb(var(--blogcolor)) }
.cmshtml .rdBlogSearch-formInner input { border-radius: 2px }
.cmshtml .rdReadMore { font-size: 88% }
.cmshtml .rdpublishDate { font-size: 92% !important; font-family: 'Google Sans', sans-serif }
.cmshtml :is(.rdarticleTitleText, .rdRelatedArticles-title) { overflow: hidden; white-space: nowrap; text-overflow: ellipsis }
.cmshtml .rdCalendarBody { line-height: 1.3 }
.cmshtml .rdCalendarTable-link { color: #fff !important }
.cmshtml .rdListImageItem { width: 100%; height: 220px !important; object-fit: cover }
.cmshtml .rdListImageEmpty { background-color: #f8f8f8 }
.cmshtml .rdListImageItemDummy { border: none !important }
.cmshtml .rdarticleTitleText a { font-size: 88% !important; color: rgb(var(--textcolor)) }
.cmshtml .rdnewArticle { border: none !important; padding: 0 !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 .rdMonthlyArchive-item { padding: 4px 4px 4px 14px !important; margin: 0 4px }
.cmshtml .rdTaglist-link { padding: 2px 4px !important; font-size: 88%; color: rgb(var(--blogcolor)) !important }
.cmshtml .rdTaglist-link:hover { color: #fff !important }
.cmshtml .rdBlogSearch-btn { padding: 0 8px !important; margin-left: 8px; color: #fff !important }
.cmshtml .rdRelatedArticles-title a { color: rgb(var(--textcolor)); text-decoration: none }
.cmshtml .rdRelatedArticles { width: calc(100% + 16px); transform: translateX(-8px) }

/* パンくずリスト */
.cmshtml .rdBreadcrumbItem { word-spacing: 4px; font-size: 88% }
.cmshtml .rdBreadcrumbList > li:first-of-type::before { font-family: 'Font Awesome 7 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 }

/* 共通装飾 */
/* 見出し */
.cmshtml .rdplanetitle h2 { font-size: clamp(26px, calc(0.727vw + 23.27px), 32px) !important; font-weight: 700 !important; display: flex; justify-content: center; align-items: center; color: rgb(var(--basecolor)); column-gap: clamp(12px, calc(0.485vw + 10.18px), 16px) }
.cmshtml .rdplanetitle h2::before { content: ''; width: clamp(31px, calc(0.848vw + 27.82px), 38px); height: clamp(34px, calc(0.97vw + 30.36px), 42px); background: url(../img/common/back25.png) left top / contain no-repeat }
.cmshtml .rdplanetitle h2::after { content: ''; width: clamp(31px, calc(0.848vw + 27.82px), 38px); height: clamp(34px, calc(0.97vw + 30.36px), 42px); background: url(../img/common/back26.png) left top / contain no-repeat }
.cmshtml .rdplanetitle h3 { font-size: clamp(19px, calc(0.709vw + 16.34px), 24px) !important; font-weight: 500 !important; color: rgb(var(--basecolor)); padding: 0 16px 0 clamp(32px, calc(1.939vw + 24.73px), 48px); background: url(../img/common/back27.png) clamp(8px, calc(0.97vw + 4.36px), 16px) center / clamp(17px, calc(0.485vw + 15.18px), 21px) clamp(32px, calc(0.97vw + 28.36px), 40px) no-repeat #fff000; border-radius: 4px; min-height: clamp(44px, calc(0.97vw + 40.36px), 52px); display: flex; align-items: center }

.cmshtml .rdplanetitle h3 i { display: inline-block; font-style: normal; font-size: clamp(14px, calc(0.242vw + 13.09px), 16px) }
.cmshtml .rdplanetitle h3 u { display: inline-block; text-decoration: none; font-size: 18px; color: #f00; margin: 0 clamp(4px, calc(0.485vw + 2.18px), 8px) 0 4px }

.cmshtml .rdplanetitle h4 { font-size: clamp(17px, calc(0.364vw + 15.64px), 20px) !important; font-weight: 500 !important; color: #fff; padding: 0 16px 0 clamp(36px, calc(2.424vw + 26.91px), 56px); background: url(../img/common/back28.png) clamp(8px, calc(0.97vw + 4.36px), 16px) center / clamp(24px, calc(0.97vw + 20.36px), 32px) clamp(15px, calc(0.606vw + 12.73px), 20px) no-repeat rgb(var(--basecolor)); border-radius: 4px; min-height: clamp(38px, calc(0.727vw + 35.27px), 44px); display: flex; align-items: center }
.cmshtml .rdplanetitle h5 { font-size: clamp(17px, calc(0.364vw + 15.64px), 20px) !important; font-weight: 500 !important; padding: 0 clamp(8px, calc(0.97vw + 4.36px), 16px) 2px clamp(20px, calc(0.485vw + 18.18px), 24px); background: url(../img/common/back29.png) left center no-repeat; border-bottom: 1px dashed #aaa }
.cmshtml .rdplanetitle h6 { font-size: clamp(16px, calc(0.242vw + 15.09px), 18px) !important; font-weight: 500 !important; background-color: #eee; padding: 2px clamp(4px, calc(0.567vw + 1.87px), 8px); border: 1px solid #e8e8e8; border-radius: 4px }

/* 単体エリア・横並びエリア */
@media (max-width: 1079px) { 
.cmshtml .box01 { max-width: 100% !important; padding: 0 3% !important }
.cmshtml .flex50 { flex: 0 1 50% !important }
}

/* リンク */
.cmshtml :is(.link01, .link02, .link03, .link04) a { text-decoration: none; transition: .3s; border-radius: 16px; font-weight: 500; font-size: 110% }
.cmshtml :is(.link01, .link03) a { display: inline-block; padding: clamp(5px, calc(1.135vw + 0.74px), 13px) clamp(21px, calc(2.27vw + 12.49px), 37px) }
.cmshtml :is(.link02, .link04) a { display: block; text-align: center; padding: clamp(5px, calc(1.135vw + 0.74px), 13px) 16px }
.cmshtml :is(.link01, .link02) a { background-color: rgb(var(--basecolor)); border: clamp(2px, calc(0.142vw + 1.47px), 3px) solid rgb(var(--basecolor)); font-weight: 500; color: #fff }
.cmshtml :is(.link03, .link04) a { background-color: #fff; border: clamp(2px, calc(0.142vw + 1.47px), 3px) solid rgb(var(--basecolor)); font-weight: 500; color: rgb(var(--basecolor)) }
.cmshtml :is(.link01, .link02) a:hover { opacity: .8; background-color: #fff; color: rgb(var(--basecolor)) }
.cmshtml :is(.link03, .link04) a:hover { opacity: .8; background-color: rgb(var(--basecolor)); color: #fff }
.cmshtml :is(.link01, .link02, .link03, .link04) a::after { font-family: 'Font Awesome 7 Free'; content: '\f138'; font-weight: 900; display: inline-block; margin-left: clamp(16px, calc(1.135vw + 11.74px), 24px); font-size: 128% }
.cmshtml .pdflink01 a { display: inline-block }
.cmshtml .pdflink02 a { display: block; text-align: center }
.cmshtml :is(.pdflink01, .pdflink02) a { padding: 0 16px; color: rgb(var(--subcolor)); text-decoration: none; border: 2px solid rgb(var(--subcolor)); border-radius: 4px; font-weight: 500; background-color: #fff; transition: .3s }
.cmshtml :is(.pdflink01, .pdflink02) a:hover { opacity: .72; color: #fff; background-color: rgb(var(--subcolor)) }
.cmshtml :is(.pdflink01, .pdflink02) a::before { font-family: 'Font Awesome 7 Free'; content: '\f1c1\2002'; font-weight: 900; font-size: 128% }
.cmshtml :is(.pdflink01, .pdflink02) a::after { font-family: 'Font Awesome 7 Free'; content: '\2003\f105'; font-weight: 900 }

/* ボーダーありテーブル */
.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 }
}

/* ショッピングシステムのfooter装飾 */
.cmshtml main footer { background-color: initial; padding: 0 }

.cmshtml .mylayout01 { border: 5px solid #ccc; padding: 24px }
.cmshtml .mylayout01ribon { position: relative; transform: translateX(-49px) }
.cmshtml .mylayout01riboninner { display: inline-block; background-color: #fff000; padding: 0 clamp(16px, calc(1.135vw + 11.74px), 24px) 0 16px; min-width: 160px }
.cmshtml .mylayout01riboninner strong:nth-of-type(1) { color: #666 }
.cmshtml .mylayout01riboninner strong:nth-of-type(2) { color: rgb(var(--basecolor)); font-size: clamp(24px, calc(0.567vw + 21.87px), 28px) }
.cmshtml .mylayout01riboninner strong:nth-of-type(3) { color: rgb(var(--basecolor)); font-size: clamp(20px, calc(0.567vw + 17.87px), 24px) }
.cmshtml .mylayout01ribon::after { content: ''; position: absolute; top: 100%; left: 0; border-bottom: 15px solid transparent; border-right: 20px solid #593518 }
.cmshtml .mylayout01outer { display: flex; margin-top: 16px; column-gap: 32px }
.cmshtml .mylayout01phone { margin-top: 24px }
.cmshtml .mylayout01phone strong { display: inline-block; font-size: 40px; font-family: 'Google Sans', sans-serif; font-weight: 500; background: url(../img/common/back23.png) left center / 48px 32px no-repeat; padding-left: 56px; line-height: 1 }
.cmshtml .mylayout01open { font-size: 20px }
.cmshtml .mylayout01open i { font-family: 'Google Sans', sans-serif; font-style: normal }
.cmshtml .mylayout01arrow { text-align: center }
.cmshtml .mylayout01arrow i { font-size: 96px; color: #ccc }
.cmshtml .mylayout02 { background: url(../img/common/back30.jpg) center top / cover; padding: clamp(40px, calc(2.27vw + 31.49px), 56px) clamp(24px, calc(5.674vw + 2.72px), 64px); position: relative }
.cmshtml .mylayout02 dl { text-align: center; margin-bottom: 24px }
.cmshtml .mylayout02 dt { font-size: clamp(22px, calc(0.284vw + 20.94px), 24px); font-weight: 700 }
.cmshtml .mylayout02 dd { font-size: clamp(18px, calc(0.284vw + 16.94px), 20px); font-weight: 500 }
.cmshtml .mylayout02::before { content: ''; position: absolute; top: clamp(12px, calc(1.702vw + 5.62px), 24px); left: clamp(12px, calc(1.702vw + 5.62px), 24px); width: 72px; height: 72px; border-top: 1px solid #000; border-left: 1px solid #000 }
.cmshtml .mylayout02::after { content: ''; position: absolute; right: clamp(12px, calc(1.702vw + 5.62px), 24px); bottom: clamp(12px, calc(1.702vw + 5.62px), 24px); width: 72px; height: 72px; border-right: 1px solid #000; border-bottom: 1px solid #000 }
.cmshtml .mylayout03 { display: flex; flex-wrap: wrap; gap: 40px 32px }
.cmshtml .mylayout03 > div { width: calc(50% - 16px); border: 8px solid #fff000; border-radius: 8px }
.cmshtml .mylayout03title01 { text-align: center; background-color: #fff000; color: rgb(var(--basecolor)); font-weight: 500; padding: 0 16px }
.cmshtml .mylayout03title02 { text-align: center; margin: 8px 0 12px; font-size: 22px; font-weight: 700; color: rgb(var(--basecolor)); padding: 0 16px }
.cmshtml .mylayout03img { padding: 0 16px; text-align: center }
.cmshtml .mylayout03img img { max-width: 100% }
.cmshtml .mylayout03text { padding: 16px 24px }
.cmshtml .myfaq { display: grid; grid-template-columns: 1fr; grid-template-rows: auto 0fr; transition: .4s; border: 6px solid #eee; padding: 16px clamp(16px, calc(1.135vw + 11.74px), 24px) }
.cmshtml .myfaq.myfaqopen { grid-template-rows: auto 1fr }
.cmshtml .myfaqq { position: relative; cursor: pointer }
.cmshtml :is(.myfaqq, .myfaqa)::before { position: absolute; font-size: clamp(20px, calc(0.567vw + 17.87px), 24px); font-family: 'Font Awesome 7 Free' }
.cmshtml .myfaqq::before { top: 0; left: 0; content: '\51.'; color: rgb(var(--basecolor)) }
.cmshtml .myfaqqinner { padding: 4px clamp(24px, calc(1.135vw + 19.74px), 32px) 0 32px; font-weight: 500; font-size: 110% }
.cmshtml .myfaqa { margin-top: 8px; position: relative; overflow-y: hidden; opacity: 0; transition: 2s }
.cmshtml .myfaqa::before { top: 1px; left: 2px; content: '\41.'; color: #f30 }
.cmshtml .myfaqainner { padding: 6px 0 0 32px }
.cmshtml .myfaq.myfaqopen .myfaqa { opacity: 1 }
.cmshtml .myfaqq span { display: inline-block; position: absolute; top: 4px; right: 0; font-family: 'Font Awesome 7 Free'; font-size: 20px; color: #999; 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 }
.cmshtml .myfaqopened { display: grid; grid-template-columns: 1fr; grid-template-rows: auto 1fr; border: 6px solid #eee; padding: 16px clamp(16px, calc(1.135vw + 11.74px), 24px) }
.cmshtml .myfaqqopened { position: relative }
.cmshtml :is(.myfaqqopened, .myfaqaopened)::before { position: absolute; font-size: clamp(20px, calc(0.567vw + 17.87px), 24px); font-family: 'Font Awesome 7 Free' }
.cmshtml .myfaqqopened::before { top: 0; left: 0; content: '\51.'; color: #777 }
.cmshtml .myfaqqinneropened { padding: 4px clamp(24px, calc(1.135vw + 19.74px), 32px) 0 32px }
.cmshtml .myfaqaopened { margin-top: 8px; padding: 4px 0 0 32px; position: relative }
.cmshtml .myfaqaopened::before { top: 1px; left: 2px; content: '\41.'; color: rgb(var(--basecolor)) }
.cmshtml .mylayout04 { display: flex; flex-wrap: wrap; gap: 40px 33px }
.cmshtml .mylayout04 > div { width: calc(33.333% - 22px) }
.cmshtml .mylayout04title { color: #fff; background-color: rgb(var(--basecolor)); text-align: center; font-size: 110%; border-radius: 4px; padding: 4px }
.cmshtml .mylayout04title strong::before { font-family: 'Font Awesome 7 Free'; content: '\f118\00a0'; font-weight: 900; color: #fff000 }
.cmshtml .mylayout04icon { text-align: center; margin-top: 16px }
.cmshtml .mylayout04icon img { max-width: 240px; width: 80% }
.cmshtml .mylayout04text { margin-top: 16px }

@media (max-width: 1079px) { 
.cmshtml .mylayout01outer { display: block }
.cmshtml .mylayout01img { text-align: center }
.cmshtml .mylayout01img img { width: 160px }
.cmshtml .mylayout01text { margin-top: 24px }
.cmshtml .mylayout01phone strong { font-size: clamp(28px, calc(1.702vw + 21.62px), 40px); background: url(../img/common/back23.png) left center / 48px 32px no-repeat; padding-left: 56px }
.cmshtml .mylayout01open { font-size: 17px }
}

@media (min-width: 542px) and (max-width: 840px) { 
.cmshtml .mylayout04 > div { width: calc(50% - 16.5px) }
}

@media (max-width: 541px) { 
.cmshtml .mylayout03 > div { width: 100% }
.cmshtml .mylayout04 > div { width: 100% }
}

/* U01編集画面用 */
#editView .cmsbody { margin: 0; background-color: #fff; color: rgb(var(--textcolor)); line-height: 1.732; font-size: clamp(15px, calc(0.284vw + 13.94px), 17px); font-family: 'Zen Kaku Gothic New', sans-serif }
#editView :is(#globalnav, #footernav, #mymodalnav, .mymodallinks) edit { padding: 8px !important }
#editView #mymodalhambergerouter { position: static !important; display: none !important }
#editView #mymodal { position: static !important; overflow-y: visible !important; z-index: 0 !important }
#editView .mymodal-hide { opacity: 1 !important }
#editView #mainvisual { position: static !important; background-color: #eee }
#editView .mysection03cardtitle { position: static !important }
#editView .mysection06container { position: static !important }
#editView :is(.mysection07img01, .mysection07img02, .mysection07img03) { position: static !important }
#editView :is(.mysection008circle01, .mysection008circle02) { position: static !important }
#editView #sidefixedbtns { position: static !important; width: auto !important }
#editView #sidefixedbanner { position: static !important }
#editView #sidefixedbannerwide { display: block; position: static !important }
#editView #containermainvisual { margin-top: 0  !important }
#editView #containerpagetitle { margin-top: 0  !important }
#editView .mysection04table > div .rdflexareaChild { display: flex !important; align-items: center !important; column-gap: 20px !important }
#editView .mysection07 { height: auto !important }
#editView div[data-rdid='cmn008'] { text-align: center !important }
#editView .myfaq { grid-template-rows: auto 1fr !important }
#editView .myfaqa { opacity: 1 !important }
#editView #pagetitleouter { position: static !important }
#editView .sidefixedbtn { transform: translateX(0) !important }
#editView .mymodallinks > div:nth-of-type(1) { background-color: #f9b552 }
#editView .mymodallinks > div:nth-of-type(2) { background-color: #03c855 }
#editView .mymodallinks > div:nth-of-type(3) { background-color: #962fbf }