/** ************************

added 20250826

************************ **/

/** font color **/
#Contents section.overview > .overview-title > .main-text{
font-size: 38px;
font-weight: 700;
color: #FA000F;
}
#Contents section.overview > .description{
font-size: 24px;
font-weight: 500;
color: #4D4D4D;
}
#Contents section.overview > .videoclip > .heading{
color: #4D4D4D;
}
#Contents .article-title{
color: #222222;
}
#Contents .function-index_title{
color: #4D4D4D;
}
.function-head .lead,
.function-head .title{
color: #4D4D4D;
}
section.registration-links > .heading{
color: #4D4D4D;
}
#Contents,
#Contents *{
font-family: Noto Sans JP, sans-serif;
}
#Contents section.overview > .videoclip{
margin-top: 70px;
}

#Contents sup{
font-size: 60%;
}

@media screen and (max-width: 767px) {
#Contents section.overview > .overview-title > .main-text{
font-size: 21px;
}
#Contents section.overview > .description{
font-size: 14px;
}
}

/*base color*/
#Contents .u-button-link,
#Contents .u-tablist > .u-tablist_tab.is-current{
background-color: #CC0000;
}
#Contents .article-title{
background-image: linear-gradient(90deg, #CC0000 18.8%, #D9D9D9 18.8%);
}
#Contents .u-tablist{
border-bottom-color: #CC0000;
}


/** ************************
common
************************ **/

/* kv */
#Contents .kv, #Contents .jumbotron{
background-size: cover;
}
#Contents .kv .jumbotron_title,
#Contents .jumbotron .jumbotron_title {
text-shadow: none;
/*font-size: 38px;*/
font-size: clamp(26px, calc(16px + (38 - 26) * ((100vw - 768px) / (1050 - 768))), 38px);;
line-height: 1.2em;
color: #0C0C0C;
padding: 20px 40px;
background-color: rgba(255,255,255,.75);
margin-bottom: 1em;
}

@media screen and (max-width: 767px) {
#Contents .kv .jumbotron_title,
#Contents .jumbotron .jumbotron_title{
position: absolute;
left: 0;
top: 28%;
font-size: 24px;
padding: 10px 24px 10px 12px;
}
#Contents .kv, #Contents .jumbotron {
aspect-ratio: 16 / 9;
background-image: url(../img/kv_sp.png);
background-size: 100% auto;
height: 85.533vw;
position: relative;
}
#Contents .kv::before, #Contents .jumbotron::before{
content: "";
display: block;
background-image: url(../img/kv_sp2.png);
background-position: center top;
background-size: 100% auto;
background-repeat: no-repeat;
height: 85.533vw;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 85.533vw;
}
.login-link{
position: relative;
z-index: 9999;
}
}
@media screen and (max-device-width: 767px) {
#Contents .kv .jumbotron_title,
#Contents .jumbotron .jumbotron_title{
font-size: 16px;
padding: 10px 24px 10px 12px;
position: relative;
top: auto;
}
}

#Contents section.overview > .overview-title .sub-text,
#Contents section.overview > .overview-title.-look > .sub-text,
#Contents section.overview > .overview-title.-workable > .sub-text,
#Contents section.overview > .overview-title.-connect > .sub-text{
font-size: 26px;
font-weight: 400;
color: #4D4D4D;
}
#Contents section.overview > .overview-title .sub-text {
max-width: 960px;
}
#Contents section.overview > .overview-title .sub-text span{
font-size: 26px;
font-weight: 900;
padding-left: 20px;
padding-right: 20px;
}
#Contents section.overview > .overview-title .sub-text {
margin-bottom: 12px;
}
#Contents section.overview > .overview-title.-look > .main-text,
#Contents section.overview > .overview-title.-workable > .main-text,
#Contents section.overview > .overview-title.-connect > .main-text,
#Contents section.overview > .overview-title > .main-text {
font-size: 38px;
line-height: 1.3em;
font-weight: 700;
color: #4D4D4D;
}

#Contents section.overview > .description {
font-size: 20px;
font-weight: 500;
color: #4D4D4D;
padding-top: 10px;
}

@media screen and (max-width: 767px) {
#Contents section.overview > .overview-title .sub-text,
#Contents section.overview > .overview-title.-look > .sub-text,
#Contents section.overview > .overview-title.-workable > .sub-text,
#Contents section.overview > .overview-title.-connect > .sub-text{
font-size: 12px;
padding-bottom: 10px;
}
#Contents section.overview > .overview-title .sub-text span{
font-size: 12px;
padding: 0 6px;
}
#Contents section.overview {
padding: 9.333vw 0 4.267vw;
}
#Contents section.overview > .overview-title.-look > .main-text,
#Contents section.overview > .overview-title.-workable > .main-text,
#Contents section.overview > .overview-title.-connect > .main-text,
#Contents section.overview > .overview-title > .main-text {
font-size: 19px;
}
#Contents section.overview > .description {
font-size: 10px;
}
#Contents section.scene {
margin-top: 1.25rem;
}
}

