@charset "UTF-8";
/*
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
*/

* {
    margin: 0;
    padding: 0;
}

body {
    font-family: 'Noto Sans JP', sans-serif;
    line-height: 1.8em;
    color: #333333;
    font-size: 16px;
    letter-spacing: 0.07em;
    overflow-wrap: break-word;
}

p {
    line-height: 1.7em;
    color: #333333;
    font-size: 16px;
    font-family: 'Noto Sans JP', sans-serif;
}

a {
    text-decoration: none;
    color: #333333;
    -webkit-transition: all 0.s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

ul li {
    list-style-type: none;
}

img {
    border: 0;
    vertical-align: bottom;
}

a:hover {
    opacity: 0.7;
    -moz-opacity: 0.7;
    filter: alpha(opacity=70);

}

.font_s {
    font-family: "Montserrat", sans-serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
}

/**************/
h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: 700;
    letter-spacing: 0.08em;
}

/**************/

.pt10 {
    padding-top: 10px !important;
}

.pt20 {
    padding-top: 20px !important;
}

.pb0 {
    padding-bottom: 0 !important;
}

.pb10 {
    padding-bottom: 10px !important;
}

.pb20 {
    padding-bottom: 20px !important;
}

.mt10 {
    margin-top: 10px !important;
}

.mt20 {
    margin-top: 20px !important;
}

.mt30 {
    margin-top: 30px !important;
}

.mt40 {
    margin-top: 40px !important;
}

.mb5 {
    margin-bottom: 5px !important;
}

.mb10 {
    margin-bottom: 10px !important;
}

.mb15 {
    margin-bottom: 15px !important;
}

.mb20 {
    margin-bottom: 20px !important;
}

.mb25 {
    margin-bottom: 25px !important;
}

.mb30 {
    margin-bottom: 30px !important;
}

.mb40 {
    margin-bottom: 40px !important;
}

.mb50 {
    margin-bottom: 50px !important;
}

.mb60 {
    margin-bottom: 60px !important;
}

.mb70 {
    margin-bottom: 70px !important;
}

.mb80 {
    margin-bottom: 80px !important;
}

.mb100 {
    margin-bottom: 100px !important;
}

/**************/
.txt_c {
    text-align: center !important;
}

.txt_r {
    text-align: right !important;
}

.txt_l {
    text-align: left !important;
}

/**************/

.float_sb {
    display: flex;
    justify-content: space-between;
}

.float_sa {
    display: flex;
    justify-content: space-around;
}

.float_ce {
    display: flex;
    justify-content: center;
}

.float_ft {
    display: flex;
    justify-content: flex-start;
}

.float_en {
    display: flex;
    justify-content: flex-end;
}


.type_01,
.type_02 {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.type_01 .l_box {
    max-width: 525px;
    width: 48%;
}

.type_01 .r_box {
    max-width: 525px;
    width: 48%;
}

.type_02 .l_box {
    max-width: 525px;
    width: 48%;
    order: 2;
}

.type_02 .r_box {
    max-width: 525px;
    width: 48%;
    order: 1;
}

.type_01 .r_box img,
.type_01 .l_box img,
.type_02 .r_box img,
.type_02 .l_box img {
    max-width: 525px;
    width: 100%;
}


.type_03 {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.type_03 .r_box {
    max-width: 700px;
    width: 86%;
}

.type_03 .r_box img,
.type_03 .l_box img {
    width: 100%;
}

.type_03 .l_box {
    max-width: 100px;
    width: 13%;
}



.type_04 {
    display: flex;
    justify-content: space-between;
}

.type_04 .r_box {
    max-width: 580px;
    width: 60%;
}



.type_04 .l_box {
    max-width: 350px;
    width: 36%;
}


.type_04 .l_box img {
    height: auto;
    aspect-ratio: 5 / 4;
    width: 100%;
    object-fit: cover;
}






.type_05,
.type_06 {
    display: flex;
    justify-content: center;
}

.type_05 > div {
    margin: 0 20px;
}

.type_05 .l_box {
    max-width: 430px;
    width: 47%;
}

.type_05 .r_box {
    max-width: 430px;
    width: 47%;
}

.type_06 .l_box {
    max-width: 430px;
    width: 47%;
    order: 2;
}

.type_06 .r_box {
    max-width: 430px;
    width: 47%;
    order: 1;
}

.type_05 .r_box img,
.type_05 .l_box img,
.type_06 .r_box img,
.type_06 .l_box img {
    max-width: 430px;
    width: 100%;
}



.type_07,
.type_08 {
    display: flex;
    justify-content: space-between;
}



.type_07 .l_box {
    max-width: 430px;
    width: 47%;
}

.type_07 .r_box {
    max-width: 430px;
    width: 47%;
}

.type_08 .l_box {
    max-width: 430px;
    width: 47%;
    order: 2;
}

.type_08 .r_box {
    max-width: 430px;
    width: 47%;
    order: 1;
}

.type_07 .r_box img,
.type_07 .l_box img,
.type_08 .r_box img,
.type_08 .l_box img {
    max-width: 430px;
    width: 100%;
}


/**************/

.frame {
    max-width: 1130px;
    padding: 0 15px;
    margin: auto;
}

.w900 {
    max-width: 900px;
    margin: auto;
}

.w700 {
    max-width: 700px;
    margin: auto;
}
article {
    margin-top: 40px;
    margin-bottom: 100px;
}

article.top {
    margin-top: 0;
	margin-bottom: 0;
}

/**************/


.mw_100 img {
    max-width: 100%;
    width: 100%;
}

.mw_540 img {
    max-width: 540px;
    width: 100%;
}






/**************/


.bg_01 {
    background-image: url("../images/common/bg_01.jpg");
    background-repeat: repeat;
    background-size: 25px;
}



.bg_02 {
    border: 3px solid #FF7431;
    padding: 30px;
}


.bg_03 {
    background-color: #FFF6F2;
    padding: 30px;
}


.bg_04 {
    background-color: #fff;
    border-radius: 30px;
    padding: 60px 60px 60px;
}


.bg_line {
    background-image: url("../images/common/ttl_line_01.png");
    background-size: 6px;
    background-position: bottom left;
    padding-bottom: 80px;
    background-repeat: repeat-x;
}




/**************/

.ttl_01 {
    text-align: center;
    font-size: 48px;
    font-family: "Montserrat", sans-serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
    color: #FF7431;
    line-height: 1.4em;
    letter-spacing: 0.1em;
    padding-top: 20px;
    background-image: url("../images/common/ttl_icon_o.png");
    background-size: 47px;
    background-position: top center;
    margin-bottom: 40px;
}

.ttl_01 span {
    display: block;
    font-size: 20px;
    line-height: 1.4em;
    font-family: 'Noto Sans JP', sans-serif;
    color: #333333;
    letter-spacing: 0.05em;
}




.ttl_01_w {
    text-align: center;
    font-size: 48px;
    font-family: "Montserrat", sans-serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
    color: #fff;
    line-height: 1.4em;
    letter-spacing: 0.1em;
    padding-top: 20px;
    background-image: url("../images/common/ttl_icon_w.png");
    background-size: 47px;
    background-position: top center;
    margin-bottom: 15px;
}

.ttl_01_w span {
    display: block;
    font-size: 20px;
    line-height: 1.4em;
    font-family: 'Noto Sans JP', sans-serif;
    color: #fff;
    letter-spacing: 0.05em;
}



.ttl_01_j {
    text-align: center;
    font-size: 28px;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
    color: #FF7431;
    line-height: 1.4em;
    letter-spacing: 0.1em;
    padding-top: 25px;
    background-image: url("../images/common/ttl_icon_o.png");
    background-size: 47px;
    background-position: top center;
    margin-bottom: 30px;
}

.ttl_01_j span {
    display: block;
    font-size: 20px;
    line-height: 1.4em;
    font-family: 'Noto Sans JP', sans-serif;
    color: #333333;
    letter-spacing: 0.05em;
}




.ttl_01_wj {
    text-align: center;
    font-size: 28px;
    font-optical-sizing: auto;
    font-weight: 600;
    font-style: normal;
    color: #fff;
    line-height: 1.4em;
    letter-spacing: 0.1em;
    padding-top: 20px;
    background-image: url("../images/common/ttl_icon_w.png");
    background-size: 47px;
    background-position: top center;
    margin-bottom: 30px;
}







.ttl_02 {
    font-size: 28px;
    font-weight: 700;
    line-height: 1.5em;
    margin-bottom: 25px;
    letter-spacing: 0.04em;
}


.ttl_03 {
    background-image: url("../images/common/ttl_line_01.png");
    background-repeat: repeat-x;
    background-position: left bottom;
    background-size: 6px;
    font-size: 26px;
    line-height: 1.4em;
    padding-bottom: 20px;
    margin-bottom: 25px;
    font-weight: 700;
}


.ttl_03_a {
    background-image: url("../images/common/ttl_line_01.png");
    background-repeat: repeat-x;
    background-position: left bottom;
    background-size: 6px;
    font-size: 34px;
    line-height: 1.4em;
    padding-bottom: 20px;
    margin-bottom: 25px;
    font-weight: 700;
    text-align: left !important;
}

.ttl_04 {
    line-height: 1.4em;
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 15px;
}


.ttl_05 {
    color: #FF7431;
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 5px;
}

.ttl_06 {
    line-height: 1.4em;
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 25px;
	text-align: center;
}


.ttl_07{
	text-align: center;
	font-size: 18px;
	font-weight: 600;
	margin-bottom: 20px;
}




/**************/



.list_03 p {
    background-image: url("../images/common/icon_02.png");
    padding-left: 15px;
    background-position: left 7px;
    line-height: 1.5em;
    margin-bottom: 12px;
    font-size: 16px;
    font-weight: 600;
    background-size: 6px 6px;
    text-align: left;
}

.list_03 p:last-child {
    margin-bottom: 0;
}



/**************/

.tag_link {
    display: flex;
    flex-wrap: wrap;
}

.tag_link a {
    border: 1px solid #FF7431;
    border-radius: 5px;
    color: #FF7431;
    font-size: 16px;
    line-height: 1.3em;
    font-weight: 600;
    display: inline-block;
    padding: 5px 13px;
    margin-right: 10px;
    margin-bottom: 10px;
}


.tag_link .tag_current,
.tag_link a:hover {
    background-color: #FF7431;
    color: #fff;
    opacity: 1;
}



/**************/


.btn_01 {
    text-align: center;
    margin-top: 40px;
}

.btn_01 span {
    position: relative;
    width: 100%;
    display: block;
}

.btn_01 span:after {
    content: "";
    background-image: url("../images/common/icon_btn.png");
    right: 5px;
    top: 5px;
    position: absolute;
    width: 9px;
    height: 11px;
    background-size: 100%;
}


.btn_01 a {
    position: relative;
    display: inline-block;
    color: #fff;
    font-size: 15px;
    line-height: 1.4em;
    background-color: #FF7431;
    font-weight: 700;
    border-radius: 5px;
    min-width: 250px;
    text-align: center;
    padding: 15px 10px 15px 15px;
    overflow: hidden; 
    transition: color 0.3s ease;
}


.btn_01 a::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #FF946C; 
    transform: scaleX(0);     
    transform-origin: left;  
    transition: transform 0.3s ease;
    z-index: 0;
}


.btn_01 a span {
    position: relative;
    z-index: 1;
}


.btn_01 a:hover::before {
    transform: scaleX(1);
}


.btn_01 a:hover {
    color: #fff;
	opacity: 1;
}


.en_contact .btn_01 span:after {
    content: "";
    background-image: url("../images/common/icon_btn.png");
    right: 5px;
    top: 7px;
    position: absolute;
    width: 9px;
    height: 11px;
    background-size: 100%;
}

.en_contact .btn_01 a {
    position: relative;
    display: inline-block;
    color: #fff;
    font-size: 15px;
    line-height: 1.4em;
    background-color: #FF7431;
    font-weight: 700;
    border-radius: 5px;
    min-width: 265px;
    text-align: center;
    padding: 15px 10px 15px 15px;
    overflow: hidden; 
    transition: color 0.3s ease;
}

.btn_02 {
    text-align: center;
    margin-top: 40px;
}

.btn_02 span {
    position: relative;
    width: 100%;
    display: block;
}

.btn_02 span:after {
    content: "";
    background-image: url("../images/common/icon_01.png");
    right: 5px;
    top: 5px;
    position: absolute;
    width: 9px;
    height: 11px;
    background-size: 100%;
}


/*
.btn_02 a {
    display: inline-block;
    color: #FF7431;
    font-size: 15px;
    line-height: 1.4em;
    background-color: #fff;
    font-weight: 700;
    border-radius: 5px;
    min-width: 240px;
    text-align: center;
    padding: 15px 10px 15px 15px;

}
*/
.btn_02 a {
    position: relative;
    display: inline-block;
    color: #FF7431;
    font-size: 15px;
    line-height: 1.4em;
    background-color: #fff;
    font-weight: 700;
    border-radius: 5px;
    min-width: 240px;
    text-align: center;
    padding: 15px 10px 15px 15px;
    overflow: hidden; 
    transition: color 0.3s ease;
}


.btn_02 a::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #FFDED1; 
    transform: scaleX(0);     
    transform-origin: left;  
    transition: transform 0.3s ease;
    z-index: 0;
}


