@charset "UTF-8";
/*
	Theme Name: FUJI SMT Site
*/

/*///////////////////////////////////////////////////////
 COMMON
//////////////////////////////////////////////////////*/
body,html{
    font-size: 16px;
    height: 100%;
    margin: 0;
    margin-top: 0 !important;
    padding: 0;
}
html.sr {
    margin-top: 0!important;
}
body {
    font-family: "Noto Sans JP",-apple-system,BlinkMacSystemFont,Hiragino Sans,YuGothicM,Meiryo,sans-serif;
}
body:lang(zh-CN) {
    font-family: 'Noto Sans CN', Noto Sans CJK JP, Microsoft Yahei;
}
body:lang(en) {
    font-family: Arial, Roboto, sans-serif;
}
/*.fa-classic, .fa-light, .fa-regular, .fa-solid, .fa-thin, .fal, .far, .fas, .fat {
    font-family: "Font Awesome 5 Brands";
}*/
a{
    text-decoration: none;
    transition: 0.3s;
    color:#000;
}
p{
    margin-bottom: 2em;
}
a:hover{
    text-decoration: none;
    opacity: 0.7;
}
main .content, .form, .bottom_bt .content, .relation_ct.content{
    padding-top: 50px;
    padding-bottom: 50px;
    margin-bottom: 50px;
    max-width: 1120px;
    margin: 0 auto;
}
main .min_content{
    padding-bottom: 0;
    max-width: 920px;
    margin: 0 auto;
}
main .mid_content{
    padding-bottom: 0;
    margin: 0 auto;
}
.mid_view, .sm_view{
    display: none;
}
@media (max-width: 1120px) {
    main .content, .form{
        padding: 50px 25px;
    }
    main .min_content,main .mid_content{
        padding: 0 15px 0;
    }
}
@media (max-width: 800px) {
    main .content, .form{
        padding: 25px;
    }
    p{
        margin-bottom: 2em;
    }
}
@media (max-width: 1000px) {
    .pc_view{
        display: none !important;
    }
    .sm_view{
        display: block;
    }
}
.left{
    text-align: left;
}
.center{
    text-align: center;
}
.right{
    text-align: right;
}
.hidden{
    display: none;
}
ul{
    margin-bottom: 0;
}
ul.ulnone{
    list-style: none;
    padding: 0;
    margin: 0;
}
ul.ulnone li{
    display: block;
}
main{
    clear: both;
}
h2,h3,h4,h5,h6,p{
    text-align: left;
    word-wrap: break-word;
}
h1, .form legend{
    text-align: center;
    color: #004098;
    font-size: 24px;
    width: 100%;
    margin: 0 auto;
    background: url("../img/list_down.png") no-repeat;
    background-position:center bottom;
    padding-bottom: 30px;
    margin-bottom: 60px;
}
@media (max-width: 1000px) {
    h1, .form legend{
        margin-bottom: 30px;
        background: url("../img/list_down_sm.png") no-repeat;
        background-position:center bottom;
    }
    .right{
        text-align: center;
    }
}
.clear{
    width: 100%;
    clear: both;
}
.red_txt{
    color:#CB202D;
}
.red_ct{
    background: #CB202D;
}
.content > p{
    line-height: 180%;
}
.pb-0{
    padding-bottom: 0 !important;
}

/* background */
.odd_back:nth-child(odd){
    background-color: #F2F2F2;
}
.even_back:nth-child(even){
    background-color: #F2F2F2;
}


/*///////////////////////////////////////////////////////
　grid
//////////////////////////////////////////////////////*/

.grid4 .item_ct{
    padding: 25px;
}
.grid4 .item_ct h3{
    font-size: 14px;
    margin-bottom: 0.5em;
}
.grid4 .item_ct p{
    font-size: 12px;
}
@media (min-width: 1001px) {
    .grid_ct{
        display: grid;
    }
    .grid{
        display: grid;
        grid-auto-flow:column;
        grid-column-gap:80px;
    }
    .grid2{
        display: grid;
        grid-template-columns:45% 45%;
        grid-column-gap:10%;
    }
    .grid2-1{
        display: grid;
        grid-template-columns: 1.9fr 1fr;
        grid-column-gap:80px;
        padding: 0 24px;
    }
    .grid1-2{
        display: grid;
        grid-template-columns:1fr 1.9fr;
        grid-column-gap:80px;
        padding: 0 24px;
    }
    .grid3{
        display: grid;
        grid-template-columns:30% 30% 30%;
        grid-column-gap:5%;
    }
    .grid4{
        display: grid;
        grid-template-columns:22% 22% 22% 22%;
        grid-column-gap:4%;
    }
    .grid4 .item_ct p{
        margin-bottom: 0em;
    }
}



/*///////////////////////////////////////////////////////
　共通パーツ
//////////////////////////////////////////////////////*/


/* black_next_bt */
.black_next_bt{
    display: flex;
    background-color: #656565;
    line-height: 0;
    text-align: left;
}
.black_next_bt.revers{
    flex-direction: row-reverse;
}
.black_next_bt i,.black_next_bt span{
    display: block;
}
.black_next_bt span{
    flex: 2;
    padding: 18px;
    font-size: 18px;
    color: #FFF;
}
.black_next_bt i,.blue_bt i{
    flex: 1;
    max-width: 84px;
    display: inline-block;
    aspect-ratio: 1 / 1;
    background: url("../img/Icon_awesome-right.png") no-repeat #000;
    background-position: center;
}

/* icon */
.icon_new{
    font-style: normal;
    color: #FFF;
    background: #CB202D;
    padding: 10px 15px;
    line-height: 100%;
}
.icons_ct i{
    background-color: #FFF;
    width: 18px;
    height: 18px;
    padding: 19px;
    border-radius: 20px;
    border: #CFCFCF solid 1px;
    cursor: pointer;
    display: inline-block;
}
.icons_ct i.icon_lock{
    display: inline-block;
    background: url("../img/Icon_awesome-lock.png") no-repeat;
    background-position: center;
    background-color: #000;
    padding: 20px;
    border: none;
    border-radius: 20px;
}
.icon_in{
    background: url("../img/logo_linked2.png") no-repeat;
    background-position: center;
}
.icon_heart{
    background: url("../img/Icon_awesome-heart-1.png") no-repeat;
    background-position: center;
}
.icon_heart.on{
    background: url("../img/Icon_awesome-heart.png") no-repeat #FFF;
    background-position: center;
}
.file_icon i{
    background-image: url("../img/Icon_awesome-note2.png");
    background-repeat: no-repeat;
    background-position: center;
}
.b_arrow_icon i{
    background-image: url("../img/Icon_awesome-angle-down.png");
    background-repeat: no-repeat;
    background-position: center;
}
.mail_icon i{
    background-image: url("../img/Icon_feather-mail.png");
    background-repeat: no-repeat;
    background-position: center;
}


/* more_black_bt */
.more_black_bt{
    background: url("../img/Icon_awesome-right2.png") no-repeat;
    background-position: 95px 17px;
	background-color: #000;
    display: block;
    display: inline-block;
    padding: 25px 60px 25px 45px;
    line-height: 0;
    font-size: 14px;
    color: #FFF;
}
.more_black_bt:hover{
    color: #FFF;
}

/* more_blue_bt */
.more_blue_bt{
    background: url("../img/Icon_awesome-bottom.png") no-repeat;
    background-position: 95px 23px;
	background-color: #004098;
    display: inline-block;
    padding: 25px 60px 25px 45px;
    line-height: 0;
    font-size: 14px;
    color: #FFF; 
    margin: 0 auto;
}
.more_blue_bt:hover{
    color: #FFF;
}
@media (max-width: 1000px) {
    .more_blue_bt {
        background-position: 85px 23px;
    }
}

/* blue_bt */
.blue_bt{
    background-color: #004098;
    display: block;
    padding: 25px 45px;
    line-height: 180%;
    font-size: 18px;
    color: #FFF !important;
    text-align: center;
    margin: 0 auto;
    border: none;
}
.blue_bt img{
    margin-right: 1.5em;
}

/* glay_bt */
.glay_bt {
    width: 100%;
    max-width: 350px;
    border: none;
    width: 350px;
    background-color: #F2F2F2;
    padding: 25px 0;
    line-height: 180%;
    font-size: 19px;
    font-weight: bold;
    color: #3B619B !important;
    text-align: center;
    display: inline-block;
}

/* black_bt */
.black_bt{
    display: block;
    min-height: 60px;
    background-color: #000;
    text-align: center;
    padding: 10px 0 0;
    color:#FFF;
}

/* youtube_ct */
.youtube_ct {
    width: 100%;
    max-width: 610px;
    aspect-ratio: 16 / 9;
}
.youtube_ct iframe,.youtube_ct img,.youtube_ct video {
    width: 100%;
    height: 100%;
}

/* word_ct */
.word_ct{
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 0.3em;
	margin-bottom: 1.5em;
}
@media (max-width: 1000px) {
    .word_ct{
        width: 100%;
    }
}
.word_ct li{
    background-color: #FFF;
    width: auto;
    padding: 2.5px 15px;
    border-radius: 5px;
    border: #F0F0F0 solid 1px;
    display: inline-block;
    font-size: 12px;
    margin-right: 0.5em;
}

/* glay_ct */
.glay_ct{
    background-color: #F2F2F2;
}

/* item_ct */
.item_ct{
    position: relative;
    padding: 15px 30px 30px;
    padding-bottom: 20px;
    margin-bottom: 70px;
}
.relation_ct .item_ct{
    padding-bottom: 0;
}
.item_ct .icon_new{
    position: absolute;
    z-index: 1;
    left:-10px;
    top: -20px;
}
.item_ct .icons_ct{
    position: absolute;
    right:-10px;
    top: -20px;
    z-index: 1;
}
.item_ct .img_ct{
    display: block;
    padding: 20px auto 10px;
    text-align: center;
}
.item_ct img{
    max-width: 100%;
    max-height: 226px;
    margin-bottom: 1em;
}
.item_ct h3{
    color: #004098;
    font-weight: lighter;
    font-size: 16px;
    margin-bottom: 1em;
    line-height: 1.5;
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    max-height: 3.5em;
}
.item_ct p{
    font-weight: lighter;
    font-size: 14px;
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    max-height: 4.5em;
}
.item_ct .open_day{
    overflow: inherit;
    padding-left: 4em;
}
.item_ct .open_day span{
    margin-left: -4.2em;
    display: inline-block;
}
.item_ct .open_pls{
    padding-left: 2em;
}
.item_ct .open_pls span{
    margin-left: -2.2em;
    display: inline-block;
}
.item_ct .expo_bt{
    padding-top: 1em;
}
.item_ct .taxonomy{
    position: absolute;
    z-index: 1;
    left:-10px;
    top: -8px;
    background-position: 95px;
    background-color: #004098;
    display: inline-block;
    padding: 15px 15px;
    line-height: 0;
    font-size: 14px;
    color: #FFF;
    display: none;
}
.item_ct .icon_new {
    left: 29px;
    top: -4px;
}
.item_ct .icons_ct {
    right: 21px;
    top: -7px;
}
@media (max-width: 1120px) {
    .item_ct{
        text-align: center;
        max-width: 400px;
        text-align: center;
        margin: 0 auto 1em;
    }
    .item_ct.expo_ct{
        text-align: left;
    }
    .item_ct h3{
        text-align: center;
    }
    .item_ct p{
        margin-bottom: 0;
    }
    .content .more_blue_bt{
        margin-bottom: 1em;
    }
}

/* page_title */
h1#page_title{
    text-align: left;
    font-size: 24px;
    width: 100%;
    max-width: 1120px;
    margin: 0 auto;
    background: none;
    padding-bottom: 0;
    background-color: #004098;
    margin-bottom: 30px;
    color: #FFF;
}
h1#page_title span{
    display: block;
    width: 100%;
    max-width: 1120px;
    margin: 0 auto;
    padding:0.5em 0;
    font-size: 18px;
    padding-left: 1em;
}
@media (max-width: 800px) {
    h1#page_title{
        text-align: center;
        padding: 0.5em;
        font-size: 18px;
        margin-bottom: 0;
    }
}


/* pager_ct */
.pager_ct{
    display: block;
    margin: 0 auto;
    text-align: center;
}