/** modal list **/
.modal-menu-list{
display: flex;
flex-flow: row wrap;
align-items: stretch;
justify-content: flex-start;
padding: 0;
margin: 1.5em 0 0;
background-color: #ffffff;
gap: 1.625em 2.0% ;
}
.modal-menu-list li{
width: 23.5%;
}
.modal-menu-list li a{
width: 100%;
}
a.modal-menu-list__item{
display: flex;
flex-flow: row nowrap;
align-items: center;
/*margin-top: 1.625em;*/
background-color: #F4F4F4;
background-repeat: no-repeat;
background-position: right 0.625em center;
background-size: 16px 16px;
}
a.modal-menu-list__item:link,
a.modal-menu-list__item:visited,
a.modal-menu-list__item:active{
text-decoration: none;
}
.-look a.modal-menu-list__item {
background-image: url(../img/icon_link_window_blue.svg);
}
.-workable a.modal-menu-list__item {
background-image: url(../img/icon_link_window_green.svg);
}
.-connect a.modal-menu-list__item {
background-image: url(../img/icon_link_window_orange.svg);
}

.modal-menu-list__item .thumb{
width: 25%;
}
.modal-menu-list__item .thumb img{
width: 100%;
}
.modal-menu-list__item .label{
display: block;
width: 62%;
padding-left: 4%;
}
.modal-menu-list__item .labelText{
display: block;
text-align: left;
font-size: 20px;
font-weight: 400;
line-height: 1.33;
color: #4D4D4D;
text-decoration: none;
cursor: pointer;
}
.modal-menu-list li:hover a.modal-menu-list__item .label .labelText{
text-decoration: underline;
}
.modal-menu-list__item .label .icon-new{
display: block;
font-size: 14px;
font-weight: 700;
line-height: 1;
color: #FFFFFF;
background-color: #FA000F;
padding: 3px 8px;
border-radius: 9999px;
display: flex;
align-items: center;
width: fit-content;
margin-bottom: 0.2em;
}

@media screen and (max-width: 767px) {
.modal-menu-list__item .label .icon-new{
display: block;
font-size: 9px;
}
.modal-menu-list__item .labelText{
font-size: 11.3px;
}
}

/** modal contents **/
#glightbox-body,
body .modalContents *{
font-family: Noto Sans JP, sans-serif;
}
.modal-card{
padding: 4em 3.25em;
width: 100%;
max-width: 56.25em;
height: auto;
min-height: 26.25em;
}
.modal-card__inner{
display: flex;
flex-flow: row nowrap;
/*align-items: center;*/
align-items: flex-start;
justify-content: center;
}
.modal-card__content{
flex-grow: 1;
flex-shrink: 1;
padding-left: 2em;
margin-right: 1.875em;
width: 60%;
}
.modal-card__header{
font-size: 1.5rem;
font-weight: 700;
line-height: 1.6;
color: #4D4D4D;
vertical-align: middle;
position: relative;
}
.modal-card__header::before{
content: "";
display: block;
width: 4px;
height: 1.2em;
position: absolute;
top: 50%;
left: -15px;
transform: translateY(-50%);
}

/*↓各コンテンツcssで記述*/
.-look .modal-card__header::before{
background-color: #327DBE;
}
.-workable .modal-card__header::before{
background-color: #55A541;
}
.-connect .modal-card__header::before{
background-color: #DC6E28;
}
.modal-card__description{
margin-top: 1.5em;
font-size: 1.25em;
font-weight: 400;
line-height: 1.6;
color: #4D4D4D;
}
.modal-card__description small{
font-size: 0.65em;
line-height: 1.3em;
}
.modal-card__description small.note,
.modal-card__description small .note{
display: inline-block;
text-indent: -1em;
padding-left: 1em;
}
.modal-card__figure{
margin: 0;
padding: 0;
width: 40%;
max-height: 374px;
display: flex;
justify-content: end;
}
.modal-card__figure img{
/*max-width: 100%;
max-height: 26.875rem;*/
width: auto;
max-height: 374px;
height: 100%;
user-select: none;
pointer-events: none;
}

@media screen and (max-width: 1100px) {
.modal-menu-list__item .label{
font-size: 16px;
}
}
@media screen and (max-width: 880px) {
.modal-menu-list{
gap: 0.625em 1.8% ;
}
.modal-menu-list li {
width: calc(96.4% / 3);
}
}