.btn_02 a span {
    position: relative;
    z-index: 1;
}


.btn_02 a:hover::before {
    transform: scaleX(1);
}


.btn_02 a:hover {
    color: #FF7431;
	opacity: 1;
}


.btn_pdf {
    text-align: center;
    margin-top: 40px;
}

.btn_pdf span {
    position: relative;
    width: 100%;
    display: block;
}

.btn_pdf span:after {
    content: "";
    background-image: url("../images/common/icon_btn.png");
    right: 5px;
    top: 5px;
    position: absolute;
    width: 9px;
    height: 11px;
    background-size: 100%;
}

.btn_pdf span:before {
    content: "";
    background-image: url("../images/common/icon_pdf.png");
    left: 5px;
    top: 2px;
    position: absolute;
    width: 16px;
    height: 20px;
    background-size: 100%;
}
/*
.btn_pdf a {
    display: inline-block;
    color: #fff;
    font-size: 15px;
    line-height: 1.4em;
    background-color: #FF7431;
    font-weight: 700;
    border-radius: 5px;
    min-width: 240px;
    text-align: center;
    padding: 15px 10px 15px 15px;
    overflow: hidden; 
    transition: color 0.3s ease;
}
*/

.btn_pdf a {
    position: relative;
    display: inline-block;
    color: #fff;
    font-size: 15px;
    line-height: 1.4em;
    background-color: #FF7431;
    font-weight: 700;
    border-radius: 5px;
    min-width: 240px;
    text-align: center;
    padding: 15px 10px 15px 15px;
    overflow: hidden; 
    transition: color 0.3s ease;
}


.btn_pdf a::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #FF946C; 
    transform: scaleX(0);     
    transform-origin: left;  
    transition: transform 0.3s ease;
    z-index: 0;
}


.btn_pdf a span {
    position: relative;
    z-index: 1;
}


.btn_pdf a:hover::before {
    transform: scaleX(1);
}


.btn_pdf a:hover {
    color: #fff;
	opacity: 1;
}
/**************/

.link_01 {}

.link_01 a {
    text-decoration: underline;
    font-size: 16px;
}

.link_01 a:hover {
    color: #FF7431;
    opacity: 1;
}

.link_02 {}

.link_02 a {
    font-size: 16px;
    line-height: 1.4em;
    padding-right: 26px;
    background-image: url("../images/common/icon_04.png");
    background-size: 20px;
    background-position: right center;
    font-weight: 600;
}

.link_02 a:hover {
    opacity: 1;
    color: #FF7431;
}



ul.link_02 {
    display: flex;
    flex-wrap: wrap;
}


ul.link_02 a {
    display: inline-block;
    margin-right: 30px;
    margin-bottom: 5px;
}


/**************/



.table_01 {
    border-collapse: collapse;
    border-top: 1px solid #CECECE;
    width: 100%;
}

.table_01 th {
    color: #FF7431;
    font-weight: 600;
    line-height: 1.6em;
    font-size: 18px;
    border-bottom: 1px solid #CECECE;
    text-align: left;
    padding: 20px 0;
    width: 200px;
	letter-spacing: 0.04em;
}


.table_01 td {
    border-bottom: 1px solid #CECECE;
    padding: 20px 0;
	letter-spacing: 0.04em;
}


.table_01_a {
    border-collapse: collapse;
    border-top: 1px solid #CECECE;
    width: 100%;
}

.table_01_a th {
    color: #FF7431;
    font-weight: 600;
    line-height: 1.6em;
    font-size: 18px;
    border-bottom: 1px solid #CECECE;
    text-align: left;
    padding: 20px 0;
    width: 120px;
}


.table_01_a td {
    border-bottom: 1px solid #CECECE;
}









/**************/


.list_a {}

.list_a li {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    border-bottom: 1px solid #CECECE;
    padding-bottom: 20px;
    margin-bottom: 20px;
}