/* design_ct */
.design_ct.even_back{
    background: none;
}
.design_ct .design_sub_ct{
    position: relative;
    margin-bottom: 65px;
}
.design_sub_ct{
    overflow: hidden;
}
.design_sub_ct img{
    width: 100%;
}
.design_sub_ct > .back_ct{
    position: absolute;
    z-index: -1;
    top: 57px;
    background: #F2F2F2;
    height: 100%;
    width: 100%;
}
#detail_body .design_sub_ct .info_ct p {
    text-align: left;
}
.design_ct .sub_ct{
	background-image: linear-gradient(90deg, #FFF 60px, transparent 60px);
    background-size: 100%;
}
.design_ct .content{
    padding-bottom: 0;
}
.design_ct .txt_ct{
    margin-top: 90px;
    background: url("../img/triangle-back.png") no-repeat;
    padding: 32px 32px 0;
    width: 100%;
}
.design_ct .txt_ct p{
    display: block;
    margin-bottom: 30px;
}
.design_ct .right{
    margin-bottom: 2em;
}
@media (max-width: 1000px) {
    .design_sub_ct > .back_ct{
        height: 95%;
    }
}
@media (max-width: 690px) {
    .design_ct .flex_ct > div:first-of-type {
        margin: 0 0 2em 40px;
        width: auto;
        padding-right: 0.5em;
        padding-left: 1em;
    }
    .design_ct .txt_ct p {
        margin-bottom: 15px;
    }
    .list_page .design_ct .txt_ct p {
        padding-right: 15px;
    }
}


/* flex_ct */
@media (min-width: 1001px) {
    .flex_ct{
        display: flex;
        width: 100%;
        gap: 40px;
    }
    .design_ct .flex_ct{
        display: flex;
        gap:80px;
    }
    .design_ct .flex_ct .design_img_ct{
        width: 80%;
    }
    .odd_ct .design_sub_ct:nth-of-type(odd) > .flex_ct, .even_ct > .design_sub_ct:nth-of-type(even) .flex_ct{
        flex-direction: row-reverse;
        padding-right: 0;
    }
    .odd_ct .design_sub_ct:nth-of-type(odd) > .content, .even_ct > .design_sub_ct:nth-of-type(even) .content{
        padding-left: 50px;
    }
    .odd_ct .design_sub_ct:nth-of-type(even) > .sub_ct, .even_ct > .design_sub_ct:nth-of-type(even) > .sub_ct{
        background-image: linear-gradient(90deg, transparent 95%, #FFF 95%);
    }
    .odd_ct .design_sub_ct:nth-of-type(odd) > .txt_ct, .even_ct > .design_sub_ct:nth-of-type(even) .txt_ct{
        margin-left: 50px;
    }
}
@media (max-width: 1000px) {
    .design_ct .sub_ct{
        background: none;
    }
    .flex_ct{
        text-align: center;
    }
    .flex_ct .txt_ct{
        text-align: left;
    }
    .design_ct .flex_ct > img{
        max-width: 530px;
        width: 100%;
        margin-bottom: 2em;
    }
    .design_ct .flex_ct .txt_ct{
        max-width: 530px;
    }
    .design_sub_ct > .back_ct {
        left: 1em;
    }
    .list_page .design_sub_ct > .back_ct {
        left: 0;
    }
    .design_ct .right{
        text-align: center;
    }
    .design_ct .right:first-of-type{
        margin-bottom: 0;
    }
    .design_sub_ct {
        overflow:hidden;
    }
    .design_sub_ct .min_content{
        padding: 0;
    }
    .design_ct .flex_ct > div{
        margin-left: 60px;
    }
}


/* easy_ct */
.easy_ct.content{
    padding-bottom: 50px;
}
.easy_ct .txt_ct{
    padding:0 0 50px 50px;
}
.easy_ct img{
    max-width: 100%;
}
.easy_ct .flex_ct{
    grid-template-columns: 20% 80%;
}
#detail_body .easy_ct .txt_ct > h2{
    background: none !important;
    border: none;
    padding: 0;
    margin: 0 0 1.5em;
    font-size: 26px;
    font-weight: bold;
}
@media (max-width: 1000px) {
    .easy_ct .flex_ct > img{
        margin-bottom: 2em;
    }
    .easy_ct .txt_ct{
        padding:0;
    }
    #detail_body .easy_ct .txt_ct > h2 {
        margin-bottom: 1em;
    }
}
@media (min-width: 1001px) {
    .design_sub_ct .flex_ct > img{
        max-width: 35%;
        height: 100%;
    }
}


/* member_bts */
.member_bts{
    background: #F2F2F2;
    padding: 50px;
    text-align: center;
    font-size: 16px;
}
.member_bts .grid_ct{
    grid-template-columns: 350px 350px;
    grid-column-gap:80px;
    max-width: 740px;
    margin: 0 auto;
}
.member_bts .grid_ct a{
    width: 100%;
    line-height: 180%;
    font-size: 18px;
}
.member_bts .grid_ct a:hover{
    color: #FFF;
}
.member_bts .regist_bt{
    background: url("../img/Icon_material-person-add.png") no-repeat #004098;
    background-position: right 20px center;
}
.member_bts .login_bt{
    background: url("../img/Icon_open-account-login.png") no-repeat #004098;
    background-position: right 20px center;
}
.member_bts .grid_ct b{
    display: block;
    font-size: 20px;
}
@media (max-width: 1000px) {
    .member_bts .grid_ct a{
        max-width: 322px;
        margin-bottom: 1em;
    }
}


/* link_txt,blank_txt */
.link_txt, .blank_txt{
    display: block;
    padding-left: 30px;
    padding-bottom: 0.3em;
    border-bottom: 1px solid #000;
    margin-bottom: 0.5em;
    font-size: 16px;
    line-height: 100%;
}
.link_txt{
    background: url("../img/Icon_awesome-link.png") no-repeat;
    background-position: 5px 0px;
}
.blank_txt{
    background: url("../img/Icon_awesome-link2.png") no-repeat;
    background-position: 5px 0px;
}


/* member_bt */
.member_bt{
    border-top: 1px solid #CBCBCB;
    border-bottom: 1px solid #CBCBCB;
    border-image: linear-gradient(to left, #CBCBCB 30%, #FFF 30%, #FFF 70%, #CBCBCB 70%);
    max-width: 540px;
    margin: 0 auto;
    border-image-slice: 1;
}
.member_bt_border{
    max-width: 540px;
    border-left: 1px solid #CBCBCB;
    border-right: 1px solid #CBCBCB;
    border-image: linear-gradient(to bottom, #CBCBCB 30%, #FFF 30%, #FFF 70%, #CBCBCB 70%);
    border-image-slice: 1;
    padding: 30px;
}
.member_bt .member_mask{
    background: rgba(213,213,213,0.5);
}
.member_bt .member_mask_title{
    background: #000;
    color: #FFF;
    text-align: center;
    padding: 20px 0;
    width: 100%;
}
.member_bt .member_mask_title a{
    color: #FFF;
}
.member_bt .member_mask_alpha .black_next_ct{
    cursor: no-drop;
    opacity: 0.5;
    margin-bottom: 0 !important;
}
.member_bt .member_mask_alpha{
    padding: 45px 40px;
}
@media (max-width: 1000px) {
    .member_bt .content{
        padding: 0 0;
        
    }
    .member_bt .member_mask_alpha{
        padding: 15px;
    }
    .member_bt_border {
        padding: 15px;
    }
}

/* member_btの中のポップアップ */
.popup_overlay {
	display: flex;
	justify-content: center;
	overflow: auto;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 999;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.7);
	opacity: 0;
	transition: opacity 0.5s, transform 0s 0.5s;
	transform: scale(0);
}

.popup_trigger {
	position: absolute;
	width: 100%;
	height: 100%;
}

.popup_content {
	position: relative;
	align-self: center;
	width: 90%;
	max-width: 800px;
	padding: 30px 40px;
	box-sizing: border-box;
	background: #fff;
	line-height: 1.4em;
	transition: 0.5s;
	text-align: justify;
}

.close_btn {
	position: absolute;
	top: 10px;
	right: 10px;
	font-size: 14px;
	cursor: pointer;
	padding:8px;
	background: #004098a8;
	color: #fff;
	border-radius:15px;
	line-height:14px;
	font-weight:bold;
}

.popup_wrap input:checked ~ .popup_overlay {
	opacity: 1;
	transform: scale(1);
	transition: opacity 0.5s;
}

.popup_wrap input:checked ~ .popup_overlay .popup_content{
	transform: translateY(50px);
}

.open_btn {
	cursor: pointer;
	transition: .3s ease;
}

.open_btn:hover{
	opacity: 0.7;
	transition: .3s ease;
}

.popup_content .wpcf7-list-item {
	display: block;
}

.popup_content .wpcf7-response-output {
	display: none;
}

#form7_send_btn.send_btn input {
	border: 1px solid #cdcdcd;
    background: #aeb2b7;
    color: #fff;
    padding: 12px;
    text-align: center;
    font-size: 16px;
    width: 90%;
    max-width: 270px;
    position: relative;
    border-radius: 0;
	pointer-events: none;
}

#form7_send_btn.check_box_click input {
	border: 1px solid #004098;
    background: #004098;
	pointer-events: auto;
}

.popup_content .send_btn input:hover{
    opacity: 0.7;
}

.popup_content .send_btn p {
	text-align: center;
}

.other_youbou_checkbox input[type=checkbox] {
	opacity: 1;
}

/* expo_ct */
.expo_ct .more_black_bt, .expo_ct .more_blue_bt{
    background-image: none;
    padding: 10px;
    width: 100%; 
    line-height: 100%;
    text-align: center;
    margin-bottom: 0.5em;
}
.expo_ct .more_black_bt{
    margin-bottom: 1em;
}
.expo_ct.item_ct .icons_ct, 
.expo_ct.item_ct .icon_new{
    top: -30px;
}
.expo_bt span{
    position: relative;
    opacity: 0.5;
}
.expo_bt b{
    display: block;
    background-color: #000;
    position: absolute;
    top: -7px;
    left: -11px;
    padding: 0.2em 0.5em;
    font-size: 10px;
    font-weight: normal;
}
@media (max-width: 880px) {
    #event_page .item_ct{
        border: #D5D5D5 solid 1px;
        padding-top: 3em;
        background-color: #FFF;
    }
    #event_page .expo_ct.item_ct .icons_ct, #event_page .expo_ct.item_ct .icon_new{
        top: 3px;
    }
}


