@charset "utf-8";

@font-face { font-family: 'Font Awesome 6 Free'; font-style: normal; font-weight: 900; font-display: block; src: url('/data/common/c2101a089201/css/fontawesome/webfonts/fa-solid-900.woff2') format('woff2'), url('/data/common/c2101a089201/css/fontawesome/webfonts/fa-solid-900.ttf') format('truetype') }

:root { --basecolor: 237, 51, 52 }
:root { --textcolor: 0, 0, 0 }
:root { --linkcolor: 231, 0, 18 }
:root { --bordercolor: 221, 221, 221 }
:root { --blogcolor: 26, 115, 232 }
:root { --subcolor: 255, 112, 67 }

.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)); font-size: 16px; font-family: 'Meiryo', sans-serif }
.cmshtml section, div, dl { display: flow-root }
.cmshtml p { margin: 0 }
.cmshtml a { color: rgb(var(--linkcolor)); text-decoration: none }
.cmshtml a:hover { color: #000; text-decoration: underline }
.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 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 }

@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 #containerheader { height: 0; border-top: 8px solid #e70012; padding: 0 16px }
.cmshtml #header { }
.cmshtml #headerlogo { width: 104px; position: relative; z-index: 2 }
.cmshtml #headerlogo img { max-width: 100% }
.cmshtml #globalnav { display: none }
.cmshtml #containermainvisual { position: relative }
.cmshtml #mainvisualouter { position: relative }
.cmshtml #mainvisual { overflow: hidden }
.cmshtml #mainvisual img { max-width: 100% }
.cmshtml #mainvisualtext { position: absolute; top: clamp(144px, calc(41.986vw + -13.45px), 440px); left: 9.423%; width: 56%; max-width: 400px }
.cmshtml #mainvisualtext img { max-width: 100% }
.cmshtml #mainvisualticker { padding: 20px 16px 0 }
.cmshtml #mainvisualtickerinner { background-color: #fff }
.cmshtml #mainvisualtickertitle { background-color: #ec3635; color: #fff; font-family: 'Noto Serif JP', serif; font-size: clamp(16px, calc(0.851vw + 12.81px), 22px); font-weight: 400; font-style: italic; text-align: center }
.cmshtml #mainvisualtickertitlebtn { text-align: center }
.cmshtml #mainvisualtickertitlebtn a { display: inline-block; text-decoration: none; font-family: 'Noto Serif JP', serif; font-size: clamp(15px, calc(0.426vw + 13.4px), 18px); font-weight: 500; font-style: italic; color: #000; background: url(../img/common/back02.png) center bottom / 40px 3px no-repeat; padding-bottom: 10px }
.cmshtml .mynewarticles { padding: 8px 0 }
.cmshtml #containerpagetitle { margin-bottom: 40px }
.cmshtml #pagetitleouter { }
.cmshtml #pagetitleimg img { width: 100%; height: 120px !important; object-fit: cover }
.cmshtml #pagetitleinner { }
.cmshtml #pagetitle { padding: 12px 16px 16px; text-align: center; border-top: 4px solid #e60113; border-bottom: 1px solid #ccc }
.cmshtml #pagetitle dt { font-size: 30px; font-weight: 700 !important }
.cmshtml #pagetitle dd { font-size: 12px; font-weight: 400 !important; color: #e60113; margin-top: 1px; letter-spacing: 2px }
.cmshtml .mysection01 { padding: 0 16px }
.cmshtml .mysection01box { text-align: center; border: 3px solid rgb(var(--basecolor)); margin-top: 40px; padding: 24px; background-color: #fff }
.cmshtml .mysection01box img { max-width: 100% }
.cmshtml .containermysection02 { margin-top: 32px; padding: 0 16px }
.cmshtml .mysection02nmovie { text-align: center }
.cmshtml .mysection02nmovie img { width: clamp(160px, calc(11.348vw + 117.45px), 240px) }
.cmshtml .mysection02 { margin-top: 16px }
.cmshtml .mysection02title h2 { display: inline-block; font-family: 'Noto Serif JP', serif; font-size: 24px; font-weight: 600; text-align: center }
.cmshtml .mysection02text { margin-top: 16px; font-size: clamp(16px, calc(0.567vw + 13.87px), 20px) }
.cmshtml .mysection02banners { margin-top: 32px; display: flex; justify-content: center; flex-wrap: wrap }
.cmshtml .mysection02banners > div { width: 50% !important; text-align: center }
.cmshtml .mysection02banners img { max-width: 88% !important }
.cmshtml .mysection02btn { margin-top: 40px; text-align: center }
.cmshtml .mysection02btn a { display: inline-block; text-decoration: none; color: rgb(var(--basecolor)); padding: 16px 80px; border: 2px solid #e70012; border-radius: 80px; font-family: 'Noto Serif JP', serif; font-size: 18px; font-weight: 400; font-style: italic; letter-spacing: 1px; background-color: #fff }
.cmshtml .containermysection03 { margin-top: 80px; border-bottom: 1px solid #e70012 }
.cmshtml .mysection04 { max-width: 1050px; margin: 80px auto; padding: 0 16px }
.cmshtml .mysection04 img { max-width: 100% }
.cmshtml .containermysection05 { position: relative; background: url(../img/common/back06.jpg) center center / cover no-repeat; padding: 40px 16px }
.cmshtml .mysection05title { text-align: center }
.cmshtml .mysection05title h2 { font-family: 'Noto Serif JP', serif; font-weight: 500; font-size: clamp(24px, calc(2.27vw + 15.49px), 40px) }
.cmshtml .mysection05title h3 { font-family: 'Noto Serif JP', serif; font-weight: 500; font-size: 16px; color: rgb(var(--basecolor)); font-style: italic; margin-top: 5px }
.cmshtml .mysection05 { margin-top: 32px }
.cmshtml .mysection05 > div { width: 100% !important }
.cmshtml .mysection05btns { }
.cmshtml .mysection05btns > div { width: 100% !important; margin-bottom: 16px }
.cmshtml .mysection05btns a { display: block; color: rgb(var(--basecolor)); border: 1px solid #e70012; padding: 13px 8px 13px 50px; background: url(../img/common/back07.png) 10px center no-repeat #fff; font-size: 17px; text-decoration: none }
.cmshtml .mysection05 img { max-width: 100% }
.cmshtml .containermysection06 { margin-top: 80px; padding: 0 16px }
.cmshtml .containermysection06 > div:nth-of-type(1) { width: 100% !important; margin-bottom: 32px }
.cmshtml .containermysection06 > div:nth-of-type(2) { width: 100% !important }
.cmshtml .mysection06 img { max-width: 100% }
.cmshtml .mysection06title { margin-top: 4px }
.cmshtml .mysection06title h2 { font-family: 'Noto Serif JP', serif; font-weight: 700; font-size: clamp(24px, calc(2.27vw + 15.49px), 40px); letter-spacing: 2px }
.cmshtml .mysection06title h3 { font-family: 'Noto Serif JP', serif; font-weight: 600; font-size: 16px; color: rgb(var(--basecolor)); font-style: italic; margin-top: 8px }
.cmshtml .mysection06text { margin-top: 24px }
.cmshtml .mysection06inner { margin-bottom: 32px }
.cmshtml .mysection06innertitle p { display: flex; align-items: center; column-gap: 10px }
.cmshtml .mysection06innertitle i { font-family: 'Noto Serif JP', serif; color: rgb(var(--basecolor)); font-weight: 800; font-size: clamp(36px, calc(1.702vw + 29.62px), 48px); font-style: normal }
.cmshtml .mysection06innertitle strong { font-family: 'Noto Serif JP', serif; font-weight: 600; font-size: clamp(20px, calc(0.851vw + 16.81px), 26px) }
.cmshtml .mysection06innerimg img { max-width: 100% }
.cmshtml .mysection06innertext { display: flex; justify-content: space-between; align-items: center; ; margin-top: 16px; column-gap: 8px }
.cmshtml .mysection06innertext > div:nth-of-type(2) {  width: 88px !important; flex-shrink: 0 }
.cmshtml .mysection06innerbtn { background: url(../img/home/btn02.png) left top / contain no-repeat }
.cmshtml .mysection06innerbtn img { max-width: 100% }
.cmshtml #footerfaq { margin-top: 56px; background: url(../img/common/back10.jpg) center / cover repeat-y; padding: 40px 16px; display: flex; justify-content: center; align-items: center; text-align: center }
.cmshtml .footerfaqtitle dl { line-height: 1.1 }
.cmshtml .footerfaqtitle dt { font-family: 'Noto Serif JP', serif; font-weight: 600 !important; font-size: 28px; line-height: 1.72 }
.cmshtml .footerfaqtitle dd { font-family: 'Noto Serif JP', serif; font-weight: 600 !important; font-size: 18px; color: rgb(var(--basecolor)); font-style: italic }
.cmshtml .footerfaqtext { font-family: 'Noto Serif JP', serif; font-weight: 500; font-size: 17px; margin-top: 24px; line-height: 1.72 }
.cmshtml .footerfaqbtn { margin-top: 34px }
.cmshtml .footerfaqbtn a { display: inline-block; color: #000; text-decoration: none; font-family: 'Noto Serif JP', serif; font-weight: 500; font-size: 19px; font-style: italic; padding-bottom: 14px; background: url(../img/common/back02.png) center bottom / 56px 4px no-repeat; letter-spacing: 2px }
.cmshtml #containerfooter { background-color: #dcdcdc; padding: 0 16px }
.cmshtml #footernav { display: flex }
.cmshtml #footernav a { color: #000 }
.cmshtml #footernav .fm2 { background-image: url(../img/common/ico_fm2.png) !important }
.cmshtml .footercopy { text-align: center; padding: 14px 16px 64px; font-size: 14px }
.cmshtml #sidefixedbtn { position: fixed; right: 0; bottom: 0; left: 0; background-color: #2fabde; z-index: 9997 }
.cmshtml .sidefixedbtnarea { padding: 8px 16px; text-align: center; display: flex; justify-content: center; align-items: center; column-gap: 12px }
.cmshtml .sidefixedbtnarea > div { width: calc(50% - 6px) !important; text-align: center }
.cmshtml .sidefixedbtntitle { font-size: 16px; font-weight: 700; color: #fff }
.cmshtml .sidefixedbtntitle :is(div, p) { display: inline }
.cmshtml .sidefixedbtntitle::before { font-family: 'Font Awesome 6 Free'; content: '\f073\00a0'; font-weight: bold; text-align: center }
.cmshtml .sidefixedbtnlink { }
.cmshtml .sidefixedbtnlink strong { display: block; color: #2fabde; background-color: #fff; border-radius: 80px; padding: 4px 10px 4px 14px; font-size: 16px; font-weight: 700 }
.cmshtml .sidefixedbtnlink strong::after { font-family: 'Font Awesome 6 Free'; content: '\00a0\f105'; font-weight: bold }
.cmshtml #containerbackgroundimg { display: none }
.cmshtml .smalltac { text-align: center }
.cmshtml #pt { position: fixed; bottom: 64px; right: 8px; display: none; width: 48px; height: 48px; opacity: 0; transition: opacity 0.5s ease; z-index: 9997 }
.cmshtml #pt img { max-width: 100% }
.cmshtml .mylayout01 { display: flex; flex-wrap: wrap }
.cmshtml .mylayout01 > div:nth-of-type(1) { width: 100% !important; position: relative; z-index: 1; order: 2 }
.cmshtml .mylayout01 > div:nth-of-type(2) { width: 100% !important; position: relative; z-index: 0; order: 1; text-align: center }
.cmshtml .mylayout01inner { max-width: 560px; width: 88%; margin: -40px auto 0; padding: 16px 16px 0 16px; background-color: rgba(255, 255, 255, .88) }
.cmshtml .mylayout01 img { max-width: 100% }
.cmshtml .mylayout02 { display: flex; flex-wrap: wrap }
.cmshtml .mylayout02 > div:nth-of-type(1) { width: 100% !important; position: relative; z-index: 0; text-align: center }
.cmshtml .mylayout02 > div:nth-of-type(2) { width: 100% !important; position: relative; z-index: 1 }
.cmshtml .mylayout02inner { max-width: 560px; width: 88%; margin: -40px auto 0; padding: 16px 16px 0 16px; background-color: rgba(255, 255, 255, .88) }
.cmshtml .mylayout02 img { max-width: 100% }
.cmshtml .mylayout03 {  }
.cmshtml .mylayout03 > div:nth-of-type(1) {  }
.cmshtml .mylayout03 > div:nth-of-type(2) { margin-top: 24px }
.cmshtml .mylayout03 img { max-width: 100% }
.cmshtml .mylayout03table { margin-top: 24px; border-top: 1px solid #666; border-right: 1px solid #666; border-left: 1px solid #666 }
.cmshtml .mylayout03tableinner { display: flex; border-bottom: 1px solid #666; text-align: center }
.cmshtml .mylayout03tableinner > div:not(:last-of-type) { width: 33.333% !important; padding: 8px; border-right: 1px dashed #666 }
.cmshtml .mylayout03tableinner > div:last-of-type { width: 33.334% !important; padding: 8px }
.cmshtml .mylayout03tableheader { background-color: #eee }
.cmshtml .mylayout03box { position: relative; margin: 35px 0 24px; background-color: #fff; border: 1px solid #999; box-shadow: 2px 2px 2px #eee; padding: 24px }
.cmshtml .mylayout03box::before { display: block; position: absolute; content: ''; top: -15px; right: 10px; width: 12px; height: 48px; border: 3px solid #555; border-radius: 12px; box-shadow: 1px 1px 2px #999; transform: rotate(10deg); z-index: 1 }
.cmshtml .mylayout03box::after { display: block; position: absolute; content: ''; top: 0; right: 20px; width: 10px; height: 10px; background-color: #fff; z-index: 2 }
.cmshtml .mylayout04 { padding: 16px; background-color: #ffface; border-radius: 10px }
.cmshtml .mylayout05header { display: flex; border: 2px solid #666; text-align: center; font-weight: 700 }
.cmshtml .mylayout05header > div:nth-of-type(1) { width: 22%; padding: 4px; background-color: #eee }
.cmshtml .mylayout05header > div:not(:nth-of-type(1)) { width: 26%; padding: 4px; border-left: 1px dashed #666; font-size: 10px }
.cmshtml .mylayout05header > div:nth-of-type(2) { background-color: #fff9c4 }
.cmshtml .mylayout05header > div:nth-of-type(3) { background-color: #eee }
.cmshtml .mylayout05header > div:nth-of-type(4) { background-color: #ddf8ff }
.cmshtml .mylayout05 { border-right: 2px solid #666; border-bottom: 2px solid #666; border-left: 2px solid #666; background-color: #fff }
.cmshtml .mylayout0501 { display: flex; text-align: center; border-bottom: 1px solid #666 }
.cmshtml .mylayout0501 > div:nth-of-type(1) { width: 22%; padding: 4px }
.cmshtml .mylayout0501 > div:not(:nth-of-type(1)) { width: 26%; padding: 4px; border-left: 1px dashed #666; display: flex; justify-content : center; align-items: center; font-size: 13px }
.cmshtml .mylayout0501 > div:nth-of-type(2) { background: url(../img/contents/back01.png) center center / auto 80% no-repeat }
.cmshtml .mylayout0501 > div:nth-of-type(3) { background: url(../img/contents/back02.png) center center / auto 80% no-repeat }
.cmshtml .mylayout0501 > div:nth-of-type(4) { background: url(../img/contents/back03.png) center center / auto 80% no-repeat }
.cmshtml .mylayout0501 strong { font-size: 17px }
.cmshtml .mylayout0502 { display: flex }
.cmshtml .mylayout0502 > div:nth-of-type(1) { width: 22%; padding: 4px; font-weight: 700; font-size: 14px; text-align: center }
.cmshtml .mylayout0502 > div:nth-of-type(2) { width: 78%; padding: 4px; border-left: 1px dashed #666; font-size: 14px }
.cmshtml .mylayout05 img { max-width: 100% }
.cmshtml .mylayout06 { position: relative; padding: 20px 0; border: 5px solid #ccc; margin-left: 16px; background-color: #fff }
.cmshtml .mysection06ribon { margin-left: -25px; position: relative }
.cmshtml .mysection06ribon > div { display: inline-block; padding: 5px 20px; font-size: 20px; background-color: #fff6a8 }
.cmshtml .mysection06ribon i { font-style: normal; font-weight: 700; font-size: 14px }
.cmshtml .mysection06ribon strong { font-size: 26px }
.cmshtml .mysection06ribon::after { display: block; position: absolute; content: ''; bottom: -15px; left: 0; border-bottom: 15px solid transparent; border-right: 20px solid #c7bd4f }
.cmshtml .mylayout06inner { padding: 20px 16px 16px 16px; }
.cmshtml .mylayout06inner > div:nth-of-type(1) { text-align: center }
.cmshtml .mylayout06inner > div:nth-of-type(2) { margin-top: 24px }
.cmshtml .mylayout06inner img { width: 100%; max-width: 600px }
.cmshtml .mylayout07 {  }
.cmshtml .mylayout07 > div:nth-of-type(2) { margin-top: 32px }
.cmshtml .mylayout07inner { padding:  20px 20px 30px; background-color: #f7f2e9; border-radius: 10px; border: 10px solid #a78d72; margin-bottom: 16px }
.cmshtml .mylayout07inner > div { font-weight: 700; padding: 15px 0 15px 22px; font-size: 18px; background: url(../img/contents/back04.png) left center no-repeat; min-height: 24px; border-bottom: 1px dashed #a78d72 }
.cmshtml .mylayout07btn { margin-top: 8px; text-align: center }
.cmshtml .mylayout08 { padding: 24px 10px 10px; border: 5px solid #ff969e; text-align: center; background-color: #fff }
.cmshtml .mylayout08 > div:nth-of-type(1) {  }
.cmshtml .mylayout08 > div:nth-of-type(1) strong { font-size: 26px }
.cmshtml .mylayout08 > div:nth-of-type(2)  { height: 58px; background: url(../img/contents/back07.png) center center no-repeat }
.cmshtml .mylayout08 > div:nth-of-type(3) { background: url(../img/contents/back08.png) center bottom no-repeat; padding-bottom: 24px }
.cmshtml .mylayout08 > div:nth-of-type(3) i { font-style: normal; font-size: 18px }
.cmshtml .mylayout08 > div:nth-of-type(3) strong { font-size: 30px; color: #e40003 }
.cmshtml .mylayout08 > div:nth-of-type(4) { background-color: #ffe1b3; padding: 10px }
.cmshtml .mylayout08 > div:nth-of-type(4) strong:nth-of-type(1) { font-size: 20px }
.cmshtml .mylayout08 > div:nth-of-type(4) strong:nth-of-type(2) { font-size: 30px; color: #e40003 }
.cmshtml .mylayout08 > div:nth-of-type(4) i { font-style: normal; font-size: 26px; color: #ed5239; font-weight: 700 }
.cmshtml .mylayout09 {  }
.cmshtml .mylayout09 > :is(div:nth-of-type(1), div:nth-of-type(3)) { text-align: center }
.cmshtml .mylayout09 > div:nth-of-type(2) { height: 96px; background: url(../img/contents/image09.png) center center no-repeat; }
.cmshtml .mylayout09text { margin-top: 8px; text-align: center; font-family: 'Noto Sans JP', sans-serif; font-weight: 500; font-size: 20px }
.cmshtml .mylayout09 img { max-width: 100% }
.cmshtml .mylayout10 { display: flex; flex-wrap: wrap; gap: 10px; background-color: #feeeee; padding: 16px }
.cmshtml .mylayout10 a { display: block; font-size: 14px; text-decoration: none; color: rgb(var(--basecolor)); background: url(../img/common/back07.png) 8px center no-repeat #fff; min-height: 28px; padding: 10px 10px 10px 46px; transition: .4s}
.cmshtml .mylayout10 a:hover { color: #fff; background: url(../img/common/back08.png) 8px center no-repeat rgb(var(--basecolor)) }
.cmshtml .mylayout11 { display: flex; flex-wrap: wrap; gap: 10px 16px }
.cmshtml .mylayout11 > div { position: relative; display: flex; align-items: center; column-gap: 10px; font-size: 18px; font-weight: 700; color: #e70012; border: 1px solid #e70012; border-radius: 10px; padding: 30px 10px 30px 16px; transition: .3s; background-color: #fff }
.cmshtml .mylayout11 > div > div:nth-of-type(1) { width: 30px !important }
.cmshtml .mylayout11 > div:hover { opacity: .64 }
}

@media (max-width: 440px) {
.cmshtml .mylayout10 > div { width: 100% !important }
.cmshtml .mylayout11 > div { width: 100% !important }
}
@media (min-width: 441px) and (max-width: 1079px) {
.cmshtml .mylayout10 > div { width: calc(50% - 5px) !important }
.cmshtml .mylayout11 > div { width: calc(50% - 8px) !important }
}

@media (min-width: 1080px) {
.cmsbody { letter-spacing: 1px }
.cmshtml :is(h1, .smallonly) { display: none }
.cmshtml #wrapper { position: relative; max-width: 1920px; margin: 0 auto }
.cmshtml #containerheader { height: 100px; border-top: 8px solid #e70012; padding: 0 24px }
.cmshtml #header { max-width: 1260px; margin: 0 auto; display: flex; align-items: flex-start; letter-spacing: 0; line-height: 1 }
.cmshtml #headerlogo { width: clamp(152px, calc(13.69vw + 4.14px), 267px); position: relative; z-index: 2 }
.cmshtml #headerlogo img { max-width: 100% }
.cmshtml #globalnav { display: flex; margin: 30px 0 0 clamp(24px, calc(1.31vw + 9.86px), 35px) }
.cmshtml #globalnav > div:not(:first-of-type) { margin-left: clamp(10px, calc(1.316vw + -4.21px), 13px); padding-left: clamp(10px, calc(1.316vw + -4.21px), 13px); border-left: 2px solid #000 }
.cmshtml #globalnav a { text-decoration: none; font-size: clamp(18px, calc(0.877vw + 8.53px), 20px); color: rgb(var(--basecolor)); font-weight: 700; transition: .3s }
.cmshtml #globalnav a:hover { color: #000 }
.cmshtml #containermainvisual { position: relative; display: flex; justify-content: flex-end }
.cmshtml #mainvisualouter { position: relative; width: clamp(1016px, calc(64.762vw + 316.57px), 1560px) }
.cmshtml #mainvisual { border-radius: 40px 0 0 40px; overflow: hidden }
.cmshtml #mainvisual img { max-width: 100% }
.cmshtml #mainvisualtext { position: absolute; top: 50.664%; left: 9.423%; width: 32.179% }
.cmshtml #mainvisualtext img { max-width: 100% }
.cmshtml #mainvisualticker { position: absolute; right: 24px; bottom: clamp(56px, calc(5.238vw + -0.57px), 100px); left: clamp(-63px, calc(-2.738vw + -10.43px), -40px) }
.cmshtml #mainvisualtickerinner { max-width: 1260px; background-color: #fff; border-radius: 10px; display: flex; overflow: hidden }
.cmshtml #mainvisualtickertitle { width: clamp(160px, calc(9.643vw + 55.86px), 241px); background-color: #ec3635; color: #fff; font-family: 'Noto Serif JP', serif; font-size: clamp(22px, calc(0.714vw + 14.29px), 28px); font-weight: 400; font-style: italic; height: clamp(104px, calc(7.381vw + 24.29px), 166px); display: flex; justify-content: center; align-items: center }
.cmshtml #mainvisualtickertitlebtn { display: flex; justify-content: center; align-items: center }
.cmshtml #mainvisualtickertitlebtn a { display: inline-block; text-decoration: none; font-family: 'Noto Serif JP', serif; font-size: clamp(18px, calc(0.476vw + 12.86px), 22px); font-weight: 500; font-style: italic; color: #000; background: url(../img/common/back02.png) right bottom / 79px 4px no-repeat; padding-bottom: 8px; transition: .3s }
.cmshtml #mainvisualtickertitlebtn a:hover { opacity: .56 }
.cmshtml .mynewarticles { width: calc(100% - clamp(264px, calc(17.024vw + 80.14px), 407px) - 48px); display: flex; justify-content: center; align-items: center; padding: 24px }
.cmshtml #containerpagetitle { background-color: #efefef; margin-bottom: 40px }
.cmshtml #pagetitleouter { position: relative; max-width: 1600px; margin: 0 auto }
.cmshtml #pagetitleimg img { max-width: 100% }
.cmshtml #pagetitleinner { position: absolute; top: 0; right: 0; bottom: 0; left: 0; display: flex; justify-content: flex-end; align-items: center }
.cmshtml #pagetitle { padding: 12px 102px clamp(12px, calc(0.952vw + 1.71px), 20px) 103px; text-align: center; border-radius: 80px 0 0 80px; background-color: #fff }
.cmshtml #pagetitle dt { font-size: 34px; font-weight: 700 !important }
.cmshtml #pagetitle dd { font-size: 13px; font-weight: 400 !important; color: #e60113; margin-top: 1px; letter-spacing: 2px }
.cmshtml .mysection01 { max-width: 1308px; margin: 0 auto; padding: 0 24px }
.cmshtml .mysection01box { text-align: center; border: 3px solid rgb(var(--basecolor)); margin-top: 60px; padding: 48px; background-color: #fff }
.cmshtml .mysection01box img { max-width: 100% }
.cmshtml .containermysection02 { margin-top: -16px; padding: 0 24px }
.cmshtml .mysection02nmovie { text-align: right }
.cmshtml .mysection02nmovie img { width: clamp(240px, calc(7.143vw + 162.86px), 300px) }
.cmshtml .mysection02 { max-width: 1260px; margin: clamp(-240px, calc(-13.333vw + 16px), -128px) auto 0; text-align: center }
.cmshtml .mysection02title h2 { display: inline-block; font-family: 'Noto Serif JP', serif; font-size: clamp(44px, calc(1.429vw + 28.57px), 56px); font-weight: 600; letter-spacing: clamp(1px, calc(0.238vw + -1.57px), 3px); background: url(../img/common/back03.png) left center / 30px 6px no-repeat, url(../img/common/back03.png) right center / 30px 6px no-repeat; padding: 0 56px }
.cmshtml .mysection02text { margin-top: clamp(32px, calc(3.81vw + -9.14px), 64px); font-size: clamp(20px, calc(0.476vw + 14.86px), 24px); letter-spacing: clamp(1px, calc(0.238vw + -1.57px), 3px); line-height: 1.8 }
.cmshtml .mysection02banners { max-width: 1546px; margin: 50px auto 0; display: flex; justify-content: space-between }
.cmshtml .mysection02banners > div { width: 30% }
.cmshtml .mysection02banners img { max-width: 100% }
.cmshtml .mysection02btn { margin-top: 100px; text-align: center }
.cmshtml .mysection02btn a { display: inline-block; text-decoration: none; color: rgb(var(--basecolor)); padding: 22px 136px; border: 2px solid #e70012; border-radius: 80px; font-family: 'Noto Serif JP', serif; font-size: 19px; font-weight: 400; font-style: italic; letter-spacing: 2px; background: url(../img/common/back04.png) 78% center / 40px 3px no-repeat; transition: .4s }
.cmshtml .mysection02btn a:hover { background-color: rgb(var(--basecolor)); color: #fff; background-image: url(../img/common/back05.png) }
.cmshtml .containermysection03 { margin-top: 135px; border-bottom: 1px solid #e70012 }
.cmshtml .mysection04 { max-width: 1050px; margin: 100px auto }
.cmshtml .mysection04 img { max-width: 100% }
.cmshtml .containermysection05 { position: relative; background: url(../img/common/back06.jpg) center center / cover no-repeat; padding: 67px 24px 43px }
.cmshtml .mysection05title { text-align: center }
.cmshtml .mysection05title h2 { font-family: 'Noto Serif JP', serif; font-weight: 500; font-size: clamp(40px, calc(0.952vw + 29.71px), 48px); letter-spacing: clamp(3px, calc(0.357vw + -0.86px), 6px) }
.cmshtml .mysection05title h3 { font-family: 'Noto Serif JP', serif; font-weight: 500; font-size: clamp(18px, calc(0.357vw + 14.14px), 21px); color: rgb(var(--basecolor)); letter-spacing: 0; font-style: italic; margin-top: 5px }
.cmshtml .mysection05 { max-width: 1260px; margin: 35px auto 0; display: flex; align-items: flex-start }
.cmshtml .mysection05 > div { width: 50% }
.cmshtml .mysection05btns { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 20px 26px }
.cmshtml .mysection05btns > div { width: calc(50% - 13px) }
.cmshtml .mysection05btns a { display: block; color: rgb(var(--basecolor)); border: 1px solid #e70012; padding: 13px 8px 13px 50px; background: url(../img/common/back07.png) 10px center no-repeat #fff; transition: .3s; font-size: clamp(17px, calc(0.119vw + 15.71px), 18px); text-decoration: none }
.cmshtml .mysection05btns a:hover { background-color: rgb(var(--basecolor)); color: #fff; background-image: url(../img/common/back08.png) }
.cmshtml .mysection05 img { max-width: 100% }
.cmshtml .containermysection06 { max-width: 1308px; margin: 0 auto; padding: 100px 24px 0; display: flex; justify-content: space-between }
.cmshtml .containermysection06 > div:nth-of-type(1) { width: 46.031%; position: relative }
.cmshtml .containermysection06 > div:nth-of-type(2) { width: 51.19% }
.cmshtml .mysection06 { position: sticky; top: 100px }
.cmshtml .mysection06title { margin-top: 4px }
.cmshtml .mysection06title h2 { font-family: 'Noto Serif JP', serif; font-weight: 700; font-size: clamp(32px, calc(0.476vw + 26.86px), 36px); letter-spacing: 2px; line-height: 1.72 }
.cmshtml .mysection06title h3 { font-family: 'Noto Serif JP', serif; font-weight: 600; font-size: clamp(18px, calc(0.238vw + 15.43px), 20px); color: rgb(var(--basecolor)); letter-spacing: 0; font-style: italic; margin-top: 20px }
.cmshtml .mysection06text { font-size: clamp(20px, calc(0.357vw + 16.14px), 23px); margin-top: clamp(32px, calc(1.429vw + 16.57px), 44px) }
.cmshtml .mysection06inner { margin-bottom: clamp(40px, calc(1.19vw + 27.14px), 50px) }
.cmshtml .mysection06innertitle p { display: flex; align-items: center; column-gap: clamp(12px, calc(0.952vw + 1.71px), 20px) }
.cmshtml .mysection06innertitle i { font-family: 'Noto Serif JP', serif; color: rgb(var(--basecolor)); font-weight: 800; font-size: clamp(48px, calc(2.857vw + 17.14px), 72px); font-style: normal }
.cmshtml .mysection06innertitle strong { font-family: 'Noto Serif JP', serif; font-weight: 600; font-size: clamp(26px, calc(0.476vw + 20.86px), 30px) }
.cmshtml .mysection06innerimg img { max-width: 100% }
.cmshtml .mysection06innertext { display: flex; justify-content: space-between; align-items: center; font-size: clamp(18px, calc(0.357vw + 14.14px), 21px); margin-top: 20px; column-gap: 8px }
.cmshtml .mysection06innerbtn { background: url(../img/home/btn02.png) left top / contain no-repeat; width: clamp(104px, calc(3.095vw + 70.57px), 130px); flex-shrink: 0 }
.cmshtml .mysection06innerbtn img { max-width: 100% }
.cmshtml .mysection06innerbtn a:hover img { opacity: 0 }
.cmshtml #footerfaq { margin-top: 80px; background: url(../img/common/back09.jpg) center / cover repeat-y; padding: clamp(40px, calc(2.857vw + 9.14px), 64px) 24px clamp(56px, calc(2.857vw + 25.14px), 80px); text-align: center }
.cmshtml .footerfaqtitle dl { line-height: 1.1 }
.cmshtml .footerfaqtitle dt { font-family: 'Noto Serif JP', serif; font-weight: 600 !important; font-size: 36px; letter-spacing: 4px; line-height: 1.72 }
.cmshtml .footerfaqtitle dd { font-family: 'Noto Serif JP', serif; font-weight: 600 !important; font-size: 22px; color: rgb(var(--basecolor)); letter-spacing: 0; font-style: italic }
.cmshtml .footerfaqtext { font-family: 'Noto Serif JP', serif; font-weight: 600; font-size: clamp(18px, calc(0.238vw + 15.43px), 20px); margin-top: clamp(40px, calc(4.048vw + -3.71px), 74px); line-height: 1.72; letter-spacing: clamp(1px, calc(0.119vw + -0.29px), 2px) }
.cmshtml .footerfaqbtn { margin-top: 34px }
.cmshtml .footerfaqbtn a { display: inline-block; color: #000; text-decoration: none; font-family: 'Noto Serif JP', serif; font-weight: 500; font-size: 19px; font-style: italic; padding-bottom: 14px; background: url(../img/common/back02.png) center bottom / 56px 4px no-repeat; letter-spacing: 2px; transition: .3s }
.cmshtml .footerfaqbtn a:hover { color: rgb(var(--basecolor)) }
.cmshtml #containerfooter { background-color: #dcdcdc; padding: 40px 24px }
.cmshtml #footernav { display: flex; justify-content: center }
.cmshtml #footernav a { color: #000; transition: .3s }
.cmshtml #footernav a:hover { text-decoration: none; opacity: .64 }
.cmshtml #footernav .fm2 { background-image: url(../img/common/ico_fm2.png) !important }
.cmshtml #footernav .gnav { column-gap: clamp(32px, calc(3.81vw + -9.14px), 64px) }
.cmshtml .footercopy { text-align: center; padding: 14px; font-size: 15px }
.cmshtml #sidefixedbtn { position: fixed; right: 0; bottom: 150px; width: 260px; background-color: #2fabde; border-radius: 15px 0 0 15px; box-shadow: 0 0 5px #333; text-align: center; transition: .3s; z-index: 9997 }
.cmshtml .sidefixedbtnarea { padding: 15px 20px 25px }
.cmshtml #sidefixedbtn:hover { opacity: .8 }
.cmshtml .sidefixedbtntitle { font-size: 22px; font-weight: 700; color: #fff; padding: 10px 0 }
.cmshtml .sidefixedbtntitle::before { font-family: 'Font Awesome 6 Free'; content: '\f073\00a0'; font-weight: bold; text-align: center }
.cmshtml .sidefixedbtntitle :is(div, p) { display: inline }
.cmshtml .sidefixedbtnlink strong { display: block; color: #2fabde; background-color: #fff; border-radius: 80px; padding: 5px; font-size: 19px; font-weight: 700 }
.cmshtml .sidefixedbtnlink strong::after { font-family: 'Font Awesome 6 Free'; content: '\00a0\f105'; font-weight: bold }
.cmshtml #sidefixedbtn a { display: block; position: absolute; top: 0; right: 0; bottom: 0; left: 0; transition: .3s }
.cmshtml #containerbackgroundimg { position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: -1 }
.cmshtml #backgroundimg { max-width: 1920px; margin: 0 auto; height: 100vh; background: url(../img/common/back01.jpg) center / cover no-repeat }
.cmshtml #backgroundimgcontents { max-width: 1920px; margin: 0 auto; height: 100vh; background: url(../img/common/back11.jpg) center / cover no-repeat }
.cmshtml .largetac { text-align: center }
.cmshtml #pt { position: fixed; bottom: 16px; right: 16px; display: none; opacity: 0; transition: opacity 0.5s ease; z-index: 9997 }
.cmshtml .mylayout01 { display: flex; justify-content: space-between; align-items: center }
.cmshtml .mylayout01 > div:nth-of-type(1) { width: 42.858%; position: relative; z-index: 1 }
.cmshtml .mylayout01 > div:nth-of-type(2) { width: 57.142%; position: relative; z-index: 0 }
.cmshtml .mylayout01inner { width: 630px; padding: 24px 32px 24px 0; background-color: rgba(255, 255, 255, .88) }
.cmshtml .mylayout01 img { max-width: 100% }
.cmshtml .mylayout02 { display: flex; justify-content: space-between; align-items: center }
.cmshtml .mylayout02 > div:nth-of-type(1) { width: 57.142%; position: relative; z-index: 0 }
.cmshtml .mylayout02 > div:nth-of-type(2) { width: 42.858%; position: relative; z-index: 1 }
.cmshtml .mylayout02inner { width: 630px; padding: 24px 0 24px 32px; background-color: rgba(255, 255, 255, .88); float: right }
.cmshtml .mylayout02 img { max-width: 100% }
.cmshtml .mylayout03 { display: flex; justify-content: space-between }
.cmshtml .mylayout03 > div:nth-of-type(1) { width: 38.761% }
.cmshtml .mylayout03 > div:nth-of-type(2) { width: 58.285% }
.cmshtml .mylayout03 img { max-width: 100% }
.cmshtml .mylayout03table { margin-top: 24px; border-top: 1px solid #666; border-right: 1px solid #666; border-left: 1px solid #666 }
.cmshtml .mylayout03tableinner { display: flex; border-bottom: 1px solid #666; text-align: center }
.cmshtml .mylayout03tableinner > div:not(:last-of-type) { width: 33.333%; padding: 15px; border-right: 1px dashed #666 }
.cmshtml .mylayout03tableinner > div:last-of-type { width: 33.334%; padding: 15px }
.cmshtml .mylayout03tableheader { background-color: #eee }
.cmshtml .mylayout03box { position: relative; margin: 35px 0 32px; background-color: #fff; border: 1px solid #999; box-shadow: 2px 2px 2px #eee; padding: 24px }
.cmshtml .mylayout03box::before { display: block; position: absolute; content: ''; top: -15px; right: 10px; width: 12px; height: 48px; border: 3px solid #555; border-radius: 12px; box-shadow: 1px 1px 2px #999; transform: rotate(10deg); z-index: 1 }
.cmshtml .mylayout03box::after { display: block; position: absolute; content: ''; top: 0; right: 20px; width: 10px; height: 10px; background-color: #fff; z-index: 2 }
.cmshtml .mylayout04 { padding: 24px; background-color: #ffface; border-radius: 10px }
.cmshtml .mylayout05header { display: flex; border: 2px solid #666; text-align: center; font-weight: 700 }
.cmshtml .mylayout05header > div:nth-of-type(1) { width: 22%; padding: 15px 8px; background-color: #eee }
.cmshtml .mylayout05header > div:not(:nth-of-type(1)) { width: 26%; padding: 15px 8px; border-left: 1px dashed #666 }
.cmshtml .mylayout05header > div:nth-of-type(2) { background-color: #fff9c4 }
.cmshtml .mylayout05header > div:nth-of-type(3) { background-color: #eee }
.cmshtml .mylayout05header > div:nth-of-type(4) { background-color: #ddf8ff }
.cmshtml .mylayout05 { border-right: 2px solid #666; border-bottom: 2px solid #666; border-left: 2px solid #666; background-color: #fff }
.cmshtml .mylayout0501 { display: flex; text-align: center; border-bottom: 1px solid #666 }
.cmshtml .mylayout0501 > div:nth-of-type(1) { width: 22%; padding: 15px 8px }
.cmshtml .mylayout0501 > div:not(:nth-of-type(1)) { width: 26%; padding: 15px 8px; border-left: 1px dashed #666; display: flex; justify-content : center; align-items: center }
.cmshtml .mylayout0501 > div:nth-of-type(2) { background: url(../img/contents/back01.png) center center no-repeat }
.cmshtml .mylayout0501 > div:nth-of-type(3) { background: url(../img/contents/back02.png) center center no-repeat }
.cmshtml .mylayout0501 > div:nth-of-type(4) { background: url(../img/contents/back03.png) center center no-repeat }
.cmshtml .mylayout0501 strong { font-size: 26px }
.cmshtml .mylayout0502 { display: flex }
.cmshtml .mylayout0502 > div:nth-of-type(1) { width: 22%; padding: 15px 8px; font-weight: 700; font-size: 18px; text-align: center }
.cmshtml .mylayout0502 > div:nth-of-type(2) { width: 78%; padding: 15px; border-left: 1px dashed #666 }
.cmshtml .mylayout05 img { max-width: 100% }
.cmshtml .mylayout06 { position: relative; padding: 20px 0; border: 5px solid #ccc; background-color: #fff }
.cmshtml .mysection06ribon { margin-left: -25px; position: relative }
.cmshtml .mysection06ribon > div { display: inline-block; padding: 5px 20px; font-size: 25px; background-color: #fff6a8 }
.cmshtml .mysection06ribon i { font-style: normal; font-weight: 700; font-size: 14px }
.cmshtml .mysection06ribon strong { font-size: 30px }
.cmshtml .mysection06ribon::after { display: block; position: absolute; content: ''; bottom: -15px; left: 0; border-bottom: 15px solid transparent; border-right: 20px solid #c7bd4f }
.cmshtml .mylayout06inner { padding: 20px 20px 20px 56px; display: flex; justify-content: space-between; column-gap: 40px }
.cmshtml .mylayout06inner > div:nth-of-type(1) { width: 200px; order: 2 }
.cmshtml .mylayout06inner > div:nth-of-type(2) { width: calc(100% - 240px); order: 1 }
.cmshtml .mylayout06inner img { max-width: 100% }
.cmshtml .mylayout07 { display: flex; justify-content: space-between }
.cmshtml .mylayout07 > div { width: 48.095% }
.cmshtml .mylayout07inner { padding:  20px 20px 30px; background-color: #f7f2e9; border-radius: 10px; border: 10px solid #a78d72; margin-bottom: 16px }
.cmshtml .mylayout07inner > div { font-weight: 700; padding: 15px 0 15px 22px; font-size: 18px; background: url(../img/contents/back04.png) left center no-repeat; min-height: 24px; border-bottom: 1px dashed #a78d72 }
.cmshtml .mylayout07btn { margin-top: 8px; text-align: center }
.cmshtml .mylayout08 { display: flex; justify-content: space-between; align-items: center; padding: 10px; border: 5px solid #ff969e; text-align: center; background-color: #fff }
.cmshtml .mylayout08 > div:nth-of-type(1) { width: 30% }
.cmshtml .mylayout08 > div:nth-of-type(1) strong { font-size: 26px }
.cmshtml .mylayout08 > div:nth-of-type(2)  { width: 10%; height: 58px; background: url(../img/contents/back05.png) center center no-repeat; }
.cmshtml .mylayout08 > div:nth-of-type(3) { width: 30%; background: url(../img/contents/back06.png) right center no-repeat; }
.cmshtml .mylayout08 > div:nth-of-type(3) i { font-style: normal; font-size: 18px }
.cmshtml .mylayout08 > div:nth-of-type(3) strong { font-size: 30px; color: #e40003 }
.cmshtml .mylayout08 > div:nth-of-type(4) { width: 30%; background-color: #ffe1b3; padding: 10px }
.cmshtml .mylayout08 > div:nth-of-type(4) strong:nth-of-type(1) { font-size: 20px }
.cmshtml .mylayout08 > div:nth-of-type(4) strong:nth-of-type(2) { font-size: 30px; color: #e40003 }
.cmshtml .mylayout08 > div:nth-of-type(4) i { font-style: normal; font-size: 26px; color: #ed5239; font-weight: 700 }
.cmshtml .mylayout09 { display: flex; justify-content: space-between }
.cmshtml .mylayout09 > :is(div:nth-of-type(1), div:nth-of-type(3)) { width: 40% }
.cmshtml .mylayout09 > div:nth-of-type(2) { width: 20%; background: url(../img/contents/image08.png) center center no-repeat; }
.cmshtml .mylayout09text { margin-top: 8px; text-align: center; font-family: 'Noto Sans JP', sans-serif; font-weight: 500; font-size: 22px }
.cmshtml .mylayout09 img { max-width: 100% }
.cmshtml .mylayout10 { display: flex; flex-wrap: wrap; gap: 10px 14px; background-color: #feeeee; padding: 20px }
.cmshtml .mylayout10 > div { width: calc(25% - 10.5px) }
.cmshtml .mylayout10 a { display: block; font-size: 14px; text-decoration: none; color: rgb(var(--basecolor)); background: url(../img/common/back07.png) 8px center no-repeat #fff; min-height: 28px; padding: 10px 10px 10px 46px; transition: .4s}
.cmshtml .mylayout10 a:hover { color: #fff; background: url(../img/common/back08.png) 8px center no-repeat rgb(var(--basecolor)) }
.cmshtml .mylayout11 { display: flex; flex-wrap: wrap; gap: 10px 51px }
.cmshtml .mylayout11 > div { width: calc(33.3333% - 34px); position: relative; display: flex; align-items: center; column-gap: 10px; font-size: 18px; font-weight: 700; color: #e70012; border: 1px solid #e70012; border-radius: 10px; padding: 30px 10px 30px 16px; transition: .3s; background-color: #fff }
.cmshtml .mylayout11 > div:hover { opacity: .64 }
}

.cmshtml .myfaq { display: grid; grid-template-columns: 1fr; grid-template-rows: auto 0fr; transition: .4s; border: 5px 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 .myfaqq::before, .cmshtml .myfaqa::before { position: absolute; font-size: clamp(21px, calc(0.426vw + 19.4px), 24px); font-family: 'Font Awesome 6 Free' }
.cmshtml .myfaqq::before { top: 0; left: 0; content: '\51.'; color: #777 }
.cmshtml .myfaqqinner { font-size: clamp(17px, calc(0.426vw + 15.4px), 20px); font-weight: 700; padding: 3px 32px 0 }
.cmshtml .myfaqa { margin-top: 8px; position: relative; overflow-y: hidden; opacity: 0; transition: 2s; padding: 6px 0 0 32px }
.cmshtml .myfaqa::before { top: 1px; left: 2px; content: '\41.'; color: rgb(var(--basecolor)) }
.cmshtml .myfaqainner {  }
.cmshtml .myfaq.myfaqopen .myfaqa { opacity: 1 }
.cmshtml .myfaqq span { display: inline-block; position: absolute; top: 4px; right: 0; font-family: 'Font Awesome 6 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; transition: .4s; border: 5px solid #eee; padding: 16px clamp(16px, calc(1.135vw + 11.74px), 24px) }
.cmshtml .myfaqqopened { position: relative }
.cmshtml .myfaqqopened::before, .cmshtml .myfaqaopened::before { position: absolute; font-size: clamp(21px, calc(0.426vw + 19.4px), 24px); font-family: 'Font Awesome 6 Free' }
.cmshtml .myfaqqopened::before { top: 0; left: 0; content: '\51.'; color: #777 }
.cmshtml .myfaqqinneropened { font-size: clamp(17px, calc(0.426vw + 15.4px), 20px); font-weight: 700; padding: 3px 32px 0 }
.cmshtml .myfaqaopened { margin-top: 8px; padding: 6px 0 0 32px; position: relative }
.cmshtml .myfaqaopened::before { top: 1px; left: 2px; content: '\41.'; color: rgb(var(--basecolor)) }

/* パンくずリスト */
.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 }

/* 共通装飾 */
/* 見出し */

.cmshtml .rdplanetitle h2 { font-family: 'Noto Serif JP', serif; font-size: clamp(20px, calc(0.284vw + 18.94px), 22px) !important; font-weight: 600 !important; padding: clamp(8px, calc(0.567vw + 5.87px), 12px) clamp(16px, calc(1.135vw + 11.74px), 24px) clamp(8px, calc(0.567vw + 5.87px), 12px) clamp(16px, calc(1.277vw + 11.21px), 25px); background: repeating-linear-gradient(-45deg, #fff, #fff 4px,#f2f2f2 4px, #f2f2f2 8px); border-left: 5px solid rgb(var(--basecolor)) }
.cmshtml .rdplanetitle h3 { font-family: 'Noto Serif JP', serif; font-size: clamp(18px, calc(0.284vw + 16.94px), 20px) !important; font-weight: 600 !important; border-bottom: 1px solid rgb(var(--basecolor)); padding: 0 16px clamp(3px, calc(0.284vw + 1.94px), 5px) clamp(28px, calc(0.284vw + 26.94px), 30px); background: url(../img/common/back13.png) left 7px no-repeat; }
.cmshtml .rdplanetitle h4 { font-size: clamp(18px, calc(0.567vw + 15.87px), 22px) !important; font-weight: 700 !important }
.cmshtml .rdplanetitle h4::after { display: block; content: ''; width: 24px; height: 1px; background-color: #666; margin-top: 3px }
.cmshtml .rdplanetitle h5 { width: 50%; font-size: 16px !important; font-weight: 700 !important; color: #fff; padding: 6px 10px; background-color: rgb(var(--basecolor)) }
.cmshtml .rdplanetitle h6 { font-size: clamp(16px, calc(0.284vw + 14.94px), 18px) !important; font-weight: 600 !important; background-color: #eee; padding: 5px 8px 3px; border-radius: 4px }
@media (max-width: 1079px) {
.cmshtml .mytitle02 dl { flex-direction: column; align-items: flex-start}
}

.cmshtml .mytitle01::before { display: block; content: ''; background: url(../img/common/back12.png) center top / cover no-repeat; height: clamp(40px, calc(4.255vw + 24.04px), 70px); position: relative; z-index: 2  }
.cmshtml #wrapper .mytitle01text h2 { text-align: center; font-family: 'Noto Serif JP', serif; font-weight: 600; font-size: clamp(20px, calc(1.418vw + 14.68px), 30px) !important; letter-spacing: 1px; background: #feeeee !important; border-radius: 10px; padding: clamp(8px, calc(0.567vw + 5.87px), 12px) clamp(16px, calc(1.135vw + 11.74px), 24px) !important; margin-top: clamp(-16px, calc(-1.135vw + -3.74px), -8px); position: relative; z-index: 1; border-left: none !important }
.cmshtml .mytitle02 dl { display: flex; justify-content: space-between; align-items: center; font-family: 'Noto Serif JP', serif; border-bottom: 3px solid rgb(var(--basecolor)); padding-bottom: 8px  }
.cmshtml .mytitle02 dt, #editView .mytitle02 > div > div > div > div:nth-of-type(1) { font-size: clamp(19px, calc(0.426vw + 17.4px), 22px); font-weight: 600 !important }
.cmshtml .mytitle02 dd, #editView .mytitle02 > div > div > div > div:nth-of-type(2) { font-size: 15px; font-weight: 500 !important }


/* 単体エリア・横並びエリア */
@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) a { text-decoration: none; transition: .3s; position: relative }
.cmshtml .link01 a { display: inline-block; padding: 12px 48px 12px 32px }
.cmshtml .link02 a { display: block; text-align: center; padding: 12px 32px }
.cmshtml :is(.link01, .link02) a { background-color: #fff; border: 1px solid rgb(var(--basecolor)); font-weight: 500; color: rgb(var(--basecolor)) }
.cmshtml :is(.link01, .link02) a:hover { background-color: rgb(var(--basecolor)); color: #fff }
.cmshtml :is(.link01, .link02) a::after { display: block; position: absolute; top: 15px; right: 10px; font-family: 'Font Awesome 6 Free'; content: '\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 }

/* U01編集画面用 */
#editView .cmsbody { margin: 0; background-color: #fff; color: rgb(var(--textcolor)); font-size: 16px; font-family: 'Meiryo', sans-serif }
#editView :is(#globalnav, #footernav, #gloval-nav, #pagetitle) edit { padding: 8px }
#editView #pt { position: static; display: block; opacity: 1 }
#editView h5 edit { display: inline-block !important }
#editView #containerbackgroundimg { display: none }
#editView .pointer { display: none }
#editView #gloval-nav { position: static; visibility: visible; opacity: 1 }
#editView #mainvisual { overflow: visible }
#editView #mainvisualtext { position: static !important }
#editView #mainvisualticker { position: static }
#editView #wrapper #sidefixedbtn { position: static !important }
#editView #pagetitleinner { position: static; justify-content: flex-start }
#editView #containerheader { height: auto }
#editView .myfaq { grid-template-rows: auto 1fr }
#editView #wrapper .myfaqa { opacity: 1; padding: 6px 0 0 32px !important }
#editView #wrapper .myfaqaopened { padding: 6px 0 0 32px !important }
#editView .myfaqq span { display: none }
#editView #wrapper .mysection01box { border: 3px solid rgb(var(--basecolor)) !important; padding: 48px !important }
#editView #wrapper .mylayout11 edit { padding: 8px }

#editView .modal { display: block; position: static; opacity: 1 }
#editView .tojiru { position: static }