.list_a li > div {
    margin-right: 15px;
}

.day_a {
    font-size: 14px;
    line-height: 1.4em;
    font-weight: 700;
    white-space: nowrap;
}

.ctg_a {
    white-space: nowrap;
    border: 1px solid #FF7431;
    font-size: 12px;
    color: #FF7431;
    line-height: 1.3em;
    background-color: #fff;
    display: inline-block;
    font-weight: 700;
    text-align: center;
    padding: 4px 18px;
    min-width: 90px;
}

.list_a li p {
    font-size: 16px;
    font-weight: 700;
    width: 76%;
}

.list_a li p a:hover{
	color: #FF7431;
	opacity: 1;
}









.list_b{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.list_b li{
	background-color: #F7F7F7;
	max-width: 340px;
	width: 31%;
	padding: 30px;
}


.list_b li img{
	max-width: 280px;
	width: 100%;
	margin-bottom: 17px;
}




.list_c{
	display: flex;
	justify-content: space-between;	
	flex-wrap: wrap;
}

.list_c li{
	max-width: 248px;
	width: 23%;
}

.list_c img{
	max-width: 248px;
	width: 100%;
	margin-bottom: 25px;
}



.list_d{
	display: flex;
	justify-content: space-between;	
	flex-wrap: wrap;
}

.list_d li{
	max-width: 306px;
	width: 32%;
}
.list_d li .ttl_07{
	margin-bottom: 15px;
}
.list_d img{
	max-width: 306px;
	width: 100%;
	margin-bottom: 20px;
}











.list_link {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

.list_link li {
    margin: 0 5px 10px;
    min-width: 340px;
    text-align: center;
}

.list_link li span {
    background-image: url("../images/common/nav_icon.png");
    background-size: 12px;
    padding-right: 18px;
    background-position: right 10px;
}

.list_link li a {
    color: #333;
    background-color: #F7F7F7;
    font-weight: 600;
    display: block;
    padding: 10px;
    border-radius: 5px;

}

.list_link li a:hover {
    color: #FF7431;
    opacity: 1;
}







/**************/



.mask_list ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.works .mask_list ul {
    display: block;
}



.mask_list ul:after {
    content: "";
    display: block;
    width: 30.3%;
    height: 0;
}

.mask_list li {
    width: 30.3%;
    text-align: center;
    border: 3px solid #FF7431;
    position: relative;
    background-color: #fff;
    margin-bottom: 80px;
}




.mask_list li img {
    height: 100%;
    aspect-ratio: 16 / 9;
    width: 100%;
    object-fit: cover;
}


.mask_list ul li::before {
    content: "";
    display: block;
    padding-top: 74%;
}

.mask_list ul li a,
.bnr_pop_area {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;

}

.mask_list ul li a:after {
    content: "";
    position: absolute;
    width: 45px;
    height: 45px;
    background-size: 100%;
    background-image: url("../images/common/icon_03.png");
    bottom: 0;
    right: 0;
}

.mask_list ul li a:hover {
    opacity: 1;
}

.mask_list ul li .caption {
    text-align: center;
    color: #fff;
    letter-spacing: 0;
    position: relative;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center
}


.mask_list ul li .mask {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    background-color: rgba(241, 110, 59, 0.40);
    padding: 10px 35px;
}


.mask_list ul li:hover .mask {
    opacity: 1;
}

.mask_list .mask_ttl {
    font-family: "Montserrat", sans-serif;
    font-size: 22px;
    font-weight: 700;
    margin-bottom: 5px;
    color: #fff;
    text-align: center;
}

.icon_img {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 45px;
    height: 45px;
}

.icon_img img {
    max-width: 45px;
    width: 100%;
}


.mask_list li p {
    font-size: 20px;
    font-weight: 700;
    text-align: left;
    margin-top: 15px;
    line-height: 1.4em;
}




/***************/


.mask_list_s ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.mask_list_s ul::after,
.mask_list_s ul::before {
    content: "";
    display: block;
    width: 22.6%;
    height: 0;
}

.mask_list_s ul::before {
    order: 1;
}

.mask_list_s li {
    width: 22.6%;
    text-align: center;
    border: 3px solid #FF7431;
    position: relative;
    background-color: #fff;
    margin-bottom: 80px;
}




.mask_list_s li img {
    height: 100%;
    aspect-ratio: 62 / 45;
    width: 100%;
    object-fit: cover;
}


.mask_list_s ul li::before {
    content: "";
    display: block;
    padding-top: 74%;
}

.mask_list_s ul li a {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;

}

.mask_list_s ul li a:after {
    content: "";
    position: absolute;
    width: 45px;
    height: 45px;
    background-size: 100%;
    background-image: url("../images/common/icon_03.png");
    bottom: -2px;
    right: -2px;
}

.mask_list_s ul li a:hover {
    opacity: 1;
}

.mask_list_s ul li .caption {
    text-align: center;
    color: #fff;
    letter-spacing: 0;
    position: relative;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center
}


.mask_list_s ul li .mask {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    background-color: rgba(241, 110, 59, 0.40);
    padding: 10px 35px;
}


.mask_list_s ul li:hover .mask {
    opacity: 1;
}

.mask_list_s .mask_ttl {
    font-family: "Montserrat", sans-serif;
    font-size: 22px;
    font-weight: 700;
    margin-bottom: 5px;
    color: #fff;
    text-align: center;
}


.mask_list_s li p {
    font-size: 20px;
    font-weight: 700;
    text-align: left;
    margin-top: 15px;
    line-height: 1.4em;
}



.tag_new {
    position: absolute;
    top: -3px;
    left: -3px;
    background-color: #F16E3B;
    color: #fff;
    font-size: 14px;
    line-height: 1.4em;
    font-weight: 500;
    padding: 3px 5px;
    z-index: 90;
}

.tag_end {
    position: absolute;
    top: -3px;
    left: -3px;
    background-color: #707070;
    color: #fff;
    font-size: 14px;
    line-height: 1.4em;
    font-weight: 500;
    padding: 3px 10px;
    z-index: 90;
}


.tag_new_a {
    background-color: #F16E3B;
    color: #fff;
    font-size: 14px;
    line-height: 1.4em;
    font-weight: 500;
    padding: 3px 5px;
    z-index: 90;
    display: inline-block;
}

.tag_end_a {
    background-color: #707070;
    color: #fff;
    font-size: 14px;
    line-height: 1.4em;
    font-weight: 500;
    padding: 3px 10px;
    z-index: 90;
    display: inline-block;
}



/**************/


header .head_inner {
    position: fixed;
    width: 100%;
    top: 0;
    right: 0;
    z-index: 100;
    -webkit-transition: all 0.s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    background-color: #fff;
    box-shadow: 0 3px 6px rgba(88, 88, 88, 0.16);
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.head_inner {}

h1.logo {
    padding: 0 0 0 15px;
    margin-right: auto;
}

h1.logo img {
    max-width: 298px;
    width: 100%;
    -webkit-transition: all 0.s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.head_cont_img {

    background-color: #FF7431; 
}


.head_cont_img a {
    padding: 24px 20px;
    position: relative;
    display: block;
    overflow: hidden;
    transition: color 0.3s ease;
    -webkit-transition: all 0.s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}


.head_cont_img a::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #FF946C; /* ← 伸びてくる色 */
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.3s ease;
    z-index: 0;
}


.head_cont_img a img {
    position: relative;
    z-index: 1;
    max-width: 128px;
    width: 100%;
}


.head_cont_img a:hover::before {
    transform: scaleX(1);
}






.pc_nav {}

.pc_nav .icon_nav_a {
    padding: 0 41px 0 15px;
}

.pc_nav > ul {
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

.pc_nav > ul > li {
    padding: 0 27px 0 15px;
}

.pc_nav > ul > li:first-child {}

.pc_nav > ul > li > a {
    margin: 0 0;
    padding-bottom: 41px;
    letter-spacing: 0.02em;
    position: relative;
    font-size: 14px;
    font-weight: 600;
    padding: 14px 0;
    display: block;
}

.pc_nav > ul > li > a:hover {
    color: #FF7431;
    opacity: 1;
}


.pc_nav .icon_nav_a > a:after {
    content: "";
    position: absolute;
    background-image: url("../images/common/nav_icon.png");
    background-size: 100%;
    width: 14px;
    height: 9px;
    top: 25px;
    right: -21px;
}

.sub_nav .s_nav_open:before {
    content: "";
    background-image: url("../images/common/nav_icon_on.png");
    width: 14px;
    height: 9px;
    background-size: 100%;
    position: absolute;
    right: 0;
    top: 20px;
}





.pc_sub_area {
    display: none;
    position: absolute;
    background-color: #EDEDED;
    width: 100%;
    z-index: 100000;
    margin: 0 auto;
    left: 0;
    right: 0;
    padding: 50px 20px 25px 30px;
    box-shadow: inset 0 4px 8px -3px rgba(88, 88, 88, 0.16);
}

.pc_sub_area.sub_01,
.pc_sub_area.sub_02 {
    top: 76px;
}

.is_animation .pc_sub_area.sub_01,
.is_animation .pc_sub_area.sub_02 {
    top: 56px;
}

.pc_sub_area .sub_inner {
    max-width: 1100px;
    margin: auto;
    width: 100%;
}

.pc_sub_nav {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.pc_sub_nav > li {
    margin-bottom: 25px;
    width: 32%;
}

.sub_01 .sub_inner_l .sub_ttl {
    border-bottom: 1px solid #CECECE;
    font-size: 24px;
    line-height: 1.4em;
    font-weight: 600;
    padding-bottom: 15px;
    margin-bottom: 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.sub_01 .sub_inner_l .sub_ttl p a {
    padding-right: 26px;
    background-image: url("../images/common/icon_04.png");
    background-size: 20px;
    background-position: right center;
    font-weight: 600;
}

.sub_01 .sub_inner_l .sub_ttl p a:hover {
    opacity: 1;
    color: #FF7431;
}


.sub_02 .sub_inner_l .pc_sub_nav {
    justify-content: flex-start;
}

.sub_02 .sub_inner_l .pc_sub_nav li {
    padding-right: 30px;
}

.sub_02 .sub_inner_l .sub_ttl {
    border-bottom: 1px solid #CECECE;
    font-size: 24px;
    line-height: 1.4em;
    font-weight: 600;
    padding-bottom: 15px;
    margin-bottom: 20px;
}

.sub_02 .pc_sub_nav > li {
    width: auto;
}













.is-active .pc_sub_area {
    display: block !important;
    z-index: 1000;
}

.pc_nav .is-active.icon_nav_a > a {
    color: #FF7431;
}

.pc_nav .is-active.icon_nav_a > a:after {
    background-image: url("../images/common/nav_icon_on.png");
}










.pc_sub_nav > li {
    position: relative;
    aspect-ratio: 17 / 5;
    display: block;
    overflow: hidden;
    cursor: pointer;
}

.pc_sub_nav > li img {
    max-width: 340px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    max-height: 100%;
    height: auto;
    width: auto;
    transition: .2s ease-in-out;
    display: block;
}

.pc_sub_nav > li:hover img:nth-of-type(2) {
    opacity: 0;
}

.pc_sub_nav > li a {
    opacity: 1;
}



/*******/


header.nav_fix .head_inner {}


header.nav_fix .logo img {
    max-width: 230px;
}


header.nav_fix .head_cont_img a{
    padding: 13px 20px 15px 20px;
}





/**************/



#navToggle {
    position: fixed;
    right: 0;
    top: 0;
    width: 60px;
    height: 60px;
    cursor: pointer;
    z-index: 1000;
    display: none;
    background-color: #FF7431;
}

#navToggle span {
    display: inline-block;
    transition: all .4s;
    position: absolute;
}

#navToggle span:nth-of-type(1),
#navToggle span:nth-of-type(3) {
    height: 2px;
    background: #fff;
    width: 16px;
    left: 22px;
}

#navToggle span:nth-of-type(1) {
    top: 26px;
}

/*
#navToggle span:nth-of-type(2) {
    top: 12px;
    left: 11px;
    font-size: 0.6rem;
    text-transform: uppercase;
    color: #FF7431;
    font-weight: 700;
}
*/
#navToggle span:nth-of-type(3) {
    top: 34px;
}


.openNav #navToggle span:nth-of-type(2) {
    opacity: 0;

}