/* catch_ct */
.catch_tittle{
    margin-bottom: 1em;
}
.catch_list li{
    display: block;
    margin-bottom: 1em;
    font-size: 20px;
	background-color: #F2F2F2;
	background-image: linear-gradient(-180deg, #fff 25px, transparent 25px);
}
.catch_list b{
    display: block;
	background-image: linear-gradient(90deg, #fff 80px, transparent 80px);
}
.catch_list span{
    display: block;
    background: url('../img/check_icon.png') no-repeat;
    padding-left: 70px;
    font-weight: normal;
    padding: 10px 0 10px 70px;
    color: #3B619B;
}


/* speaker_ct */
.speaker_ct .content{
    max-width: 1000px;
}
.speaker_ct > .content {
    padding: 20px 20px 20px;
}
.speaker_ct img{
    height: auto;
    max-width: 200px !important;
}
.speaker_ct h3{
    border: none;
    background: none;
    color: #3B619B;
    font-size: 20px;
}
.speaker_info{
    padding: 0 30px 30px;
}
.speaker_name{
    font-size: 25px;
    font-weight: bold;
    margin-bottom: 10px;
}
.speaker_job{
    font-size: 20px;
    margin-bottom: 20px;
}
@media (max-width: 1000px) {
    .speaker_ct h5{
        text-align: center;
    }
    .speaker_ct .flex_ct > img{
        max-width: 185px;
        display: block;
        margin: 0 auto 1em;
    }
    .speaker_ct .speaker_info{
        text-align: left;
        max-width: 332px;
        margin: 0 auto;
    }
    .speaker_ct h5{
        margin-bottom: 1em;
    }
}
@media (max-width: 880px) {
    .speaker_ct .speaker_info{
        max-width: 100%;
    }
}


/* youtube_ct */
.youtube_ct.lock_ct{
    background: url('../img/movie_back.png') no-repeat;
    background-size: cover;
}
.youtube_ct .youtube_ct{
    background: linear-gradient(rgba(0, 0, 0, .6),  rgba(0, 0, 0, .6)),  url("../img/youtube.png"); 
    /* 画像の位置やサイズの調整 */
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    aspect-ratio: 16 / 9;
    position: relative;
}
.youtube_ct .attention_txt{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    color: #FFF;
    background: #000;
    font-size: 27px;
    padding: 20px;
    width: 100%;
    text-align: center;
}
.youtube_ct .attention_txt img{
    max-width: 1em;
    margin-bottom: 10px;
    margin-right: 20px;
}
@media (max-width: 1000px) {
    .youtube_ct .attention_txt{
        font-size: 20px;
    }
}

/* pan_list */
.pan_list.content{
    padding-top: 0.5em;
    padding-bottom: 0.2em;
    margin-bottom: 0.5em;
    line-height: 100%;
}
.pan_list ul{
    margin: 0;
    padding: 0;
    list-style: none;
    display: table;
}
.pan_list li{
    display: table-cell;
    padding-right: 0.5em;
}
.pan_list > span{
    display: inline-block;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
    max-width: 800px;
}
.pan_list > span > span > br {
	display: none;
}
@media (max-width: 1000px) {
    .pan_list.content{
        padding-bottom: 0;
        padding-left: 15px;
        margin-bottom: 0.5em;
    }
	.pan_list > span{
		max-width: 300px;
	}
}

/* number_ct */
.number_ct.design_ct .design_sub_ct{
    position: relative;
	background-color: #F2F2F2;
	background-image: linear-gradient(-180deg, #fff 100px, transparent 100px);
	background-size: 50%;
    margin-bottom: 65px;
}

/* title_ct */
.title_ct{
    background: url("../img/header1.png") no-repeat;
    background-size: cover;
    margin-bottom: 65px;
}
.txt_page .min_content{
    max-width: 1188px;
}
.title_ct .min_content{
    position: relative;
    min-height: 210px;
    max-width: 1120px;
}
.title_ct > .min_content > h2{
    color: #FFF;
    font-size: 40px;
    background: none !important;
    border: none !important;
    font-weight: inherit;
}
@media (max-width: 1000px) {
    .title_ct > .min_content > h2{
        padding-left: 0;
        margin: 0;
    }
}
@media (min-width: 1120px) {
    .title_ct > .min_content > h2{
        position: absolute;
        left: 0;
        bottom: 0;
        margin-bottom: 1em;
    }
}
@media (max-width: 1120px) {
    .title_ct{
        margin-bottom: 1em;
    }
    .title_ct .min_content{
        min-height: auto;
        padding: 30px 25px;
        text-align: center;
    }
    .title_ct > .min_content > h2{
        font-size: 25px;
    }
}

/* point_ct */
.point_ct{
    position: relative;
}
.point_ct .point_mid_ct{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
}
.point_ct .point_sub_ct{
    position: relative;
    margin-bottom: 100px;
}
.point_ct svg{
    position: absolute;
    border-bottom: #004098;
    top: 30px;
    right: 0;
    width: 100%;
    font-size: 12px;
    x:0;
    y:0;
    height: 12px;
    float: right;
}
.point_ct svg line {
    fill: none;
    stroke: #004098;
}
.point_ct svg circle {
    fill: #004098;
    cx : 6px;
    cy : 6px;
    r : 6px;
}
.point_ct .point_txt{
    position: absolute;
    z-index: 1;
    right: 0;
    background: #004098;
    color: #FFF;
    padding: 20px;
    line-height: 180%;
    width: 470px;
    float: right;
}

/* point_ct */
.point_ct .point_mid_ct.point1{
    top: 30px;
    left: 0;
}
.point_ct .point_mid_ct.point1 svg{
    width: 87%;
}
.point_ct .point_mid_ct.point2{
    top: 166px;
    left: 0;
}
.point_ct .point_mid_ct.point2 svg{
    width: 75%;
}
.point_ct .point_mid_ct.point3{
    top: 233px;
    left: 0;
}
.point_ct .point_mid_ct.point3 svg{
    width: 65%;
}
@media (min-width: 1001px) {
    .point_ct img{
        width: 50%;
    }
}

.point_ct.sm_view{
    margin: 0 auto;
    text-align: center;
    max-width: 100%;
}

/* relation_ct */
.relation_ct .item_ct{
    padding: 25px 0;
}
.relation_ct .img_ct{
    display: block;
    margin-bottom: 1em;
}
.relation_ct .item_txt{
    display: block;
    padding: 2em 1em 1em;
    background-color: #EFEFEF;
    position: relative;
}
.relation_ct .item_txt{
    display: block;
}
.relation_ct .item_ct .taxonomy{
    display: block;
}
@media (max-width: 1000px) {
    .relation_ct .item_ct{
        margin: 0 auto 0;
    }
}



/*///////////////////////////////////////////////////////
 header
//////////////////////////////////////////////////////*/
header .content{
    padding: 0;
}
header ul{
    list-style: none;
    padding: 0;
    margin: 0;
}
.header_logo{
    float: left;
    padding: 20px 20px;
}

header .over_flow{
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    background-color: #FFF;
    z-index: 2;
}
header .over_flow_span{
    width: 100%;
    max-width: 1120px;
    margin: 0 auto;
}
.pc_view .header_menu{
    float: right;
    margin: 0;
    padding: 0;
}
/* 上段メニュー */
#language_bt{
    float: left;
    display: grid;
    grid-auto-flow:column;
    text-align: center;
    padding-top: 15px;
    padding-bottom: 35px;
}
#language_bt li{
    display: block;
    border-right:#000 solid 1px;
    padding: 0 10px;
}
#language_bt li:last-of-type{
    border-right: 0;
}
#language_bt a{
    display: block;
    color: #000;
    line-height: 0;
    line-height: 100%;
    background: #FFF;
    color: #000;
    padding: 10px;
}
#language_bt a.selected{
    background: #000;
    color: #FFF;
    border-radius: 5px;
    padding: 10px;
}
.pc_view .head_bt{
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 0.7fr 0.7fr;
    max-width: 710px;
    font-size: 12px;
}
.pc_view .head_bt li{
    float: left;
    border-right:#FFF solid 1px;
}
.pc_view .head_bt a{
    justify-content: center;
    align-items: center;
    text-align: center;
    color: #FFF;
    width: 100%;
    font-size: 12px;
    background-image: none;
    display: grid;
    grid-template-columns: 1fr;
    white-space: nowrap;
    min-width: 82px;
}
.pc_view .head_bt li .blue_bt{
    padding: 0 15px;
    height: 60px;
    padding: 0px 10px;
    white-space: nowrap;
}
header .black_bt img{
    display: block;
    margin: 0 auto;
}
/* 中段メニュー */
.pc_view .main_bt{
    clear: both;
    float: right;
    margin-top: -25px;
}
.pc_view .main_bt li{
    float: left;
}
.pc_view .main_bt a{
    display: inline-block;
    padding: 25px 15px ;
    line-height: 0;
    font-size: 14px;
}
/* 下段メニュー */
.pc_view .boot_bt{
    clear: both;
    background: #F2F2F2;
    height: 2.5em;
    box-shadow: 0 5px 3px #d8d8d8 inset;
    padding-top: 0.1em;
}
.pc_view .boot_bt li{
    float: left;
}
.pc_view .boot_bt a{
    display: inline-block;
    padding: 15px 15px;
    line-height: 0;
    font-size: 12px;
    padding: 17px 1em 12px;
}
a#menu_open_bt{
    display: block;
    padding: 15px 1em 0;
    float: right;
}
.sm_menu{
    position: fixed;
    top: 0;
    right: -357px;
    z-index: 1000;
    width: 90%;
    background: #000;
    max-width: 357px;
    height: 100%;
    overflow: auto;
    z-index: 99999;
}
.sm_menu #language_bt{
    float: none;
    margin: 0 auto;
    width: 200px;
    padding-bottom: 0;
}
.sm_menu #language_bt li{
    border-right: #FFF 1px solid;
}
.sm_menu #language_bt li:last-of-type,.sm_menu #language_bt li:first-of-type{
    border: none;
}
.sm_menu #language_bt li a{
    color: #FFF;
    background: none;
    padding: 0.5em 0.5em;
}
.sm_menu #language_bt li a.selected{
    color: #000;
    background: #FFF;
}
.sm_menu .main_bt li{
    clear: both;
    width: 100%;
    display: block;
    padding: 0 2em;
}
.sm_menu .main_bt li a{
    display: block;
    padding:1em 0;
    color: #FFF;
    border-bottom: #707070 solid 1px;
    background: url("../img/Icon_ionic-md-play.png") no-repeat;
    background-position: right 10px center;
}
.sm_menu .main_bt li:first-of-type a{
    padding-top: 0;
}
.sm_menu .main_bt li:last-of-type a{
    border: none;
}
.sm_menu > .black_bt{
    float: right;
    margin-right: 2em;
    margin-top: 0.5em;
}
.sm_menu .head_bt{
    display: grid;
    grid-auto-flow: column;
    text-align: center;
    width: 100%;
    border-top: #707070 solid 1px;
    border-bottom: #707070 solid 1px;
    margin-top: 15px;
}
.sm_menu .head_bt li a{
    display: block;
    padding: 30px 0;
}
.sm_menu .head_bt li a:first-of-type{
    border-right: #707070 solid 1px;
}
@media (min-width: 1001px) {
    body{
        padding-top: 112px !important;
    }
}
@media (min-width: 1001px) {
    body{
        padding-top: calc(135 / var(--view-size) * 100vw) !important;
    }
    header .boot_bt .content{
        width: 100%;
        max-width: 1120px;
        margin: 0 auto;
    }
    header .boot_bt ul{
        float: right;
    }
    header .header_logo {
        padding: 10px 0px 0px 26px;
        display: inline-block;
    }
}
@media (max-width: 1000px) {
    header{
        box-shadow: 3px 3px 3px 3px rgba(0,0,0,0.3);
    }
    body{
        padding-top: calc(64 / var(--view-size) * 100vw)
    }
    .header_logo{
        float: left;
        padding: 10px 20px;
    }
    a#menu_open_bt {
        padding: 15px 1em 13px;
    }
}


/*///////////////////////////////////////////////////////
 footer
//////////////////////////////////////////////////////*/
#top_bt{
    display: none;
    position: fixed;
    right: 10px;
    bottom: 12px;
    opacity: 0;
}
#top_bt{
	display: none !important;
}
footer{
    background-color: #1F1F1F;
    border-bottom: #363636 solid 5px;
}
footer .content{
    max-width: 1120px;
    margin: 0 auto;
    padding: 65px;
}
footer .left_ct ul{
    list-style: none;
    margin: 0;
    padding: 0;
}
@media (min-width: 1120px) {
    footer .content{
        display: table;
        width:1120px;
    }
    footer .left_ct,footer .right_ct{
        width: 50%;
        display: table-cell;
        vertical-align: top;
    }
    footer .left_ct{
        width: 65%;
    }
    footer .left_ct ul{
        width: 100%;
        display: grid;
        grid-template-columns: 50% 50%;
    }
}
@media (max-width: 1120px) {
    footer .content{
        display: flex;
        flex-direction: column-reverse;
        padding-bottom: 20px;
    }
    footer .left_ct,footer .right_ct{
        width: 100%;
    }
    footer .right_ct{
        padding-bottom: 2em;
    }
    footer .left_ct{
        width: 100%;
    }
    footer .left_ct ul{
        border-top: #707070 solid 1px;
        padding-top: 2em;
    }
}
footer .left_ct a{
    display: block;
    color: #FFF;
    margin-bottom: 1em;
}
footer .right_ct{
    text-align: center;
}
footer .copy_ct{
    text-align: center;
    color: #A1A1A1;
    margin-bottom: 30px;
}
@media (max-width: 1000px) {
    footer .copy_ct{
        font-size: 80%;
    }
}
.fab {
    color: white;
}
.sns_list {
    list-style: none;
    display: flex;
	font-size: 30px;
	padding: 0;
    justify-content: end;
	margin-bottom: 80px;
}
.sns_list li {
	margin: 0 20px;
}
@media (max-width: 1000px) {
	.sns_list {
    justify-content: center;
	}
}