@media screen and (max-width: 767px) {
.modal-menu-list{
padding: 0;
gap: 6px 1.2%;
justify-content: space-between;
}
.modal-menu-list li {
width: calc(98.2% / 2);
}
.modal-card{
padding: 10.55vw;
flex-direction: column;
}
.modal-card__inner{
flex-direction: column;
}
.modal-card__content {
padding: 0;
margin: 0;
width: 100%;
}
.modal-menu-list__item{
/*margin-top: 0.65em;*/
width: 49%;
}
.modal-menu-list__item .label{
font-size: 3.2vw;
}
.modal-card__header{
font-size: 4.8vw;
}
.modal-card__description{
margin-top: 4.267vw;
font-size: 3.733vw;
width: 100%;
}
.modal-card__description small.note,
.modal-card__description small .note{
line-height: 1.3em;
}
.modal-card__figure{
margin-top: 4.267vw;
text-align: center;
width: 100%;
justify-content: center;
}
.modal-card__figure img{
max-height: 70.667vw;
}
.modal-menu-index .note{
margin-top: 10px;
font-size: 12px;
}
}

/** entry-list-style **/
.entry-list-style__head{
font-size: 28px;
font-weight: 400;
text-align: center;
margin-bottom: 0.75em;
}
.entry-list-style ul{
counter-reset: list-counter;
list-style: none;
padding: 0;
}
.entry-list-style li{
counter-increment: list-counter;
font-size: 32px;
font-weight: 400;
margin-bottom: 1.0em;
position: relative;
padding-left: 2em;
}
.entry-list-style li::before{
content: "";
position: absolute;
left: 0;
top: 0.2em;
width: 1.3em;
height: 1.3em;
background-color: #CC0000;
border-radius: 50%;
}
.entry-list-style li::after {
content: counter(list-counter);
position: absolute;
left: 0;
top: 0;
width: 1.2em;
height: 1.2em;
line-height: 1.5em;
font-size: 34px;
color: #fff;
text-align: center;
font-weight: 500;
}
.entry-list-style__telNum{
display: inline-block;
font-size: 38px;
font-weight: 700;
letter-spacing: 0.1em;
color: #CC0000;
margin-top: 0.5em;
margin-bottom: 0.2em;
}
.OptionWideRWD #Contents .entry-list-style__telNum img{
display: inline-block;
height: 22px;
width: auto;
max-width: none;
vertical-align: baseline;
margin-right: 0.25em;
}
.entry-list-style__note{
font-size: 20px;
}
.entry-list-style li:last-child{
margin-bottom: 0;
}

@media screen and (max-width: 767px) {
.entry-list-style__head{
font-size: 16px;
}
.entry-list-style li{
font-size: 20px;
}
.entry-list-style li::before{
left: -0.1em;
top: 0.1em;
width: 1.5em;
height: 1.5em;
}
.entry-list-style li::after {
font-size: 22px;
font-weight: 700;
}
.entry-list-style__telNum{
font-size: 26px;
font-weight: 700;
}
.entry-list-style__note{
font-size: 12px;
line-height: 1.3em;
display: inline-block;
}
}

/* **** added 20251008 *** */
/** common **/
.contentsIndex ul li{
padding-left: 0.7em;
position: relative;
margin-bottom: 0.7em;
}
.contentsIndex ul li::before{
content: "";
display: block;
width: 6px;
height: 6px;
background-color: #4D4D4D;
border-radius: 50%;
position: absolute;
top: 17px;
left: 0;
}
.contentsIndex ul li a,
.contentsIndex ul li a:link,
.contentsIndex ul li a:active,
.contentsIndex ul li a:visited{
color: #4D4D4D;
text-decoration: none;
}
.contentsIndex ul li a{
font-size: 24px;
line-height: 1.5em;
font-weight: 400;
padding-right: 15px;
background-image: url(../img/icon_innerlink_arrow_red.svg);
background-repeat: no-repeat;
background-size: 18px;
background-position: right 67%;
padding-right: 24px;
}
.contentsIndex ul li a:hover{
color: #FA000F;
}

@media screen and (max-width: 767px) {
.contentsIndex ul li{
margin-bottom: 6px;
line-height: 17px;
}
.contentsIndex ul li::before {
width: 4px;
height: 4px;
top: 8px;
}
.contentsIndex ul li a{
font-size: 14px;
line-height:1.4em;
background-size: 10.5px;
}
}