.openNav #navToggle span:nth-of-type(1),
.openNav #navToggle span:nth-of-type(3) {}

.openNav #navToggle span:nth-of-type(1) {
    top: 22px;
    left: 22px;
    transform: translateY(6px) rotate(-45deg);
    width: 16px;
}

.openNav #navToggle span:nth-of-type(3) {
    top: 34px;
    left: 22px;
    transform: translateY(-6px) rotate(45deg);
    width: 16px;
}




.sp_head {
    height: 60px;
    z-index: 100;
    top: 0;
    left: 0;
    width: 100%;
    display: none;
    position: fixed;
    background-color: #fff;
    border-bottom: 1px solid #E5E5E5;
}

.sp_nav.on {
    height: 100vh;
}


.sp_nav {
    overflow-y: scroll;
    position: fixed;
    height: auto;
    left: 0;
    z-index: 999;
    top: 0;
    width: 100%;
    background-color: #FFF6F2;
    margin-top: 59px;
}

.sp_area {
    padding: 20px 0 10px;
    height: 90px;
    position: fixed;
    z-index: 100000;
    top: 0;
    left: 0;
    width: 100%;
}

.sp_nav > ul {
    display: none;
    padding: 10px 20px;
}

.sp_nav > ul > li {
    border-bottom: 1px solid #F7D4C6;
}


.sp_nav > ul > li > a {
    color: #333333;
    padding: 15px 0 15px 0;
    line-height: 1.4em;
    text-decoration: none;
    font-size: 14px;
    font-weight: bold;
	display: block;
}


.s_logo {
    position: fixed;
    left: 15px;
    top: 11px;
    z-index: 1000;
}

.s_logo img {
    max-width: 298px;
    width: 70%;
}





.sub_nav_list {
    display: none;
    padding-left: 10px;
}

.sub_nav_list>li{
	margin-bottom: 10px;
}




.sp_nav > ul > li span {
    display: block;
    position: relative;
    color: #333333;
    padding: 15px 0 15px 0;
    line-height: 1.4em;
    text-decoration: none;
    font-size: 14px;
    font-weight: bold;
}


.sub_nav > span:before {
    content: "";
    background-image: url("../images/common/sp_nav_on.png");
    width: 14px;
    height: 9px;
    background-size: 100%;
    position: absolute;
    right: 10px;
    top: 20px;
}

.sub_nav .s_nav_open:before {
    content: "";
    background-image: url("../images/common/sp_nav_off.png");
    width: 14px;
    height: 9px;
    position: absolute;
    right: 10px;
    top: 20px;
}



.sub_nav_list > li a {
    color: #333;
    padding: 3px 0 3px 0;
    display: block;
    font-weight: 400;
    font-size: 14px;
    line-height: 1.4em;
}

.sp_nav > ul > li.s_nav_01 a {
    font-size: 12px;
    line-height: 1.4em;
    font-weight: 400 !important;
}



.sp_nav > ul > li.sp_btn_img01,
.sp_nav > ul > li.sp_btn_img02 {
    text-align: center;
    border-bottom: 0;
}

.sp_nav > ul > li.sp_btn_img01 {
    margin: 30px 0 0;
}

.sp_nav > ul > li.sp_btn_img01 img {
    max-width: 240px;
    width: 100%;
}

.sp_nav > ul > li.sp_btn_img02 img {
    max-width: 40px;
    width: 100%;
}

/*************/



.page_ttl_area {
    margin-top: 77px;
    background-image: url("../images/common/bg_01.jpg");
    background-repeat: repeat;
    background-size: 25px;
}

.page_ttl_area .inner {
    max-width: 1130px;
    padding: 0 15px;
    height: 155px;
    margin: auto;
    display: flex;
    justify-content: flex-start;
    align-items: center;
}

.page_ttl_area .page_ttl {
    color: #FF7431;
    font-size: 36px;
    line-height: 1.3em;
    font-weight: 600;
    display: flex;
    align-items: center
}

.page_ttl_area .page_ttl span {
    font-size: 13px;
    line-height: 1.4em;
    padding-left: 10px;
    position: relative;
    margin-left: 20px;
    letter-spacing: 0;
    font-family: "Montserrat", sans-serif;
    font-optical-sizing: auto;
    font-weight: 700;
}

.page_ttl_area .page_ttl span:before {
    content: "";
    position: absolute;
    background-image: url("../images/common/icon_02.png");
    width: 6px;
    height: 6px;
    background-size: 100%;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
}

/*************/



.mv_area {
    margin-top: 77px;
    height: 600px;
    display: flex;
    justify-content: space-between;
}

.mv_area .l_box {
    min-width: 600px;
    width: 30%;
}

.mv_area .r_box {
    height: 600px;
    background-image: url("../images/top/mv_img.jpg");
    background-size: cover;
    background-position: center;
    width: 70%;
}

.mv_area .l_box .inner {
    max-width: 350px;
    margin: auto;
}