/*///////////////////////////////////////////////////////
 index
//////////////////////////////////////////////////////*/
.zero_ct{
	background-color: #fff;
	background-image:
	linear-gradient(0, #F2F2F2 70%, transparent 70%);
	background-size: 50%;
}
.zero_sub_ct{
	background-image:
	linear-gradient(0, #fff 32%, transparent 32%);
}
.abso_ct{
    background: url("../img/0.png") no-repeat;
    background-position-x: -100px;
    padding: 100px 100px 178px;
    margin: 0 auto;
}
.left_img{
    float: left;
    width: 100%;
    max-width: 352px;
}
#front_page .youtube_ct {
    float: right;
    margin-bottom: 20px;
}
.zero_ct p{
    clear: both;
    font-size: 22px;
    margin-bottom: 20px;
}
.b_more_bt{
    float: right;
}
.tab_ct .tab-content{
    background: #F2F2F2;
    padding-top:25px;
}
.tab_ct .tab-content .item_ct{
    margin-bottom: 0;
}
.nav_ct {
    width: 100%;
    overflow-x: auto;
    white-space: nowrap;
}
.nav-tabs {
    -webkit-flex-wrap: nowrap;        /* Safari etc. */
    -ms-flex-wrap    : nowrap;        /* IE10        */
    flex-wrap        : nowrap;
}
@media (max-width: 1000px) {
    .nav-tabs .nav-link {
        font-size: 80%;
        padding: 0.5em;
    }
}


/* bottom_ct */
.bottom_ct{
    display: flex;
    max-width: 1120px;
    margin: 0 auto;
}
.bottom_ct .content{
    background: #F2F2F2;
    box-shadow:0px 0px 8px 3px rgb(211, 211, 211) inset;
    border: #c3c3c3 solid 1px;
    padding: 50px;
}

.linked_ct,.links_ct{
    flex-basis: 50%;
}
.linked_ct .linked_title{
    display: block;
    margin-bottom: 1em;
}
.bottom_ct iframe {
    width: 100%;
}
.bottom_ct .link_ct{
    background-color: #FFF;
    display: table;
    margin-bottom: 40px;
    font-size: 12px;
    width: 100%;
    
}
.bottom_ct .link_ct a.link_txt{
    display: table-cell;
    padding: 30px;
    vertical-align: middle;
    border: none;
    background-position: 9px 30px;
}
.bottom_ct .link_ct a.link_img{
    display: table-cell;
    width: 30%;
    height: 100%;;
    vertical-align: middle;
    padding-left: 25px;
}
.bottom_ct .link_ct a.link_img img{
}
.bottom_ct .link_ct a.link_txt span{
    margin-bottom: 0.5em;
    padding-top: 0.5em;
}
.bottom_ct .link_ct a.link_txt p{
    margin-bottom: 0;
}
.bottom_ct .link_ct:last-of-type{
    margin-bottom: 0;
}
@media (max-width: 1120px) {
    .bottom_ct{
        display: block;
    }
}
@media (max-width: 800px) {
    .bottom_ct .content {
        padding-left: 0;
        padding-right: 0;
        box-shadow: none;
        border: none;
    }
    .linked_title{
        margin-left: 2em;
    }
    .linked_ct.content{
        padding-bottom: 0;
    }
    .bottom_ct .link_ct a.link_img img {
        max-width: 100px;
    }
    .links_ct .content:first-of-type{
        padding-bottom: 0;
    }
}


/*///////////////////////////////////////////////////////
 一覧ページ
//////////////////////////////////////////////////////*/
.list_page .word_ct{
    margin-top: -50px;
    margin-bottom: 25px;
}

@media (min-width: 1120px) {
}
@media (max-width: 1120px) {
    .list_page .word_ct {
        margin-top: 0;
    }
    h1#page_title{
        text-align: center;
        padding: 0.5em;
        font-size: 18px;
        margin-bottom: 0;
    }
    .list_page.left_img_list h1#page_title{
        margin-bottom: 2em;
    }
    .list_page.left_img_list .item_ct {
        max-width: 100%;
        border: #D5D5D5 solid 1px;
    }
    .list_page.left_img_list .sm_grid{
        display: grid;
        grid-template-columns: 50% 50%;
        grid-column-gap:10px;
    }
    .list_page.left_img_list .item_ct h3{
        text-align: left;
        margin-bottom: 0.5em;
    }
    .list_page.left_img_list .item_ct .icons_ct {
        top: -20px;
        right: 6px;
    }
    .list_page.left_img_list .item_ct {
        margin-left: 15px;
        margin-right: 15px;
        padding: 1em;
        text-align: left;
    }
    .list_page.left_img_list .item_ct .item_txt{
        padding-top: 14px;
    }
    .list_page.left_img_list .even_back{
        background: none;
    }
    .item_ct img {
        margin-bottom:0;
    }
}




/*///////////////////////////////////////////////////////
 詳細ページ
//////////////////////////////////////////////////////*/

/* detail_title */
#detail_title{
    position: relative;
}
#detail_title img{
    width: auto;
}
#detail_title > .back_ct{
    position: absolute;
    z-index: -1;
    top: 99px;
    background: #F2F2F2;
    height: 102px;
    width: 100%;
}
#detail_title .content{
    padding-bottom: 50px;
}
#detail_title h3{
    display: block;
    clear: both;
    font-size: 25px;
    min-height: 105px;
    margin-top: 60px;
    line-height: 150%;
    font-weight: bold;
}
#detail_title .design_sub_ct .content > .txt_ct h3{
    min-height: auto;
    background: #F2F2F2;
    padding: 1em;
}
#detail_title .icons_ct,#detail_title .icon_new{
    float: right;
}
#detail_title .txt_ct{
    width: 100%;
}
#detail_title .icon_new{
    margin-top: 3px;
    margin-left: 10px;
}
.item_page #detail_title .design_sub_ct{
    position: relative;
    margin-right: 0;
}
.item_page img{
    max-width: 100%;
}
.item_page .catch_tittle img{
    width: auto;
}
#product_detail #detail_title .design_sub_ct{
    position: relative;
    margin-right: 0;
}
#detail_title p{
    display: block;
    padding:50px 0 0;
    font-size: 16px;
}
.item_page #detail_title p{
    font-size: 25px;
    padding-top: 65px;
    padding-bottom: 20px;
    margin-bottom: 0;
}
#detail_title .bts_ct a{
    background-position: 95px;
    background-color: #004098;
    display: inline-block;
    padding: 25px 20px;
    /*line-height: 0;*/
    font-size: 14px;
    color: #FFF;
}
.item_page #detail_title .bts_ct a{
    padding: 10px 25px;
    min-width: 190px;
    text-align: center;
    max-width: 300px;
}
#detail_title .bts_ct .clear{
    width: 100%;
}
#detail_title .detail_logo{
    clear: both;
}
#detail_title .detail_logo img{
    max-height: 83px;
    max-width: auto;
}
#detail_title .index_ct{
    border: #004098 solid 1px;
    padding: 50px;
    max-width: 690px;
    margin: 0 auto;
}
#detail_title .index_title{
    text-align: center;
}
#detail_title .index_ct ul{
    list-style: none;
}
#detail_title .index_ct a{
    display: block;
    color: #004098;
    margin-bottom: 1em;
}
@media (min-width: 1001px) {
    #detail_title p{
        /*min-height: 194px;*/
    }
    #detail_title .bts_ct{
        white-space: nowrap;
    }
    #detail_title .bts_ct{
        display: flex;
        flex-wrap: wrap;
        gap:10px;
    }
}
@media (max-width: 1000px) {
    .item_page .pan_list.content{
        padding-bottom: 0;
        padding: 15px;
    }
    #detail_title > .back_ct{
        display: none;
    }
    #detail_title .flex_ct > img, #detail_title .flex_ct img.sm_view{
        display: block;
        margin: 0 auto 2em;
        max-width: 100%;
    }
    #detail_title h3{
        line-height: 150%;
        margin-bottom: 0;
    }
    #detail_title .bts_ct a{
        display: block;
        width: auto;
        padding: 20px 30px;
        font-size: 15px;
        letter-spacing: 0.3em;
        text-align: center;
        line-height: 180%;
        margin: 0 auto 1em;
    }
    #detail_title p{
        padding: 2em 15px 0;
    }
    #detail_title .bts_ct{
        padding: 2em;
    }
    #detail_title img.sm_view{
        max-width: 100%;
    }
    #detail_title .detail_logo img{
        margin-bottom: 2em;
        margin-left: 20px;
        max-width: 90%;
    }
    #detail_title .catch_tittle{
        text-align: center;
    }
    #detail_title .txt_ct > img.sm_view{
        margin-bottom: 0;
    }
    #detail_title .content {
        padding-bottom: 0;
    }
    #detail_title .txt_ct .bts_ct{
        padding: 1em 15px 0;
    }
    .item_page.inner_title #detail_title h3 {
        min-height: auto;
        margin-bottom: 1em;
        padding: 15px 0;
    }
    .item_page.inner_title #detail_title .txt_ct > img.sm_view{
        margin: 0 0 1.5em;
    }
    .item_page.inner_title #detail_title .bts_ct a {
        max-width: 90%;
    }
    #detail_title .index_ct{
        border: #004098 solid 1px;
        max-width: 690px;
        margin: 0 15px 1em;
        padding: 20px;
    }
    #detail_title .index_title{
        border-bottom: #D5D5D5 solid 1px;
        padding: 0.5em;
    }
    #detail_title .index_ct ul{
        padding-left: 0;
    }
}
@media (max-width: 1000px) {
    #detail_title .catch_tittle {
        padding-top: 2em;
    }
    #detail_title .catch_tittle .catch_list.ulnone{
        padding-left: 30px;
        padding-right: 30px;
    }
}