#Contents section.scene .section-title {
text-align: left;
font-size: 32px;
font-weight: 700;
line-height: 1.4em;
color: #4D4D4D;
position: relative;
}
#Contents section.scene .section-title.-look,
#Contents section.scene .section-title.-workable,
#Contents section.scene .section-title.-connect{
padding-left: 20px;
}
#Contents section.scene .section-title.-look::before,
#Contents section.scene .section-title.-workable::before,
#Contents section.scene .section-title.-connect::before {
display: block;
content: "";
width: 4px;
height: 1.1em;
position: absolute;
left: 0;
top: 0.22em;
}
#Contents section.scene .section-title.-look::before{
background-color: #327DBE;
}
#Contents section.scene .section-title.-workable::before{
background-color: #55A541;
}
#Contents section.scene .section-title.-connect::before{
background-color: #DC6E28;
}

@media screen and (max-width: 767px) {
#Contents section.scene .section-title{
font-size: 18px;
}
#Contents section.scene .section-title.-look,
#Contents section.scene .section-title.-workable,
#Contents section.scene .section-title.-connect{
padding-left: 10px;
}
#Contents section.scene .section-title.-look::before,
#Contents section.scene .section-title.-workable::before,
#Contents section.scene .section-title.-connect::before{
height: 90%;
}
}

/** related link other fuctions **/
/* index other functions*/
.function-other-txt{
margin-top: 30px;
font-size: 22px;
font-weight: 400;
color: #4D4D4D;
}
.categoryList{
display: flex;
align-items: stretch;
gap: 15px;
margin-top: 2.3%;
}
.function-other-column{
width: calc((100% - 30px) / 3);
display: flex;
flex-direction:column;
background-color: #f4f4f4;
transition: all .3s;
cursor: pointer;
}
.function-other-wrapper{
padding: 10.5px 12px;
}
.function-other-column img,
.function-other-column svg{
display: block;
width: 100%;
height: auto;
background-color: #D9D9D9;
}
.function-other-column .title{
display: flex;
flex: 1 1 auto;
min-height: 0;
border-left-width: 4px;
border-left-style: solid;
color: #4D4D4D;
}
.function-other-column .title a{
display: flex;
flex-direction: column;
flex:1 1 auto;
min-height:0;
padding: 0 30px 0 15px;
font-size: 18px;
font-weight: 700;
text-decoration: none;
position: relative;
transition: all .3s;
}
.function-other-column .title a:link,
.function-other-column .title a:visited,
.function-other-column .title a:active{
color: #4d4d4d;
}
.function-other-column .title a:hover{
color: #4d4d4d;
}
.function-other-column .title a::before{
content: "";
display: block;
width: 18px;
height: 18px;
background-image: url(../img/icon_link_arrow_red.svg);
background-repeat: no-repeat;
background-size: 18px;
position: absolute;
top: 50%;
right: 12px;
transform: translateY(-50%);
}
.function-other-column .title a .subTitle{
font-size: 14px;
font-weight: 400;
display: block;
}
.function-other-column:hover{
background-color: #D9D9D9;
}
.function-other-column:hover img,
.function-other-column:hover svg{
opacity: 0.7;
}
#index_function_other0102 .text{
fill: #fff;
font-size: 10px;
}
#index_function_other0102 .balloon {
fill: #737373;
}
.function-other-column.-look .title{
border-color: #327DBE;
}
.function-other-column.-workable .title{
border-color: #55A541;
}
.function-other-column.-connect .title{
border-color: #DC6E28;
}
.modal-menu-index .note,
#Contents section.scene .note{
margin-top: 15px;
font-size: 14px;
}

@media screen and (max-width: 767px) {
.function-other-txt{
font-size: 14px;
}
.categoryList{
flex-direction: column;
}
.function-other-column {
width: 100%;
flex: 1 1 100%;
}
.function-new{
display: flex;
}
.function-new::before{
font-size: 11px;
padding: 4px 4px;
margin-right: 5px;
}
.function-other-txt{
margin-top: 20px;
}
.categoryList{
justify-content: center;
align-items: center;
}
.function-other-column{
width: 70%;
background-color: #F4F4F4;
}
.function-other-wrapper{
padding: 10.5px 12px;
}
.function-other-column .title{
border-left-width: 3px;
}
.function-other-column .title a{
padding: 4px 20px 4px 8px;
}
.function-other-column .title a{
font-size: 13px;
line-height: 1.3em;
}
.function-other-column .title a::before{
right: 0;
width: 11px;
height: 11px;
background-size: 11px;
}
.function-other-column .title a .subTitle{
font-size: 11px;
}
.modal-menu-index .note,
#Contents section.scene .note {
font-size: 10px;
}
#Contents .u-tablist.-revert > .u-tablist_tab {
background-image: linear-gradient(45deg, transparent 50%, #ffffff 50.01%);
background-position: right top;
}
section.registration-links > .registration > .u-link {
max-width: 100%;
font-size: 14px;
text-align: left;
padding-left: 2.5em !important;
}
}