.mv_area .l_box .inner_a {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: auto;
    height: 600px;
}

.mv_area .l_box .mv_txt_img img {
    max-width: 330px;
    width: 100%;
    margin-bottom: 20px;
}

.mv_area .l_box .mv_txt {
    font-size: 15px;
    font-weight: 700;
}

.mv_area .btn_01 {
    text-align: left;
}

/**************/



.pan_list {
    width: 100%;
    padding: 10px 0px;
}

.pan_list ul {
    max-width: 1120px;
    padding: 0 10px;
    margin: 0 auto;
    line-height: 1.4em;
}


.pan_list ul li {
    display: inline;
    color: #333;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.3em;
    position: relative;
    padding-left: 15px;
    margin-left: 8px;
}


.pan_list ul li:first-child {
    padding-left: 0;
    margin-left: 0;
}

.pan_list ul li:last-child a {
    margin-right: 0;
    color: #333;
}

.pan_list ul li a {
    position: relative;
    display: inline;
    color: #333333;
    font-size: 11px;
}

.pan_list ul li:after {
    content: "";
    position: absolute;
    top: 3px;
    left: 0;
    background-image: url("../images/common/icon_pan.png");
    width: 5px;
    height: 12px;
    background-size: 100%;
}

.pan_list ul li:first-child:after {
    content: "";
    right: 0;
    background-image: none;
}






/**************/

.top .box01 {
    padding: 160px 0 180px;
}

.top .box01 .inner {
    position: relative;
}

.top .box01 .inner:before {
    content: "";
    position: absolute;
    background-color: #FFF6F2;
    border-radius: 0 30px 30px 0 / 0 30px 30px 0;
    width: calc((100% - 1130px) / 2 + 950px);
    height: 1020px;
    left: 0;
    top: -70px;
    z-index: -1;
}



.top .box01 .btn_01 {
    margin-top: 10px;
}





.top .bg_box {
    height: 400px;
    background-image: url("../images/top/bg_01.jpg");
    background-size: cover;
    background-position: center;
}





.top .bg_line {
    margin-bottom: 100px;
}


.top .box02 {
    margin-bottom: 30px;
}

.top .box02 .frame {
    margin-top: -70px;
}

.top .box03 {
    padding: 100px 0;
}

.top .box03 .type_05 .btn_01 {
    text-align: left;
}


.top .box05 .bg_a {
    background-image: url("../images/top/bg_02.jpg");
    padding: 40px;
	background-size: 1100px;
}

.top .box05 .type_05 p {
    color: #fff;
}

.top .box05 .type_05 {
    align-items: center;
}

.top .box05 .type_05 .btn_02 {
    margin-top: 20px;
}


.top .box05 .bg_a .type_05 .l_box img {
    display: block;
    margin-top: -70px;
}
.top .box05 .recruit_box{
	margin-bottom: 50px;
}


.top .box05 {
    padding: 150px 0 150px;
}

.top .box05 .inner {
    position: relative;
}

.top .box05 .inner:before {
    content: "";
    position: absolute;
    background-color: #FFF6F2;
    border-radius: 30px 0 0 30px / 30px 0 0 30px;
    width: calc((100% - 1130px) / 2 + 950px);
    height: 700px;
    right: 0;
    top: -80px;
    z-index: -1;
}






/**************/
.base .box01,
.base .box02,
.base .box03 {
    margin-bottom: 80px;
}

.base .type_01 {
    align-items: flex-start;
}









.news .tag_link {
    margin-bottom: 50px;
}


.news_single .float_ft {
    align-items: center;
    margin-bottom: 20px;
}

.news_single .float_ft .day_a {
    margin-right: 20px;
}



/**************/



.recruit .tel_box{
	border: 3px solid #FF7431;
	max-width: 500px;
	width: 100%;
	margin: auto;
	text-align: center;
	padding: 20px 15px;
}

.recruit .tel_box img{
	max-width: 267px;
	margin-bottom: 5px;
	width: 100%;
}
.recruit .box01{
	margin-bottom: 100px;
}
.recruit .box01 .tel_box{
	margin-top: 30px;
}

.recruit .box02{
	background-image: url("../images/recruit/bg_img.jpg");
	background-size: cover;
	background-position: center;
	padding: 100px 0;
	text-align: center;
}
.recruit .box02 p{
	color: #fff;
}

.recruit .box03{
	padding: 100px 0;
}
.recruit .box03 .inner{
	margin-bottom: 50px;
}
.recruit .box03 .inner:last-child{
	margin-bottom: 0;
}


.recruit .box03 p.txt_c{
	margin-bottom: 50px;
}

.recruit .box04{
	margin-bottom: 100px;
}

.recruit .box04 p.txt_c{
	margin-bottom: 40px;
}


.recruit .box04 .list_b{
	margin-bottom: 40px;
}


.recruit .box05 p.txt_c{
	margin-bottom: 40px;
}

.recruit .box05 .list_c{
	margin-bottom: 80px;
}



/**************/

.contact .box01 {
    margin-bottom: 50px;
}

.contact .box01 .en_box {
    margin-bottom: 80px;
}

.contact .box01 .en_box p {
    margin-bottom: 15px;
    font-weight: 600;
}

.contact .box01 .en_box .btn_01 {
    margin-top: 10px;
}

.contact .box02 .form_area {
    margin-top: 30px;
}

.contact .box02 p.txt_c.link_01 {
    font-weight: 500;
    font-size: 14px;
}




.en_contact .box02 p.txt_c.link_01 a,
.contact .box02 p.txt_c.link_01 a {
    font-size: 14px;
}






/**************/
article.product {
    margin-bottom: 0;
}

.product .box01 {
    margin-bottom: 40px;
}

.product .bg_03 {
    margin-bottom: 30px;
}

.product .bg_03 .ttl_01_j {
    margin-bottom: 0;
}

.product section .mask_list_s ul{
    margin-bottom: 50px;
}

.product section.box07 {

}

.product .box08{
	padding: 100px 0 60px;
	margin-bottom: 0;
}

.product .box08 .w900{
	background-color: #fff;
	padding: 20px 20px 40px;
}
.product .box08 .w900 .ttl_01{
	margin-top: -72px;
	margin-bottom: 30px;
}
.product .box08 .w900 p{
	text-align: center;
	margin-top: 20px;
}

.product .box08 .w900 .btn_pdf{
	margin-top: 30px;
}




.product_single .box01 {
    margin-bottom: 100px;
}

.product_single .box01 .ttl_03_a {
    margin-top: 10px;
}

.product_single .up_img {
    margin-bottom: 40px;
}

.product_single .up_img img {
    max-width: 100%;
    width: 100%;
}


.product_single .mask_list_s li {
    border: 2px solid #FF7431;
    cursor: pointer;
}

.product_single .mask_list_s ul li:after {
    content: "";
    position: absolute;
    width: 45px;
    height: 45px;
    background-size: 100%;
    background-image: url("../images/common/icon_05.png");
    bottom: -2px;
    right: -2px;
}

.product_single .mask_list_s li .tag_new,
.product_single .mask_list_s li .tag_end{
	top: -2px;
	left: -2px;
}

/**************/


.pop_up_box {
    display: none;
    position: fixed;
    z-index: 1000;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 90%;
    max-width: 1100px;
    padding: 60px;
    background: #fff;
    border-radius: 30px;
    text-align: left;
}


.bnr_pop_area::before {
    content: '';
    opacity: 0;
    transition: opacity 0.3s ease;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.3);
    pointer-events: none;
    /* クリック通す */
    z-index: 1000;
}



.bnr_pop_area.active::before {
    opacity: 1;
    pointer-events: auto;
    /* アクティブ時だけクリック受ける */
}

.bnr_pop_area .pop_img img {
    max-width: 1030px;
    width: 100%;
}

.h_pop_area .pop_img img {
    max-width: 1030px;
    width: 100%;
}

body.no_scroll {
    overflow: hidden;

}

.pop_overlay {
    display: none; 
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.6); 
    z-index: 999; 
}
/*
.pop_up_box {
    position: fixed;
    z-index: 1000; 
}*/
.pop_up_box .l_box.up_img{
    position: relative;
}
.pop_up_box .tag_new,
.pop_up_box .tag_end{
    top: 0 !important;
    left: 0 !important;
}

body.fixed {
    overflow: hidden;
    position: fixed;
    width: 100%;
}

.bnr_pop_area button.btn_off_a {
    display: none;
    color: #fff;
    font-size: 16px;
    line-height: 1.4em;
    background-color: #FF7431;
    font-weight: 500;
    border-radius: 5px;
    min-width: 240px;
    text-align: center;
    padding: 6px 15px 6px 15px;
    box-shadow: 0 3px 6px rgba(000, 000, 000, 0.16);
    margin: 10px auto 0;
    position: relative;
    cursor: pointer;
}