/* detail_body */
#detail_body h2,#my_list_page .content h2,.txt_page .content h2{
    font-size: 20px;
    background: #EFEFEF;
    border-left: #000 solid 3px;
    padding: 1em;
    margin-bottom: 2em;
}
@media (max-width: 1000px) {
    #detail_body h2,#my_list_page h2,.txt_page h2{
        margin-bottom: 1em;
    }
}
#detail_body h3{
    margin: 0 0 30px;
    padding: 0;
    padding-bottom: 0.5em;
    border-bottom: 4px solid #004098;
    border-image: linear-gradient(to right, #004098 20%, #88A5D0 20%);
    border-image-slice: 1;
    font-size: 20px;
}
#detail_body h4{
    background-color: #EFEFEF;
    color: #004098;
    font-size: 18px;
    padding: 0.5em;
}
#detail_body h5{
    color: #004098;
    font-size: 18px;
}
#detail_body h5:before{
    content:"■";
}
#detail_body h6{
    color: #004098;
    font-size: 18px;
    border: double #004098;
}
#detail_body .item_ct h3{
    margin: 0 0 30px;
    padding: 0;
    border-bottom: none;
    border-image: none;
}
 #detail_body .design_sub_ct h3{
    margin: 0 0 30px;
    padding: 0;
    border-bottom: none;
    border-image: none;
    font-size: 26px;
}
#detail_body .grid2{
    grid-template-columns: 45% 45%;
    grid-column-gap:10%;
    grid-row-gap:30px;
    max-width: 100%;
    padding-bottom: 20px;
}
#detail_body .grid3{
    grid-auto-flow:column;
    grid-column-gap:80px;
    max-width: 100%;
}
#detail_body .title_txt{
    font-size: 27px;
    font-weight: bold;
    margin-bottom: 1em;
}
#detail_body .catalog_bt{
    position: relative;
    /*background: url("../img/header4.png");*/
	background: url("../img/catalog_dl_btn_background.jpeg");
    background-size: auto;
    padding: 70px 0;
}
#detail_body .catalog_bt div{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit- transform: translateY(-50%) translateX(-50%);
}
#detail_body .catalog_bt a{
    position: relative;
    display: block;
    background: url("../img/catalog_bt.png") no-repeat;
    background-size: contain;
    background-position-x: center;
    background-position-y: center;
    max-width: 1000px;
    width: 100%;
    padding: 5% 0 15%;
    color: #FFF;
    margin: 0 auto;
    text-align: center;
    font-size: 200%;
    font-weight: bold;
}
@media (max-width: 880px) {
    #detail_body h2,#my_list_page h2,.txt_page h2, #detail_body .title_txt, #detail_title .design_sub_ct .content > .txt_ct h3{
        font-size: 20px;
        padding: 0.5em;
    }
    #detail_body h1.title_txt{
        padding-bottom: 30px;
    }
    main #detail_body > .content{
        padding: 15px;
    }
    #detail_body .catalog_bt{
        padding: 21px 0;
    }
    #detail_body .catalog_bt a {
        padding: 5% 0 25%;
    }
}
#detail_body .catalog_bt span{
    display: inline-block; 
    border-bottom: #FFF solid 2px;
    white-space: nowrap;
    margin-left: 0.5em;
}
#detail_body .catalog_bt span img{
    width: 1em;
}
#detail_body .bts_bt{
    /*background: url("../img/header4.png");*/
	background: url("../img/catalog_dl_btn_background.jpeg");
    background-size: contain;
    margin-bottom: 50px;
}
#detail_body .bts_bt a{
    display: block;
    background-color:rgba(0,0,0,0.5);
    border: #FFF solid 1px;
    padding: 20px;
    color: #FFF;
    text-align: center;
    font-size: 150%;
    font-weight: bold;
    /*margin: 0 0 45px;*/
}
#detail_body .bts_bt a img{
    margin-right: 0.5em;
}
#detail_body .bts_bt a.only_bt{
    float: none;
    margin: 0 auto;
}
#detail_body .bts_bt span{
    display: block;
    border-bottom: #FFF solid 2px;
}
#detail_body .youtube_ct {
    width: 100%;
    max-width: 1000px;
    aspect-ratio: 16 / 9;
    margin: 0 auto;
    position: relative;
}
#detail_body .youtube_ct iframe{
    margin-bottom: 2em;
}
#detail_body .youtube_ct p{
    display: block;
    text-align: center;
    font-size: 16px;
}
#detail_body .table_ct table{
    border-collapse: collapse;
    border-spacing: 0;
    table-layout: fixed;
    width: 100%;
    margin-bottom: 1em;
}
#detail_body .table_ct{
    width: 100%;
    overflow: auto;
}
#detail_body .table_ct table th, #detail_body .table_ct table td{
    border: #FFF solid 1px;
    padding: 20px;
}
#detail_body .table_ct table thead th{
    background: #363636;
    color: #FFF;
}
#detail_body .table_ct table thead th.th_th{
    width: 33%;
}
#detail_body .table_ct table tbody th{
    background: #686868;
    color: #FFF;
}
#detail_body .table_ct p{
    font-size: 14px;
}
#detail_body .contact_bt a{
    background-position: 95px;
    background-color: #004098;
    display: block;
    padding: 25px 0;
    width: 350px;
    line-height: 0;
    font-size: 18px;
    color: #FFF;
    text-align: center;
    margin: 0 auto;
    white-space: nowrap;
}
#detail_body .contact_bt a img{
    margin-right: 0.5em;
}
#detail_body .design_sub_ct{
    min-height: 400px;
}
#detail_body .design_sub_ct .txt_ct{
    position: relative;
}
#detail_body .design_sub_ct .number{
    position: absolute;
    right: 30px;
    top: -49px;
    font-style: normal;
    font-weight: bold;
    font-size: 118px;
    color: #E6E6E6;
    line-height: 0;
}
#detail_body .more_black_bt{
    background-image: none;
}
#detail_body .more_black_bt i{
    margin-left: 1em;
}
#detail_body .more_black_bt.close{
    float: none;
    text-shadow: none;
}
#detail_body .black_next_ct{
    margin: 0 auto;
    max-width: 410px;
}
#detail_body .black_next_ct.mb-5:last-of-type {
    margin-bottom: 0;
}
#detail_body .black_next_bt{
    line-height: 180%;
    height: 5.5em;
    position: relative;
}
#detail_body .black_next_bt span{
    display: block;
    position: absolute;
    white-space: nowrap;
    width: 238px;
    top: 50%;
    left: 0;
    padding-left: 1em;
    transform: translateY(-50%) translateX(0%);
    -webkit- transform: translateY(-50%) translateX(0%);
}
#detail_body .black_next_bt.link_span span{
    margin-left: -50px;
    left: 52px;
    transform: translateY(-50%) translateX(0);
    -webkit- transform: translateY(-50%) translateX(0);
}
#detail_body .black_next_bt span b{
    vertical-align:middle;
}
#detail_body .info_ct img{
    width: 100%;
    max-width: 700px;
    margin: 0 auto 2em;
    display: block;
}
@media (min-width: 1001px) {
    #detail_body .info_ct.flex{
        display: flex;
        gap: 80px;
    }
    #detail_body .info_ct.flex > div:last-of-type{
        flex: 1;
    }
}
#detail_body .info_ct p{
    text-align: center;
}
#detail_body .info_ct.flex p{
    text-align: left;
}
#detail_body .grid1 p{
    text-align: center;
}
#detail_body .info_ct .indent_txt{
    text-align: left;
    padding-left: 1.5em;
}
@media (max-width: 1000px) {
    #detail_body .info_ct .indent_txt{
        padding-left: 0;
    }
}
#detail_body ol{
    padding-left: 1.5em;
}
#detail_body ol li { list-style:none; }
#detail_body ol li:before { content:"- " }
@media (min-width: 1001px) {
    #detail_body .bts_bt{
        text-align: center;
    }
    #detail_body .bts_bt a{
        display: inline-block;
        width: 45%;
    }
    #detail_body .bts_bt a:first-of-type {
        margin-right: 20px;
    }
}
@media (max-width: 1000px) {
    #detail_body > h2{
        margin: 0 25px 25px;
    }
    #detail_body .catalog_bt{
        margin-bottom: 3em;
    }
    #detail_body .catalog_bt a{
        font-size: 100%;
    }
    main #detail_body  .design_sub_ct .content{
        padding: 0;
    }
    #detail_body  .design_sub_ct img{
        max-width: 90%;
    }
    #detail_body .easy_ct .design_sub_ct img {
        max-width: 100%;
    }
    #detail_body  .number{
        display: none;
    }

    #detail_body  .design_ct .flex_ct > div.txt_ct {
        margin: 1.5em;
        padding-right: 0;
        margin-bottom: 0;
        padding: 1em;
    }
    #detail_body  .design_ct .txt_ct p {
        display: block;
        min-height: auto;
        margin: 0 0 1em;
    }
    #detail_body .design_ct span.sm_view{
        display: inline;
        margin-right: 0.5em;
    }
    #detail_body  .design_ct .flex_ct{
        display: block;
    }
    #detail_body  .design_ct .flex_ct > div,.design_ct .flex_ct > div.txt_ct {
        float: none;
    }
    #detail_body  .design_ct .flex_ct > div {
        width: auto;
        float: none;
        text-align: left;
    }
    .design_ct .flex_ct > div:first-of-type {
        margin:0 auto 2em 40px;
        margin: 0 0 2em;
        margin-left: 15px;
    }
    .number_ct.design_ct .design_sub_ct {
        margin-left: 1em;
    }
    #detail_body .design_ct .flex_ct img {
        max-width: 365px;
        float: none;
        margin-left: -1em;
    }
    #detail_body .design_ct .right {
        text-align: center;
    }
    .design_ct .flex_ct{
        display: block;
    }
    .design_ct .flex_ct .txt_ct{
        clear: both;
    }
    #detail_body .table_ct table{
        width:100%;
        table-layout: inherit;
        white-space: inherit;
        -webkit-overflow-scrolling: touch; /* スマホでなめらかスクロール */
        overflow-x: scroll; /* 横スクロール処理 */
        white-space:nowrap;/* 自動改行させない */
    }
    #detail_body .black_next_bt span{
        padding: 10px;
        font-size: 90%;
    }
    #detail_body .info_ct{
        padding: 15px;
        text-align: center;
        width: 100%;
        /*padding: 0 20px;*/
    }
    #detail_body .grid .info_ct{
        padding: 0 15px 2em;
    }
    #detail_body .info_ct .title_txt{
        font-size: 120%;
        margin: 0 0 0.5em;
    }
    #detail_body .info_ct img{
        margin-bottom: 1em;
        width: 100%;
    }
    #detail_body .info_ct .title_txt, #detail_body .info_ct p{
        text-align: left;
    }
    #detail_body .bts_bt a {
        margin-bottom: 20px;
    }
    #detail_body .youtube_ct iframe{
        margin-bottom: 1em;
    }
    #detail_body .indent_txt{
        padding-left: 0;
    }
    #detail_body .bts_bt {
        margin-bottom: 0;
    }
    #detail_body .bts_bt .content{
        padding-left: 30px;
        padding-right: 30px;
    }
}




/*///////////////////////////////////////////////////////
 my_list_page
//////////////////////////////////////////////////////*/

#my_list_page .black_next_bt{
    float: right;
    width: 267px;
    position: absolute;
    right: 10px;
    top: 11px;
    height: 45px;
}
#my_list_page .black_next_bt i{
    max-width: 48px;
}
#my_list_page .grid4{
    padding-top: 40px;
}
#my_list_page .grid4 .item_ct .icons_ct{
    right:0;
}
#my_list_page .grid4 .item_ct .icon_new{
    left:0;
}
#my_list_page .item_ct{
    padding: 25px 0;
}
#my_list_page .img_ct{
    display: block;
    margin-bottom: 1em;
}
#my_list_page .item_txt{
    display: block;
    padding: 2em 1em 1em;
    background-color: #EFEFEF;
    position: relative;
}
#my_list_page .item_txt{
    display: block;
	min-height: 179px;
}
#my_list_page .item_ct .taxonomy{
    display: block;
}
#my_list_page .word_ct {
    padding-top: 2em;
    margin-bottom: 2em;
}
#my_list_page .word_ct .set_word{
    background: #000;
    border-radius: 0;
    color: #FFF;
}
#my_list_page .title_ct > .min_content{
    max-width: 1128px;
}
@media (max-width: 1000px) {
    #my_list_page .title_ct > .min_content > h2{
        padding-left: 0;
        line-height: 100%;
        margin-bottom: 0;
        margin-left: 0;
        font-weight: bold;
    }
}
#my_list_page .content{
    position: relative;
}
#my_list_page .content > .black_next_bt{
    top: 24px !important;
}
#my_list_page .key_h{
    position: relative;
}
#my_list_page .grid3{
    clear: both;
}
#my_list_page .user_info{
    float: right;
    display: flex;
    gap:30px;
}
#my_list_page .user_info .bold{
    font-size: 20px;
}
#my_list_page .user_info .blue_bt{
    padding: 15px 45px;
    white-space: nowrap;
}
#my_list_page .content{
    clear: both;
}

/*///////////////////////////////////////////////////////
 seminar_page 
//////////////////////////////////////////////////////*/

#seminar_page #detail_title h3 {/*セミナーのみ*/
    padding-top: 0.5em;
}



/*///////////////////////////////////////////////////////
 txt_page 
//////////////////////////////////////////////////////*/

.txt_page ol{
    counter-reset: item;
    list-style-type: none;
}
.txt_page > .min_content{
    padding-bottom: 100px;
}
.txt_page li{
    font-weight: initial;
    font-size: 16px;
    display: block;
    margin-bottom: 1em;
}
.txt_page li h3{
    display: inline;
    font-size: 30px;
    font-weight: initial;
    line-height: 100%;
}
.txt_page > ul > li > p{
    display: block;
    padding-left: 1.5em;
    margin:2em 0 0.8em; 
    line-height: 2em;
}
.txt_page li li p::first-letter{
    padding-left: 1.3em;
}
.txt_page li li:before {
    counter-increment: item;
    margin-right: 0.5em;
}
.txt_page .min_content > ol > li{
    padding-bottom: 2em;
}
.txt_page .min_content > ol > li > p{
    padding-left: 2.5em;
}
.txt_page .min_content > ol > li > ol > li{
    padding-left: 0.8em;
    margin-bottom: 0.8em;
}
.txt_page .min_content > ol > li > ol > li:before {
    display: inline-block;
    content: counter(item)'.';
    font-size: 20px;
    color: #3B619B;
    margin-right: 0px;
    padding-left: 0.5em;
}
.txt_page .blue_bt{
    display: inline-block;
    width: auto;
    padding: 30px 60px;
    font-size: 20px;
    letter-spacing: 0.3em;
}
.txt_page .min_content > ol > li > ol > li p{
    padding-left: 1.2em;
    margin-top: -1.5em;
}
@media (max-width: 1000px) {
    .txt_page ol{
        padding-left: 0;
    }
    .txt_page .min_content > ol > li > p {
        padding-left: 1em;
    }
}



/*///////////////////////////////////////////////////////
 membership_page
//////////////////////////////////////////////////////*/

#membership_page .min_content > ol > li > ol{
    margin-top: 3em;
}
#membership_page .min_content > ol > li > ol > li{
    margin-bottom: 2em;
}
#membership_page .min_content > ol > li > ol > li:before {
    content: counter(item);
    color: #3B619B;
    background: #F2F2F2;
    font-size: 20px;
    font-weight: initial;
    line-height: 0;
    letter-spacing:0;
    padding: 0 0.5em;
    margin-right: 1em;
}
#membership_page .min_content > ol > li > ol > li p{
    padding-left: 2em;
}



/*///////////////////////////////////////////////////////
 expo_page
//////////////////////////////////////////////////////*/

main #expo_title .content{
    position: relative;
    padding-top: 0;
    padding-bottom:0;
    /*min-height: 100px;*/
}
main #expo_title .sbts{
    position: absolute;
    right: 50px;
    top: 50px;
}
main #expo_title .sbts .icon_new{
    display: none;
}
main #expo_title .h_bts{
    position: absolute;
    right: 50px;
    bottom: 50px;
    display: grid;
    grid-template-columns: 45% 45%;
    grid-column-gap:10%;
}
main #expo_title .h_bts .blue_bt {
    padding: 10px;
    font-size: 14px;
    line-height: 180%;
    min-width: 200px;
}
#expo_img img{
    max-width: 100%;
}
.expo_menu{
    background-color: #000;
}
.expo_menu .content{
    margin-bottom: 0;
}
.expo_menu .ulnone{
    display: flex;
    width: 100%;
    border-left: #FFF solid 1px;
    border-right: #FFF solid 1px;
}
.expo_menu .ulnone li{
    width: 25%;
}
.expo_menu .ulnone a{
    display: block;
    height: 100%;
    padding-top: 20px;
    border-left: #FFF solid 1px;
    border-right: #FFF solid 1px;
    padding-right: 30px;
    background-image: url("../img/event-arrow.png");
    background-repeat: no-repeat;
    background-position: right 15px center;
}
.expo_menu .ulnone a span{
    white-space: nowrap;
}
.expo_info{
    color: #FFF;
    background-color: #004098;
}
#expo_title .expo_info .content{
    font-size: 32px;
    padding-top: 25px;
    padding-bottom: 25px;
}
#expo_page #carouselExampleIndicators{
    max-width: 800px;
    margin: 0 auto;
}
.expo_info h1{
    font-size: 32px;
}
.expo_info .info_txt{
    display: grid;
    grid-template-columns: 33% 33% 33%;
    font-size: 16px;
}
.expo_info .info_txt .title_txt{
    position: relative;
}
.expo_info .info_txt .title_txt span{
    margin: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    margin-right: -50%;
    transform: translate(-50%, -50%)
}
.expo_info .info_txt > div{
    display: grid;
    grid-template-columns: 100px 1fr;
    grid-column-gap:20px;
}
.expo_info .info_txt > div > div{
    border: #FFF double 3px;
    text-align: center;
}
.expo_info .info_txt > div > p{
    padding-top: 3px;
    margin-bottom: 0;
}
@media (min-width: 1001px) {
    #expo_title{
        background-color: #C6D8E6;
        background: linear-gradient(90deg, rgba(229,234,238,1) 49%, rgba(198,216,230,1) 51%);
    }
}
@media (max-width: 1000px) {
    #expo_img .content{
        padding: 0;
    }
    main #expo_title .sbts {
        right: 14px;
        top: 18px;
    }
    .expo_info{
        padding: 0 30px;
    }
    .expo_info h1#page_title{
        text-align: center;
    }
    .expo_info .info_txt{
        grid-template-columns: 1fr;
        grid-row-gap: 1em;
    }
    .rev_row{
        display: flex;
        flex-direction: column-reverse;
    }
    .sm_h_bts{
        display: grid;
        grid-template-columns: 50% 50%;
        width: 100%;
        margin-bottom: 2em;
    }
    .white_bt{
        display: block;
        border: #063B87 solid 1px;
        padding: 10px 20px;
        background: url("../img/blue_ya.png") no-repeat;
        background-position: right 20px center;
        color: #00317B;
    }
    .white_bt:first-of-type{
        border-right: none;
    }
    .expo_menu{
        background: none;
        padding-top: 2em;
    }
    .expo_menu .ulnone{
        display: block;
        border: none;
    }
    .expo_menu .ulnone li{
        width: 100%;
        max-width: 300px;
        border: none;
        margin: 0 auto 10px;
    }
    .expo_menu .ulnone a span {

    }
    .expo_info {
        margin-bottom: 1em;
    }
    #expo_page .product_ct{
        margin-bottom: 0;
        display: flex;
        flex-wrap: wrap;
    }
    #expo_page .product_ct li{
        margin-bottom: 0;
    }
}

.single_bt{
    text-align: center;
}

.single_bt .mb-5{
    margin-bottom: 1em !important;
}
.single_bt .blue_bt{
    width: 350px;
    margin: 0 auto;
    padding: 45px;
}

/* boots_ct */
.boots_ct{
    position: relative;
    margin: 0 auto;
    max-width: 813px;
}
.boots_ct img{
    width: 100%;
}
.boots_ct a{
    display: block;
    position: absolute;
    background: url("../img/point_icon.png") no-repeat;
    background-size: cover;
    font-size: 26px;
    font-weight: bold;
    width: 11.5%;
    aspect-ratio: 3 / 4;
    padding-top: 3%;
    text-align: center;
    top:10px;
    left: 10px;
}
.boots_ct a.point1{
    top: 29%;
    left: 7%;
}
.boots_ct a.point2{
    top: 29%;
    left: 30%;
}
.boots_ct a.point3{
    top: 19%;
    left: 61%;
}
.boots_ct a.point4 {
    top: 29%;
    left: 78%;
}
@media (max-width: 1000px) {
    .boots_ct a {
        padding-top: 1%;
    }
}



.modal.fade .modal-dialog {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
}
.modal-dialog {
    width: 100%;
    max-width: 1088px;
    margin: 50px auto 0;
}
.modal-content{
    position: relative;
    padding: 127px 97px 90px; 
    margin: 0 auto;
}
.modal-content .close_bt{
    position: absolute;
    width: 33px;
    top:34px;
    right: 34px;
}
.modal-content .link_bt{
    display: block;
    color: #004098;
    border: #004098 solid 1px;
    padding: 10px 20px;
    margin: 0 auto;
}
.modal-content .link_bt img{
    width: 77px;
}
@media (max-width: 1000px) {
    .modal{
        padding-left: 17px;
    }
    .modal-content{
        padding: 50px 25px 25px; 
    }
    .modal-content .close_bt{
        width: 23px;
        top: 15px;
    }
}


.left_bt .blue_bt{
    background-color: #004098;
    display: block;
    width: 350px;
    margin: 0 auto;
    padding: 25px;
    position: relative;
    padding-left: 110px;
    text-align: left;
}

#expo_page > #detail_body > .glay_ct{
    text-align: center;
    font-weight: bold;
    font-size: 21px;
    color: #004098;
}
#expo_page .blue_bt i{
    position: absolute;
    width: 33px;
    height: 27px;
    top: 44px;
    left: 50px;
    background-color: #004098;
}
#expo_page .blue_bt.mail_icon{
    padding-left: 100px;
}


/* carousel_ct */
.access_ct .blue_line_ct:first-of-type{
    margin-bottom: 30px;
}
.access_ct .grid{
    grid-template-columns:45% 45%;
    grid-column-gap:10%;
}
.access_ct .grid iframe{
    width: 100%;
    height: 100%;
}
.access_ct .blue_line_ct{
    border-left: #004098 solid 2px;
    padding: 20px 30px;
}
#detail_body .access_ct .blue_line_ct h3{
    border: none;
    color: #004098;
    padding-bottom: 0;
    margin-bottom: 1em;
}
@media (max-width: 1000px) {
    .access_ct .grid iframe{
        height: 270px;
        margin-bottom: 2em;
    }
    .access_ct .blue_line_ct{
        border: none;
    }
    #detail_body .access_ct .blue_line_ct h3 {
        border-left: #004098 solid 2px;
        padding: 15px;
    }
    .access_ct .blue_line_ct:first-of-type{
        padding: 15px;
        margin-bottom: 15px;
    }
    .carousel_ct{
        padding: 15px;
    }
}


/* carousel_ct */
.carousel_ct > .ulnone{
    display: flex;
    flex-wrap : wrap;
    width: 100%;
    gap:30px;
    padding-top: 30px;
}
.carousel_ct > .ulnone li{
    width: 134px;
    cursor: pointer;
}
.carousel_ct .ulnone img{
    width: 100%;
}
.info_bt_ct .blue_bt{
    font-size: 14px;
    padding: 15px 0;
    width: 370px;
    margin-bottom: 15px;
}
.info_bt_ct .blue_bt:last-of-type{
    margin-bottom: 0;
}
.carousel-indicators {
    z-index: 1;
}
@media (max-width: 1000px) {
    .carousel_ct > .ulnone{
        gap:10px;
    }
    main .content, .form {
        padding: 25px 15px 25px;
    }
    .info_bt_ct .blue_bt{
        margin-top: 1.5em;
        width: 100%;
    }
    .carousel_ct > .ulnone li{
        width: 103px;
    }
}



/*///////////////////////////////////////////////////////
 privacy_page
//////////////////////////////////////////////////////*/

#privacy_page p{
    padding-top: 2em;
}
@media (max-width: 1000px) {
    #privacy_page p{
        padding-top: 0.5em;
        margin-bottom: 2em;
    }
}



/*///////////////////////////////////////////////////////
 item_detail
//////////////////////////////////////////////////////*/

#item_detail #detail_title{
    overflow: hidden;
}
#item_detail #detail_title > .back_ct{
    z-index: -2;
    top: 179px;
    height: 100%;
}
/*
#item_detail #detail_title > .back_ct2{
    position: absolute;
    z-index: -1;
    top: 102px;
    background: #FFF;
    height: 100%;
    width: 15%;
    min-width: 250px;
}
*/




/*///////////////////////////////////////////////////////
form_page
//////////////////////////////////////////////////////*/

.form_page > .title_ct{
    background: url("../img/header3.png") no-repeat;
    background-size: cover;
    margin-bottom: 65px;
}
.form_page .min_content{
    max-width: 1088px;
    margin-bottom: 5em;
}
@media (max-width: 1000px) {
    .form_page .min_content{
        padding-left: 15px;
        margin-bottom: 0;
    }
    .form_page > .title_ct {
        margin-bottom: 0;
    }

}
.form_page p{
    font-size: 20px;
    padding: 1em 2em;
    margin-bottom: 2em;
}
@media (max-width: 1000px) {
    .form_page p{
        padding: 0.5em;
        font-size: 16px;
    }
}
.form_page p.small_txt{
    font-size: 17px;
    padding: 0;
}

.flow_ct{
    display: flex;
}
.flow_ct .flow_blk{
    position: relative;
    text-align: center;
    color: #004098;
    font-size: 26px;
    width: 100%;
    margin: 0 auto;
    margin-bottom: 72px;
    border-bottom: #7D7D7D solid 2px;
    color: #7D7D7D;
}
@media (max-width: 1000px) {
    .flow_ct .flow_blk{
        font-size: 15px;
        padding-top: 2em;
    }
}
.flow_ct img{
    padding: 12px 10px 0;
}
.flow_ct .flow_blk.selected{
    background: url("../img/list_down.png") no-repeat;
    background-position:center bottom;
    padding-bottom: 30px !important;
    margin-bottom: 60px !important;
    border: none;
    color: #00317B;
}
.form_page form label{
    font-size: 20px;
}
.form_page form label a, .form_page form p a{
    color: #3B619B;
}
.form_page .blue_border{
    border: #00317B 1px solid;
}
.form_page .grid_form form fieldset, .form fieldset{
    width: 100%;
    margin-bottom: 4em;
}
@media (min-width: 1001px) {
    .form_page .grid_form form fieldset, .form fieldset{
        display: grid;
        grid-template-columns: 0.4fr 1fr;
        grid-column-gap:37px;
    }
}
@media (max-width: 1000px) {
    .form_page .grid_form form fieldset, .form fieldset{
        margin-bottom: 2em;
    }
}
.form_page .grid_form form fieldset legend,.form .req-text{
    display: none;
}
.form_page .grid_form form .req-text{
    display: none;
}
.form_page .grid_form form fieldset label, .form fieldset label{
    display: inline-block;
    position: relative;
    padding-top: 20px;
    font-weight: bold;
    margin-bottom: 2em;
    width: 265px;
}
@media (max-width: 1000px) {
    .form_page .grid_form form fieldset label, .form fieldset label{
        margin-bottom: 0;
    }
}
.form_page .grid_form form label span,.form label span{
    position: absolute;
    top: 10px;
    right: 0;
    font-style: normal;
    /*color: #FFF !important;*/
    color: #CB202D !important;
    padding: 8px 15px;
    line-height: 100%;
    font-size: 2em;
    line-height: 100%;
}
@media (max-width: 1000px) {
    .form_page .grid_form form label span,.form label span{
        position: relative;
        top: 16px;
    }
}
.form_page form .div_text{
}
@media (max-width: 1000px) {
    .form_page form .div_text label{
        max-width: 90%;;
    }
}
.form .link-text, .wpmem_msg{
    text-align: center;
    padding: 2em;
}
.form input[type=text],
.form input[type=email],
.form input[type=password],
.form select,
.form_page form input[type=text],
.form_page form input[type=email],
.form_page form input[type=password],
.form_page form select{
    border: none;
    background: #F2F2F2;
    border-radius: 10px;
    padding: 0.5em 1em;
    font-size: 20px;
    margin-bottom: 2em;
    width: 100%;
}
@media (max-width: 1000px) {
    .form input[type=text],
    .form input[type=email],
    .form input[type=password],
    .form select,
    .form_page form input[type=text],
    .form_page form input[type=email],
    .form_page form input[type=password],
    .form_page form select{
        margin-bottom: 1em;
    }
}
.form_page form select{
    width: 50%;
    -webkit-appearance: none;
    appearance: none; /* デフォルトの矢印を非表示 */
    background-image: url("../img/select_icon.png");
    background-position: right 15px center;
    background-repeat: no-repeat;
}
@media (max-width: 1000px) {
    .form_page form select{
        width: 100%;
    }
}
.form_page form .center{
    margin-bottom: 5em;
}
.form_page .forget_ct{
    text-align: right;
    padding: 0;
}
.form_page .forget_ct a{
    font-size: 22px;
    color: #0080FF;
    margin-bottom: 2em;
}
.form_page form .blue_bt {
    width: 100%;
    max-width: 350px;
    border: none;
    width: 350px;
    margin: 0 auto 2em;
}
.form_page form .glay_bt, .form .glay_bt {
    margin: 0 auto 2em;
    display: block;
}
.form .glay_bt {
    margin-top: 2em;
}
.form_page .grid.img_view {
    grid-template-columns: 1fr 1fr;
    grid-column-gap:37px;
}
.form_page .grid.img_view p{
    font-size: 18px;
    padding: 0;
}
.form_page img{
    width: 100%;
}
@media (max-width: 880px) {
    .form_page .min_content .content{
        padding: 0;
    }
    .form_page .even_back{
        margin-bottom: 2em;
        padding: 2em 0;
    }
    .form_page .even_back img{
        margin-bottom: 2em;
    }
}
#wpmem_reg input[type=checkbox] {
    opacity: 0;
    width: 28px;
} /* to hide the checkbox itself */
#wpmem_reg input[type=checkbox] + label:before {
    display: inline-block;
    width: 28px;
    height: 28px;
    margin-right: 1.5em;
}