.bnr_pop_area button.btn_off_a:before {
    content: "";
    position: absolute;
    background-image: url("../images/common/icon_btn_off.png");
    width: 14px;
    height: 20px;
    background-size: 100%;
    right: 10px;
    top: 0;
    bottom: 0;
    margin: auto;
}

.bnr_pop_area button.btn_off {
    position: fixed;
    right: 25px;
    top: 15px;
    cursor: pointer;

}

.bnr_pop_area button.btn_off img {
    max-width: 21px;
    width: 100%;
}




/**************/



































/**************/
.wp-pagenavi {
    font-size: 14px;
    text-align: center;
    margin-top: 30px;
}

.wp-pagenavi a {
    background-color: #fff;
    border: 1px solid #FF7431;
    color: #FF7431;
    font-weight: normal;
    padding: 3px 13px;
    margin: 7px 4px;
    display: inline-block;
    white-space: nowrap;
    margin-bottom: 5px;
    border-radius: 100px;
    font-size: 14px;
}

.wp-pagenavi span {
    padding: 9px 0px;
    margin-bottom: 20px;
}

.wp-pagenavi .current,
.wp-pagenavi a:hover {
    padding: 3px 13px;
    border: 1px solid #FF7431;
    background-color: #FF7431;
    color: #fff;
    opacity: 1;
    font-size: 14px;
    display: inline-block;
    margin: 7px 4px;
    border-radius: 100px;
}

/*******************/

.editor {
    padding: 0;
    word-break: break-all;
    margin-bottom: 50px;
}

.editor img {
    height: auto;
    margin: 0px auto 15px;
    max-width: calc(100% - 14px);
    display: block;
    border-radius: 10px;
}

.editor a {
    color: #FF7431;
    text-decoration: underline;
}


.editor p {
    margin-bottom: 20px;
    color: #333;
}

.editor p:last-child {
    margin-bottom: 0;
}


.editor h1,
.editor h2,
.editor h3,
.editor h4,
.editor h5,
.editor h6 {
    border: none;
    text-align: left;
    padding: 0;
	line-height: 1.3em;
}

.editor h1:after,
.editor h2:after,
.editor h3:after,
.editor h4:after,
.editor h5:after,
.editor h6:after {
    display: none;
}
.editor h1{
	font-size: 22px;
	margin-bottom: 20px;
}
.editor h2 {
    background-color: #fcdfd4;
    padding: 10px;
    line-height: 1.4em;
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 20px;
}

.editor h3 {
    color: #FF7431;
    font-size: 18px;
    line-height: 1.4em;
    border-left: 10px solid #FF7431;
    padding-left: 10px;
    font-weight: 600;
    margin-bottom: 12px;
}

.editor h4 {
    font-weight: bold;
    margin-bottom: 10px;
    padding: 10px;
    border: 2px solid #D9D8D8;
    border-radius: 5px;
    color: #FF7431;
    font-size: 17px;
}

.editor h5 {
    font-size: 15px;
    color: #FF7431;
}

.editor h6 {
    font-size: 14px;
}

.editor .wp-block-table thead {
    border: none;
}

.editor table {
    border-collapse: collapse;
    width: 100%;
    margin-bottom: 40px;
    border-top: 1px solid #CECECE;
}

.editor table th {
    color: #FF7431;
    font-weight: 600;
    line-height: 1.6em;
    font-size: 18px;
    border-bottom: 1px solid #CECECE;
    text-align: left;
    padding: 20px 0;
    width: 200px;
}

.editor table td {
    border-bottom: 1px solid #CECECE;
    padding: 20px 0;
}

.editor strong {
    /*    color: #007AC7;*/
    font-weight: bold;
}

.editor em {
    font-style: italic;
}

.editor ul,
.editor ol {
    margin-bottom: 20px;
}

.editor ul li,
.editor ol li {
    padding: 0px 30px 0px 20px;
    margin-left: 20px;
    position: relative;
    list-style: none;
}

.editor ul li:before {
    content: '・';
    color: #007AC7;
    position: absolute;
    left: -7px;
    font-weight: bold;
    font-size: 25px;
    text-align: left;
}

.editor ol {
    counter-reset: editor_number;
}

.editor ol li {
    margin-left: 10px;
    padding: 0 30px 0 28px;
}

.editor ol li:before {
    counter-increment: editor_number;
    content: counter(editor_number)".";
    color: #007AC7;
    position: absolute;
    left: 0;
    width: 24px;
    text-align: right;
}

.editor blockquote {
    background-color: #F4F4F4;
    padding: 50px;
    margin: 0px 0px 30px 0px;
    position: relative;
}

.editor blockquote:before {
    content: url("../images/common/icon_bq_b.png");
    display: block;
    position: absolute;
    left: 10px;
    top: 10px;
    width: 30px;
    height: 30px;
}

.editor blockquote:after {
    content: url("../images/common/icon_bq_a.png");
    display: block;
    position: absolute;
    right: 10px;
    bottom: 10px;
    width: 30px;
    height: 30px;
}

.editor blockquote cite {
    text-align: right;
    font-style: normal;
    display: block;
    font-size: 14px;
}

.editor blockquote p {
    font-size: 16px;
}

.editor blockquote p:last-child {
    margin-bottom: 0;
}

.editor .aligncenter,
img.aligncenter {
    clear: both;
    display: block;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center;
}

.editor .alignleft,
.editor img.alignleft {
    display: inline;
    float: left;
    margin-right: 24px;
    margin-bottom: 15px;
}

.editor .alignright,
.editor img.alignright {
    display: inline;
    float: right;
    margin-left: 24px;
    margin-bottom: 15px;
}

.editor img.alignleft,
.editor img.alignright,
.editor img.aligncenter {
    margin-bottom: 12px;
}

.editor .wp-caption {
    background: #f1f1f1;
    line-height: 18px;
    margin-bottom: 20px;
    max-width: 632px !important;
    padding: 4px;
    text-align: center;
}

.editor .wp-caption img {
    margin: 5px 5px 0;
}

.editor .wp-caption p.wp-caption-text {
    color: #888;
    font-size: 12px;
    margin: 5px;
}

.editor .wp-block-embed iframe {
    width: 100%;
}



/************/







.form_area {
    border-collapse: collapse;
    border: 0;
    width: 100%;
}

.form_area th {
    display: block;
    width: 100%;
    text-align: left;
    font-size: 18px;
    padding: 10px 0 10px 0;
    color: #333333;
    letter-spacing: 0;
    font-weight: bold;
    line-height: 1.4em;
    position: relative;
    vertical-align: top;
}

.form_area td {
    padding: 3px 0 22px 0;
    width: 100%;
    display: block;
    font-size: 16px;
    line-height: 1.4em;
    text-align: left;
    position: relative;

}

.form_area td .f12 {
    margin-top: 10px;


}


.form_area th span {
    color: #FF7431;
    font-size: 17px;
    line-height: 1em;
    font-weight: 400;
    padding-left: 5px;

}



.point_a {
    color: #FF7431;
    font-size: 17px;
    line-height: 1em;
    font-weight: 400;

}




.form_area input,
.form_area textarea {
    padding: 10px 10px;
    width: 100%;
    background-color: #F4F4F4;
    font-size: 14px;
    color: #333;
    border-radius: 5px;

}

.form_area input[type="file"] {
    background-color: #fff;
}

.form_area input[type="radio"],
.form_area input[type="checkbox"] {
    width: auto;
}


.form_area .type1 {
    width: 45%;
}


.cont_form_btn {
    width: 260px;
    margin: 20px auto 0;
    position: relative;


}


.cont_form_btn input[type="submit"] {
    border: 2px solid #FF7431;
    background-color: #FF7431;
    color: #fff;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 0.06em;
    padding: 10px 20px 10px 20px;
    border-radius: 5px;
    width: 260px;
    text-align: center;
    margin: 0 auto 0;
    cursor: pointer;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;

}



.privacy_box {
    overflow: auto;
    width: 100%;
    height: 250px;
    padding: 30px 30px;
    background-color: #F7F7F7;
    color: #333;
    font-size: 14px;
}

.privacy_box .f18 {
    font-weight: bold;
    margin-bottom: 10px;
}

.privacy_box p {
    margin-bottom: 15px;
}







/*******************/
.cont_form .cp_ipselect {
    width: 50%;
    text-align: center;
}