#wpmem_reg input[type=checkbox] + label{
    position: relative;
}
#wpmem_reg input[type=checkbox] + label:before { 
    content: " ";
    background: url("../img/Icon_awesome-check-square2.png") no-repeat;
    position: absolute;
    left: -40px;
    top: 1px;
}

#wpmem_reg input[type=checkbox]:checked + label:before {
    content: " ";
    background: url("../img/Icon_awesome-check-square.png") no-repeat;
}
.form_page.conform input, .form_page.conform select,.form_page.conform input:disabled, .form_page.conform select:disabled{
    background: #FFF;
    color: #000;
    pointer-events: none;
}
.form_page.conform label span{
    display: none;
}
.form_page h1{
    background: none;
    margin-bottom: 1em;
}
.form_page form .password_ct{
    position: relative;
}
.edit_page.form_page form .password_ct{
    display: none;
}
.form_page form .password_ct input{
    width: 100%;
}
.form_page form .password_ct a {
    width: 33px;
    height: 31px;
    background: url("../img/Icon_material-remove-red-eye.png") no-repeat;
    position: absolute;
    top: 16px;
    right: 16px;
}
.form_page form .password_ct a.close_eye {
    background: url("../img/Icon_material-remove-red-eye-close.png") no-repeat;
    top: 12px;
    right: 16px;
}
.form_page .grid_form form .flex_input label {
    display: none;
}
.form_page form .flex_input input{
    width: 48%;
    display: inline-block;
}
.form_page form .flex_input input:first-of-type{
    /*margin-right: 4%;*/
}
.form_page form .flex_input.first_name_ct {
	display: flex;
	flex-flow: row-reverse;
	gap: 0 4%;
}
.form_page form #username{
    /*display: none;*/
}
.form_page form p{
    text-align: center;
    font-size: 18px;
}
.form_page form p.noinput{
    text-align: left;
    padding: 0;
}
.form_page form.conform p.noinput{
    padding-top: 1.5em;
}
.form_page form.conform .glay_bt, .form .conform_ct .glay_bt {
    display: none;
}
.form_page form.conform .glay_bt,.form_page form.conform .blue_bt{
    display: inline-block;
}
.form_page form.conform .glay_bt{
    margin-right: 1em;
}
.form_page form .gray_back{
    background-color: #D5D5D5;
}
.form_page form .conform_ct{
    display: none;
    text-align: center;
}
.form_page .conform fieldset input,.form_page .conform fieldset select,.form_page input:disabled, .form_page select:disabled{
    background: #FFF !important;
    margin-bottom: 0;
    padding-top: 1.5em;
    color: #000;
}
.form_page .conform fieldset label span{
    display: none;
}
.form_page .conform fieldset label,
.form_page .conform fieldset .div_text,
.form_page .conform fieldset .div_select{
    border-bottom: #707070 solid 1px;
}
.form_page .grid_form form.conform fieldset label{
    padding-top: 1.5em;
    padding-bottom: 2em;
    margin-bottom: 0;
}
.form_page .grid_form form.conform fieldset .password_ct a{
    display: none;
}
.form_page .blue_bt{
    max-width: 400px;
    margin: 0 auto 1.5em;
}
.form_page .blue_bt:last-of-type{
    margin-bottom: 0;
}
@media (max-width: 1000px) {
    .form_page .blue_bt:last-of-type{
        margin-bottom: 1.5em;
    }
}
.form_page .input_newsletter_ct,.form_page .input_privacy_ct,.form_page .input_membership_ct{
    text-align: center;
    margin-bottom: 2em;
}
.form_page .input_privacy_ct .req, .form_page .input_membership_ct .req{
    display: none;
}
.conform_txt{
    display: none;
}
.newsletter_dummy span{
    display: none;
}




/*///////////////////////////////////////////////////////
login_page
//////////////////////////////////////////////////////*/

#login_page .grid_form{
    margin-bottom: 0;
}
#login_page .lg_border_ct{
    font-size: 22px;
    position: relative;
    text-align: center;
    width: 350px;
    margin: 0 auto 2em;
}
#login_page .glay_line{
    z-index: -1;
    border-bottom: 2px solid #707070;
    border-image: linear-gradient(to right, #707070 0%, #707070 33%, #FFF 33%, #FFF 66%, #707070 66%);
    border-image-slice: 1;
    margin-top: -0.7em;
}
#login_page .link-text{
    display: none;
}
#login_page .button_div{
    text-align: center;
}
#login_page .button_div label{
    margin-bottom: 2em;
}
#login_page legend{
    display: none;
}
#login_page .form fieldset{
    margin-bottom: 0;
}
#login_page .login_bts{
    text-align: center;
}
#login_page .form{
    padding-bottom: 25px;
}
#login_page .title_ct, #login_page .title_ct .min_content{
    margin-bottom: 0;
}
#login_page .wpmem_msg{
    margin-top: 2em;
}




/*///////////////////////////////////////////////////////
my_list_page
//////////////////////////////////////////////////////*/

#my_list_page ul.word_list{
    list-style: none;
    margin: 0;
    padding: 0;
	margin-bottom: 50px;
}
#my_list_page .word_list li{
    display: inline-block;
    background: #F2F2F2;
    border: #B7B7B7 solid 1px;
    padding: 0.3em;
    margin-bottom: 1em;
    margin-right: 0.5em;
    border-radius:5px;
    cursor: pointer;
}
#my_list_page .glay_back{
    padding: 1em;
    background: #F2F2F2;
}
#my_list_page .word{
    padding: 1.2em;
    background: #F2F2F2;
    position: relative;
    margin-bottom: 1em;
}
#my_list_page .word .del_bt{
    position: absolute;
    display: inline-block;
    background: url("../img/Icon_feather-trash-2.png") no-repeat;
    background-size: cover;
    width: 27px;
    height: 30px;
    right: 10px;
    top: 10px;
}
#my_list_page .word.copy, #my_list_page .word_list li.copy{
    display: none;
}



/*///////////////////////////////////////////////////////
my_keyword
//////////////////////////////////////////////////////*/

#my_keyword_title{
    position: relative;
}
#my_list_page #my_keyword_title .black_next_bt {
    height: 42px;
}
@media (max-width: 1000px) {
    #my_list_page #my_keyword_title .black_next_bt {
        margin-top: -70px;
        margin-right: -10px;
    }
    #my_keyword_title{
        margin-top: 70px;
    }
}

#my_keyword_title .black_next_bt span {
    font-size: 16px;
}
#my_list_page .min_conten, #regist_page .min_content{
    position: relative;
}
#my_list_page .title_ct .blue_bt, #regist_page .title_ct .blue_bt{
    position: absolute;
    bottom: 20px;
    right: 0;
    padding: 10px 45px;
}
#regist_page .login_bts{
    text-align: center;
}
#regist_page .login_bts .glay_bt{
    max-width: 400px;
}
#alert_txt{
    display: none;
}
#billing_postcode{
    width: 50%;
}

/*///////////////////////////////////////////////////////
office_page
//////////////////////////////////////////////////////*/

.office_page h2 img{
    height: 50px;
    width: auto;
    float: right;
    margin-top: -0.7em;
    margin-right: -0.5em;
}
.office_page .table_ct{
    margin-bottom: 5em;
}
.office_page .table_ct th{
    width: 290px;
}
.office_page .table_ct a{
    text-decoration: underline;
}
.elevator{
    position: relative;
}
.elevator select{
    position: absolute;
    width: 180px;
    background-image: linear-gradient(45deg, transparent 50%, gray 50%), linear-gradient(135deg, gray 50%, transparent 50%), linear-gradient(to right, #ccc, #ccc);
    background-position: calc(100% - 20px) calc(1em + 2px), calc(100% - 15px) calc(1em + 2px), calc(100% - 2.5em) 0.5em;
    background-size: 5px 5px, 5px 5px, 1px 1.5em;
    background-repeat: no-repeat;
    background-color: #EFEFEF;
    border: thin solid #004098;
    display: inline-block;
    line-height: 1.5em;
    padding: 0.5em 3.5em 0.5em 1em;
    margin: 0;
    box-sizing: border-box;
    -webkit-appearance: none;
}
.elevator select.select_elevator{
    background-color: white;
}
@media (max-width: 1000px) {
    .office_page h2 img{
    }
}




/*///////////////////////////////////////////////////////
concept_page
//////////////////////////////////////////////////////*/

.concept_page p{
    font-size: 22px;
}
.concept_page .content{
    max-width: 1120px;
}
.concept_page .concept_title_ct{
    position: relative;
    padding-top: 100px;
    margin-bottom: 8em;
}
.concept_page .back_ct{
    position: absolute;
    background: #F2F2F2;
    width: 100%;
    height: 545px;
    z-index: -2;
    top: 90px;
}
.concept_page .back_zero{
    position: absolute;
    z-index: -1;
    top: -63px;
    left: 187px;
    width: 35%;
}
.concept_page .main_img{
    margin-bottom: 2em;
    width: 100%;
}
.concept_page .flex_ct{
    gap: 50px;
}
.concept_page .text_ct{
    position: relative;
}
.concept_page .text_ct img{
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}
#detail_body.concept_page .text_ct h2{
    position: relative;
    background: none;
    border: none;
    text-align: center;
    font-size: 60px;
    padding: 60px 0 0;
    font-weight: bold;
}
#detail_body.concept_page .text_ct h2 span{
    display: block;
    position: absolute;
    border-bottom: 5px solid #00317B;
    top: 146px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    width: 100px;
    height: 1px;
    z-index: 2;
}

@media (max-width: 1000px) {
    .concept_page .back_zero{
        width: 50%;
        left: 0;
    }
    #detail_body.concept_page .text_ct h2 {
        font-size: 50px;
    }
}




/*///////////////////////////////////////////////////////
download_page
//////////////////////////////////////////////////////*/

#download_page .title_ct{
    background-image: url("../img/catalog_dl_btn_background.jpeg") !important;
}
#download_page #detail_title > .back_ct {
    bottom: 0;
    height: 60%;
    top: 204px;
}
#download_page #detail_title{
    margin-bottom: 2em;
}
#download_page #detail_title .txt_ct{
    padding-top: 5em;
    font-size: 16px;
}
@media (min-width: 880px) {
    #download_page #detail_title .txt_ct{
        padding-top: 1em;
    }
}
#download_page .post_ct .img_ct span{
    display: block;
    background-color: #F2F2F2;
}
#download_page .img_ct{
    display: block;
    background-color: #F2F2F2;
    padding: 20px;
    margin-bottom: 2em;
}
#download_page .title_ct h2 {
    padding: 0 !important;
}
#download_page .title_ct{
    margin-bottom: 0;
}
#download_page #detail_title h3 {
    min-height: auto;
}
@media (min-width: 880px) {
    #download_page #detail_title .word_ct{
        float: left;
    }
    .pc_right{
        float: right;
    }
    #download_page #detail_title .flex_ct{
        padding: 5em 5em 2em;
    }
    #download_page #detail_title .flex_ct img{
        padding-right: 5em;
        min-width: 300px;
    }
}
@media (max-width: 880px) {
    #download_page .item_ct{
        border: #D5D5D5 solid 1px;
        max-width: auto;
        padding-top: 2em;
    }
    #download_page .item_txt p{
        display: none;
    }
    #download_page .item_ct a .img_ct
    {
        margin-bottom: 1em;
    }
    #download_page .item_ct a .img_ct img
    {
        margin-bottom: 0;
    }
    #download_page .item_ct > a
    {
        width: 260px;
        margin: 0 auto;
        display: block;
    }
}

/* select_ct */
.select_ct{
    margin-bottom: 2em;
}
.select_ct .parent_ct{
    margin-right: 2em;
}
.select_ct .sct{
    background: url("../img/select_back.png") no-repeat;
    display: inline-block;
    width: 394px;
    max-width: 100%;
}
.select_ct .sct select{
    background: url("../img/select_icon2.png") no-repeat right;
    padding-left:40px; 
    padding-top:7px;
    padding-bottom:10px;
    border: none;
    width: 100%;
    font-size: 21px;
    line-height: 180%;
    -webkit-appearance: none;
    appearance: none; /* デフォルトの矢印を非表示 */
}
.select_ct .sct select::-ms-expand {
  display: none; /* デフォルトの矢印を非表示(IE用) */
}
@media (max-width: 900px) {
    .select_ct{
        text-align: center;
    }
    .select_ct .parent_ct {
        margin-right: 0;
        margin-bottom: 2em;
    }
}

.wpmem_msg{
    font-size: 20px;
    padding: 1em;
    background: #F2F2F2;
}



/*///////////////////////////////////////////////////////
 以下、白井追記分
//////////////////////////////////////////////////////*/
.head_bt li a.blue_bt {
    padding: 20px 10px;
}
footer .left_ct a {
    display: inline-block;
}
.txt_page .min_content > ol > li > ol > li:before {
    padding-right: 0.3em;
}
#my_list_page .word_ct .set_word {
    background: #fff;
    color: #000;
    border: none;
    padding-right: 0px;
}
.icons_ct i.icon_lock {
	cursor: auto;
}
#detail_title .index_title {
    margin-bottom: 1.5em;
}
#detail_body h6 {
    display: inline-block;
    padding: 0.2em;
}
.link_txt, .blank_txt {
    display: inline-block;
}
#detail_body h2, #my_list_page .content h2 {
    border-left: #004098 solid 5px;
}
#detail_body .table_ct table tbody td, #detail_body .table_ct table td{
    background: #f7f7f7;
}
.single_bt a.blue_bt {
    padding: 20px;
}

/* product_ct */
.product_ct{
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns:1fr 1fr 1fr 1fr;
    grid-column-gap:22px;
    list-style: none;
}
.product_ct li{
    margin-bottom: 0.5em;
}
.product_ct li a{
    display: block;
    border: #053889 solid 1px;
    text-align: center;
    color: #053889;
    padding: 20px;
    white-space: nowrap;
}
.product_ct li a:hover{
    opacity: 1;
    background-color: #053889;
    color: #FFF;
    border: #FFF solid 1px;
}
.product_back{
    position: relative;
}
.product_back:before {
    position: absolute;
    z-index: -1;
    top: 1.5em;
    left: 50%;
    display: block;
    width: 200vw;
    height: 120%;
    background-color: #efefef;
    content: "";
    transform: translateX(-50%);
}
@media (max-width: 800px) {
    .product_ct{
        grid-column-gap: 0;
        display: flex;
        flex-wrap: wrap;
    }
    .product_ct li {
        margin-bottom: 0;
        min-width: calc(50% - 2px);
    }
    .product_ct li.long {
        width: calc(100% - 2px);
    }
}


/*///////////////////////////////////////////////////////
 sitemapページ
//////////////////////////////////////////////////////*/
#sitemap_page .title_ct{
    background: url("../img/header5.png") no-repeat;
    background-size: cover;
    margin-bottom: 65px;
}
#sitemap_page ol li { list-style:none; }
#sitemap_page ol li:before { content:"- " }
@media (max-width: 800px) {
    #sitemap_page p, #sitemap_page ol{
        font-size: 18px;
        margin-bottom: 2em;
        font-weight: bold;
    }
    #sitemap_page p.taxhead{
        margin-bottom: 1em;
    }
    #sitemap_page ol{
        margin-left: 1em;
    }
    .txt_page .min_content > ol > li {
        padding-bottom: 0;
    }
}


/*///////////////////////////////////////////////////////
 wechatページ
//////////////////////////////////////////////////////*/
#wechat h3{
    width: 100%;
}
#wechat #detail_body{
    text-align: center;
}
#wechat #detail_body p{
    background: #F2F2F2;
    width: 100%;
    padding: 30px;
    font-size: 20px;
    max-width: 685px;
    margin: 0 auto 50px;
}




/*///////////////////////////////////////////////////////
 newsページ
//////////////////////////////////////////////////////*/


/* news */
.news_ct h1{
    float: left;
    text-align: left;
    color: #004098;
    font-size: 24px;
    width: auto;
    margin: 0 auto;
    background: none;
    padding-bottom: 0;
    margin-bottom: 0;
}
.news_ct .bt_ct a{
    display: block;
    background: #F2F2F2;
    border-radius: 5px;
    padding: 10px 15px;
    letter-spacing: 100%;
    min-width: 100px;
    text-align: center;
    white-space: nowrap;
}
.news_ct .bt_ct a.active{
    background: #000;
    color: #FFF;
}
.bt_ct{
    display: flex;
    gap:20px;
    float:right;
    margin-bottom: 20px;
}
@media (max-width: 800px) {
    .news_ct h1{
        float: none;
        text-align: center;
        margin-bottom: 1em;
    }
    .bt_ct{
        float: none;
        margin: 0 auto 2em;
        justify-content: center;
        gap: 10px;
    }
    .news_sub_ct {
        display: block;
    }
    .news_sub_ct .icon span {
        display: inline-block;
        max-width: 100px;
    }
    .news_sub_ct a.title_txt {
        margin-top: 1em;
    }
    .news_ct .bt_ct a {
        font-size: 80%;
        padding: 10px 5px;
        min-width: 80px;
    }
    #news_page #detail_body .info_ct {
        padding: 0;
    }
    #news_page #detail_body .info_ct p{
        margin-bottom: 0;
    }
}


/* news_item_ct */
.news_item_ct{
    clear: both;
    border-top: #E4E2E3 solid 1px;
}
.news_sub{
    margin-bottom: 2em;
}
.news_sub_ct{
    border-bottom: #E4E2E3 solid 1px;
    padding: 20px 0;
}
.news_sub_ct .icon, .news_sub_ct .date{
    white-space: nowrap;
}
.news_sub_ct .icon span{
    display: inline-block;
    background: #F2F2F2;
    border-radius: 5px;
    padding: 10px 15px;
    letter-spacing: 0;
    min-width: 100px;
    text-align: center;
    font-size: 12px;
}
.news_sub_ct .date{
    text-align: left;
    padding: 10px 25px;
    font-size: 12px;
    width: 160px;
}
.news_sub_ct a.title_txt{
    display: block;
    padding-top: 5px;
}
@media (min-width: 1200px) {
    .news_sub_ct{
        display: flex;
        gap:30px;
    }
}
@media (max-width: 1200px) {
    .news_sub{
        padding: 10px;
    }
    .news_sub_ct{
        padding: 20px;
    }
    .news_sub_ct .date {
        font-size: 16px;
        font-weight: bold;
    }
}


/* news_page */
#news_page .title_ct{
    background: url("../img/header6.png") no-repeat;
    background-size: cover;
    margin-bottom: 65px;
}
@media (max-width: 1200px) {
    #news_page .title_ct{
        margin-bottom: 0;
    }
}

.auto_back
{
  position: relative;

  margin-bottom: 8%;
  word-break: break-word;
}
.auto_back:before
{
    position: absolute;
    z-index: -1;
    top: -0.5em;
    left: 50%;
    display: block;
    width: 200vw;
    height: 120%;
    background-color: #efefef;
    content: "";
    transform: translateX(-50%);
}

/* login_page */
#password_page #wpmem_login{
    display: none;
}
#password_page{
    min-height: 560px;
    padding-bottom: 2em;
}

.link-text-username a, link-text-forgot a{
    color: #004098;
}
#password_page #wpmem_login_form .button_div{
    text-align: center;
}
#password_page #wpmem_login_form .buttons.blue_bt{
    margin-top: 2em;
}
/*Add 20230404 Password Reset Page*/
a.blue_bt.pwd_reset_btn {
    max-width: 350px;
    border: none;
    width: 350px;
    margin: 2em auto 2em;
}
/* front_page */
#front_page .carousel-inner{
    position: relative;
}
#front_page .carousel-inner img{
    width: 100%;
    opacity: 0;
}
@media (max-width: 1000px) {
    .carousel-item{
        background: none !important;
    }
    .carousel-img_ct{
        display: block;
        overflow: hidden;
        aspect-ratio: 2.5 / 1;
        position: relative;
    }
    #front_page .carousel-inner img{
        width: auto;
        height: 100%;
        opacity: 1; 
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translateY(-50%) translateX(-50%);
    }

}
#front_page .carousel-txt{
    background-color: rgba(255,255,255,0.5);
    position: absolute;
    bottom: 40px;
    left: 15%;
    color: #004098;
    padding: 0.5em 1em;
    font-weight: bold;
    font-size: 24px;
}

/*///////////////////////////////////////////////////////
 その他
//////////////////////////////////////////////////////*/
/* AIチャットボットのボタン */
#banner-wrapper {
	position: relative;
	display: inline-block;
	transition: all 0.5s ease;
	opacity: 1;
	visibility: visible;
}
#AiChatBtn {
	position: fixed;
	right: calc(10 / var(--view-size) * 100vw);
    bottom: calc(10 / var(--view-size) * 100vw);
	cursor: pointer;
	z-index: 998;
	transition: all 0.3s ease;
}
#AiChatBtn::before {
	content: "";
	position: absolute;
	top: calc(10 / var(--view-size) * 100vw); /* 影の位置 */
	left: calc(10 / var(--view-size) * 100vw);
	right: 0;
	bottom: 0;
	background-color: rgba(0, 0, 0, 0.01); /* 影の色 */
	filter: blur(calc(6 / var(--view-size) * 100vw)); /* 影をぼかす */
	z-index: -1; /* 影を後ろに置く */
	transition: all 0.3s ease;
}
#AiChatBtn:hover::before {
	background-color: rgba(0, 0, 0, 0.2); /* 影の色 */
}
#AiChatBtn img {
	width: calc(300 / var(--view-size) * 100vw);
}
.cgpt-ai-assistant-modal.open + .cgpt-ai-assistant-overlay {
	z-index: 999 !important;
}
.close-btn {
	position: fixed;
	right: calc(6 / var(--view-size) * 100vw);
    bottom: calc(171 / var(--view-size) * 100vw);
	background-color: #004098; /* ボタンの背景色 */
    border: calc(1 / var(--view-size) * 100vw) solid #fff;
	color: #fff;
	border-radius: 50%;
	width: calc(25 / var(--view-size) * 100vw);
	height: calc(25 / var(--view-size) * 100vw);
    line-height: calc(22 / var(--view-size) * 100vw);
	font-size: calc(16 / var(--view-size) * 100vw);
	cursor: pointer;
	z-index: 999;
	padding: 0px calc(1 / var(--view-size) * 100vw) calc(1 / var(--view-size) * 100vw) calc(2 / var(--view-size) * 100vw);
}
.close-btn:hover {
	background-color: #717171;
}
#banner_reducing {
	position: fixed;
	right: calc(10 / var(--view-size) * 100vw);
    bottom: calc(10 / var(--view-size) * 100vw);
	cursor: pointer;
	z-index: 998;
	transition: all 0.5s ease;
	opacity: 0;
	visibility: hidden;
}
#banner_reducing img {
	width: calc(60 / var(--view-size) * 100vw);
}
#banner_reducing::after {
	content: attr(title);
    position: absolute;
    text-align: center;
    top: 50%;
    right: calc(100% + 25px);
    font-size: .75rem;
    min-width: 3em;
    max-width: 21em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    padding: calc(5 / var(--view-size) * 100vw);
    border-radius: .3ch;
    box-shadow: 0 1em 2em -0.5em rgba(0, 0, 0, .35);
    background: #333;
    color: #fff;
}
#banner_reducing::before {
    content: "";
    border: calc(5 / var(--view-size) * 100vw) solid transparent;
    top: 50%;
    border-right-width: 0;
    border-left-color: #333;
    left: calc(0em - 26px);
}
#banner_reducing::before, #banner_reducing::after {
	text-transform: none;
    line-height: 1;
    user-select: none;
    pointer-events: none;
    position: absolute;
    transform: translate(0px, -50%);
    opacity: 0;
    transition: all 300ms ease;
    display: block;
    height: auto;
	z-index: 1001;
}
#banner_reducing:hover::before, #banner_reducing:hover::after {
	transform: translate(calc(10 / var(--view-size) * 100vw), -50%);
	opacity: 1;
}
@media (max-width: 1000px) {
	#banner-wrapper {
		opacity: 0;
		visibility: hidden;
	}
	#banner_reducing {
		opacity: 1;
		visibility: visible;
	}
}

/* TOPページ　メインビジュアル下部を透過 */
.fade-img {
  position: relative;
  display: inline-block;
}

.fade-img img {
  display: block;
  width: 100%;
  height: auto;
}

.fade-img::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  height: 20%;
  width: 100%;
  background: linear-gradient(to bottom,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,0.05) 20%,
    rgba(255,255,255,0.15) 40%,
    rgba(255,255,255,0.35) 60%,
    rgba(255,255,255,0.6) 80%,
    rgba(255,255,255,1) 100%
  );
  pointer-events: none;
}