.cont_form .cp_ipselect select {
    padding: 15px 10px;
    width: 100%;
    padding-right: 1em;
    cursor: pointer;
    text-indent: 0.01px;
    text-overflow: ellipsis;
    border: none;
    outline: none;
    background: transparent;
    background-image: none;
    box-shadow: none;
    -webkit-appearance: none;
    appearance: none;
}

.cont_form .cp_ipselect select::-ms-expand {
    display: none;
}

.cont_form .cp_ipselect.cp_sl01 {
    position: relative;
    background: #F7F7F7;
    width: 100%;
    text-align: left;
}

.cont_form .cp_ipselect.cp_sl01::before {
    position: absolute;
    top: 15px;
    right: 20px;
    font-size: 16px;
    width: 0;
    height: 0;
    padding: 0;
    color: #333333;
    content: "\f107";
    font-family: "Font Awesome 5 Free";
    pointer-events: none;
    font-weight: bold;
}

.cont_form .cp_ipselect.cp_sl01 select {
    padding: 15px 38px 15px 8px;
    color: #333333;
    font-weight: normal;
}

/*******************/

.check_area .check {
    position: relative;
    padding-left: 22px;
}

.check_area .check span {
    position: relative;
    font-weight: normal;
    font-size: 16px;
	display: inline-block;
}

.check_area label .checkbtn[type="checkbox"] {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
}

.check_area label span {
    display: inline-block;
    font-weight: bold;
    padding-left: 4px;
    margin-right: 40px;
}

.check_area label .checkbtn[type="checkbox"] + span::before,
.check_area label .checkbtn[type="checkbox"] + span::after {
    position: absolute;
    top: 5px;
    left: -18px;
    display: inline-block;
    content: '';
    box-sizing: border-box;
}

.check_area label .checkbtn[type="checkbox"] + span::before {
    z-index: 0;
    width: 18px;
    height: 18px;
    border: 1px #333 solid;
    border-radius: 3px;
    background-color: #fff;
}

.contact label .checkbtn[type="checkbox"] + span::after {
    z-index: 1;
    margin: 2px 6px;
    width: 7px;
    height: 11px;
}
/*
.contact .check_area label .checkbtn[type="checkbox"]:checked + span::before {
    background-color: #FF7431;
    border: 1px #FF7431 solid;
}

.contact .check_area label .checkbtn[type="checkbox"]:checked + span::after {
    border: 2px solid #fff;
    border-width: 0 2px 2px 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

*/

/*****************/
/* カスタムチェック表示 */
.check_area label span.mwform-checkbox-field-text::before,
.check_area label span.mwform-checkbox-field-text::after {
    content: '';
    display: inline-block;
    box-sizing: border-box;
    position: absolute;
}

.check_area label span.mwform-checkbox-field-text::before {
    width: 18px;
    height: 18px;
    border: 1px #333 solid;
    border-radius: 3px;
    background-color: #fff;
    left: -18px;
    top: 5px;
    z-index: 0;
}

.check_area label span.mwform-checkbox-field-text::after {
    width: 7px;
    height: 11px;
    border: 2px solid #fff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
    margin: 2px 6px;
    z-index: 1;
}

/* チェックされたとき */
.check_area input[type="checkbox"]:checked + span.mwform-checkbox-field-text::before,
.check_area span.mwform-checkbox-field-text.checked::before {
    background-color: #FF7431;
    border: 1px #FF7431 solid;
}

.check_area input[type="checkbox"]:checked + span.mwform-checkbox-field-text::after,
.check_area span.mwform-checkbox-field-text.checked::after {
    border: 2px solid #fff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}






/*****************/


.foot_common {
    padding: 50px 0;
    border-bottom: 1px solid #CECECE;
    border-top: 1px solid #CECECE;
}

.foot_common .type_01 div {
    position: relative;
    aspect-ratio: 21 / 8;
    display: block;
    overflow: hidden;
    cursor: pointer;
}
/*
.foot_common .type_01 div img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    max-width: 100%;
    max-height: 100%;
    height: auto;
    width: auto;
    transition: .4s ease-in-out;
    display: block;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    transform-style: preserve-3d;
}
*/

.foot_common .type_01 div img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    max-width: 100%;
    max-height: 100%;
    height: auto;
    width: auto;
    transition: .4s ease-in-out;
    display: block;
}

.foot_common .type_01 div:hover img:nth-of-type(2) {
    opacity: 0;
}

.foot_common .type_01 div a {
    opacity: 1;
}





/****************/
footer {
    padding: 45px 0;

}

footer h2 img {
    max-width: 270px !important;
    width: 100%;
    margin-bottom: 30px;
}

footer .type_01 {
    margin-bottom: 40px;
}

footer .type_01 .l_box ul li {
    background-color: #fff;
    margin-bottom: 20px;
    padding: 20px;

}

footer .type_01 .l_box ul li p {
    font-size: 14px;
    line-height: 1.6em;
}

footer .type_01 .r_box ul li a {
    font-size: 14px;
    line-height: 1.4em;
    font-weight: 700;
}

footer .type_01 .r_box ul li a:hover {
    color: #FF7431;
    opacity: 1;
}

footer .type_01 .r_box > ul > li {
    border-bottom: 1px solid #CECECE;
    padding: 10px 0;
}


footer .type_01 .r_box .f_02 {
    background-image: url("../images/common/icon_01.png");
    background-size: 9px;
    background-position: left 10px;
    padding-left: 15px;
}

footer .frame > ul {
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

footer .frame > ul li {
    display: flex;
    margin-left: 20px;
}

footer .frame > ul li a {
    font-size: 12px;
}

footer .frame > ul li.x_bnr img {
    max-width: 160px;
    width: 100%;
}

.copy {
    background-color: #FF7431;
    padding: 3px 5px;
    color: #fff;
    font-size: 11px;
    text-align: center;
    line-height: 1.4em;
}






#page_top {
    position: fixed;
    bottom: 50px;
    right: 30px;
    z-index: 99;
}

#page_top img {
    max-width: 18px;
    width: 100%;
}










#prod_link_01,
#prod_link_02,
#prod_link_03,
#prod_link_04,
#prod_link_05,
#prod_link_06 {
    margin-top: -80px;
    padding-top: 80px;
}











/*******************/

.mw_wp_form_input .confirm_on {
    display: none;
}

/***入力画面****************/

.mw_wp_form_input .confirm_on{
    display: none;
}

/***確認画面****************/
.mw_wp_form_confirm .off_box{
    display: none;
}

.mw_wp_form_confirm .confirm_on{
    display: block;
}


.mw_wp_form_confirm .confirm_on .cont_form_btn{
    margin: 40px 10px 0;
}

.mw_wp_form_confirm .form_area td{
    background-color: #F9F9F9;
    padding: 10px;
}
.mw_wp_form_confirm .check_area .check{
    padding-left: 0;
}


/***エラー表示****************/
.mw_wp_form .error{
    margin-top: 5px;
    font-size: 75% !important;
    position: absolute;
}

.mw_wp_form .check_area .error {
    position: absolute !important;
    bottom: -27px;
    left: 0;
}
/*
#mw_wp_form_mw-wp-form-22.mw_wp_form .error {
    font-size: 0 !important;
}
#mw_wp_form_mw-wp-form-22.mw_wp_form .error::after {
    content: "*error";
    font-size: 14px;
    color: #d00;
}


/***完了画面****************/

.thank_txt{
    text-align: center;
    margin: 70px 0 100px;
}



/*****************/


.thank_txt{
	text-align: center;
}


#mw_wp_form_mw-wp-form-21,
#mw_wp_form_mw-wp-form-22{
    padding-top: 100px;
    margin-top: -100px;
}


/*-------------------------------
media
--------------------------------*/
.sp_on,
.sp_x_btn {
    display: none;
}







@media (max-width: 1300px) {


    .mv_area .l_box {
        min-width: 400px;
    }

}

@media (min-width: 931px) {
    .sp_nav {
        display: none !important;
    }
}


@media (max-width: 930px) {
    .pc_area {
        display: none;
    }

    .sp_head,
    .sp_nav {
        display: block;
    }

    #navToggle {
        display: block;
    }

    .mv_area {
        margin-top: 60px;
    }

    .fixed {
        position: fixed;
        width: 100%;
        height: 100%;
    }

    .page_ttl_area {
        margin-top: 59px;
    }
	
	.mask_list li p{
		font-size: 16px;
	}
	.mask_list_s li p{
		font-size: 16px;
	}
	
}

@media (max-width: 767px) {
    body {
        min-width: 100%;
        font-size: 15px;
    }

    p {
        font-size: 15px;
    }

    .sp_on {
        display: block;
    }

    .pc_on {
        display: none;
    }



    .sp_img img {
        max-width: 400px !important;
        width: 100%;
        margin: auto;
        display: block;
    }



    .bg_02 {
        padding: 20px;
    }

	.bg_04{
		padding: 30px;
	}


    .float_sb,
    .float_sa,
    .float_ce,
    .float_en,
    .float_ft,
    .type_04,
    .type_05,
    .type_01,
    .type_02,
    .type_03,
	.type_07,
	.type_08{
        display: block;
    }




    .type_01 .l_box {
        margin-bottom: 40px;
    }

    .type_01 .l_box,
    .type_01 .r_box {
        max-width: 100%;
        width: 100%;
    }

    .type_01 .r_box img,
    .type_01 .l_box img,
    .type_02 .r_box img,
    .type_02 .l_box img {
        max-width: 525px;
        width: 100%;
        display: block;
        margin: auto;
    }

    .type_03 .l_box,
    .type_03 .r_box {
        max-width: 100%;
        width: 100%;
    }

    .type_03 .l_box {
        margin-bottom: 10px;
    }

    .type_03 .l_box img {
        max-width: 100px;
        display: block;
        margin: auto;
    }


    .type_04 .l_box {
        width: 100%;
        margin: 0 auto 30px;
    }

    .type_04 .r_box {
        width: 100%;
        max-width: 100%;
    }




    .type_05 > div {
        margin: auto;
    }

    .type_05 .l_box {
        margin-bottom: 30px;
    }

    .type_05 .l_box,
    .type_05 .r_box {
        width: 100%;
        max-width: 100%;
    }

    .type_05 .l_box img,
    .type_05 .r_box img {
        display: block;
        margin: auto;
    }
    .type_07 .l_box {
        margin-bottom: 30px;
    }

    .type_07 .l_box,
    .type_07 .r_box {
        width: 100%;
        max-width: 100%;
    }

    .type_07 .l_box img,
    .type_07 .r_box img {
        display: block;
        margin: auto;
    }
	
	.list_link li{
		min-width: auto;
		max-width: 270px;
		width: 100%;
	}



    .page_ttl_area .inner {}

    .page_ttl_area .page_ttl {
        font-size: 28px;
        display: block;
    }

    .page_ttl_area .page_ttl span {
        display: block;
        margin-left: 0;
        margin-top: 7px;
    }




    .ttl_01,
    .ttl_01_w {
        font-size: 30px;
    }

    .ttl_01_j {
        font-size: 24px;
    }

    .ttl_01 span,
    .ttl_01_w span {
        font-size: 17px;
    }
	.ttl_02{
		font-size: 20px;
	}

    .ttl_03 {
        font-size: 20px;
    }

    .ttl_03_a {
        font-size: 22px;
    }

    .ttl_04 {
        font-size: 18px;
    }


	.ttl_07{
		font-size: 16px;
	}
	

    .list_a li > div {
        margin-bottom: 10px;
    }

    .list_a li p {
        width: 100%;
        font-size: 15px;
    }


	.list_d{
		display: block;
	}

	.list_d li{
		width: 100%;
		max-width: 400px;
		margin: 0 auto 30px;
	}
	.list_d li:last-child{
		margin-bottom: 0;
	}

	.list_d img{
		max-width: 100%;
	}
	
	
    .tag_link a {
        font-size: 14px;
        padding: 5px 8px;
    }



    .pop_up_box {
        padding: 30px;
        border-radius: 10px;
    }

    .bnr_pop_area button.btn_off {
        right: 15px;
        top: 5px;
    }



	.editor h1{
		
	}
	
	





    .table_01 th,
    .table_01 td,
    .table_01_a th,
    .table_01_a td,
    .editor table th,
    .editor table td {
        display: block;
        width: 100%;
    }

    .table_01 th,
    .table_01_a th,
    .editor table th {
        border-bottom: 0;
        padding-bottom: 0;
        font-size: 16px;
    }

    .table_01 td,
    .table_01_a td,
    .editor table td {
        padding-top: 0;
    }
    .table_01_a th{
        padding-top: 15px;
    }
    .table_01_a td{
        padding-bottom: 15px;
    }





    .mask_list,
    .mask_list_s {
        display: block;
    }

    .mask_list li,
    .mask_list_s li {
        width: 100%;
        max-width: 400px;
        margin: 0 auto 60px;
    }


    .mask_list li p,
    .mask_list_s li p {
        font-size: 17px;
    }

    .top .box01 .inner:before,
    .mask_list ul:after,
    .mask_list_s ul::after,
    .mask_list_s ul::before {
        display: none;
    }




	.list_b{
		display: block;
	}
	.list_b li{
		max-width: 400px;
		width: 100%;
		margin: 0 auto 30px;
	}
	.list_b li div {
		text-align: center;
	}
	
	
	
	.list_c li{
		width: 48%;
		max-width: 100%;
	}
	.list_c img{
		max-width: 100%;
	}
	


    .mv_area,
    .mv_area .l_box .inner_a {
        height: 500px;
    }

    .mv_area .l_box .inner {
        max-width: 100%;
        width: 100%;
        padding: 0 15px;
    }

    .mv_area .r_box {
        display: none;
    }

    .mv_area .l_box {
        background-image: url("../images/top/sp_mv_img.jpg");
        background-position: center;
        background-size: 767px;
        background-repeat: no-repeat;
        width: 100%;
        text-align: center;
        min-width: 100%;
    }

    .mv_area .l_box .mv_txt {
        color: #fff;
        text-align: center;
    }

    .mv_area .btn_01 {
        text-align: center;
    }











    .bnr_pop_area .pop_up_box {
        height: calc(100% - 60px);
        /* ボタンなど他要素分を引いた高さ */
        overflow-y: auto;
        /* 縦スクロールを許可 */
        -webkit-overflow-scrolling: touch;
        /* iOSでスムーズスクロール */
    }

    .bnr_pop_area button.btn_off_a {
        margin-top: 30px;
        display: block;
    }



	article.top{
		margin-bottom: 0;
	}

    .top .box01 {
        padding: 0 0;
    }

    .top .box01 .inner {
        background-color: #FFF6F2;
        border-radius: 0;
        padding: 80px 0;
    }

    .top .box03 .type_05 .btn_01 {
        text-align: center;
    }

    .top .box05 .bg_a .type_05 {
        display: block;
    }

    .top .box05 .bg_a {
        padding: 20px 20px 40px;
        max-width: 400px;
        margin: auto;
    }

    .top .box05 .bg_a .type_05 .l_box {
        max-width: 100%;
        margin: auto;
    }

    .top .box05 .bg_a .type_05 .l_box {
        width: 100%;
        margin-bottom: 30px;
    }

    .top .box05 .bg_a .type_05 .l_box img {
        width: 100%;
        max-width: 100%;
    }

    .top .box05 .bg_a .type_05 .r_box {
        max-width: 100%;
        width: 100%;
        margin: auto;
    }

    .top .box05 {
        padding: 0 0 0;
    }

    .top .box05 .inner {
        background-color: #FFF6F2;
        border-radius: 0;
        padding: 80px 0;
    }

    .top .box05 .inner:before {
        display: none;
    }

    .top .box05 .type_05 .l_box {
        margin-bottom: 20px;
    }

    .top .box05 .type_05 > div {
        text-align: center;
        margin: auto;
    }

	.top .bg_box {
		height: 300px;
		background-image: url("../images/top/sp_bg_01.jpg");
		background-size: 767px;
	}

	.top .box05 .bg_a {
		background-image: url("../images/top/sp_bg_02.jpg");
		background-size: cover;
	}










	.product .bg_03{
		padding: 30px 15px;
	}

	.product .box08 .w900 .ttl_01{
		margin-top: -60px;
	}







    .company .mw_540.mb10 {
        margin-top: 10px;
    }






	.news_single .float_ft .day_a{
		margin-bottom: 10px;
	}







    .form_area .type1 {
        width: 100%;
    }


    .foot_common .type_01 div {
        max-width: 400px;
        width: 100%;
        margin: auto;
    }

    .foot_common .type_01 .l_box {
        margin-bottom: 20px;
    }


    footer {
        padding: 40px 0 30px;
    }

    footer .type_01 .r_box,
    footer .frame > ul {
        display: none;
    }

	footer h2{
		margin-bottom: 30px;
	}
    footer .sp_x_btn {
        display: block;
        text-align: center;
    }

    footer .sp_x_btn img {
        max-width: 40px;
        width: 100%;
    }

    footer .bg_01 {}
















    #page_top {
        bottom: 30px;
        right: 5px;
    }


}


@media (max-width: 400px) {





    ul.link_02 {
        display: block;
    }

    ul.link_02 a {
        font-size: 15px;
    }

}
