@charset "UTF-8";
*, *::before, *::after { box-sizing: border-box; }

html { margin: 0; padding: 0; box-sizing: border-box; font-size: 18px; }

body { margin: 0; padding: 0; color: #26272b; font-weight: 300; font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif; background-color: #fff; }

a { color: #26272b; text-decoration: none; }

a:hover { color: #484849; }

.x-small { font-size: 0.6rem; }

.small { font-size: 0.8rem; }

.strong { font-size: 1.2rem; }

.logo-font { font-family: ten-mincho, serif; }

.b_boder { border-bottom: solid 2px; padding-bottom: 3px; }

.pc_display { display: inherit !important; }

.sp_display { display: none !important; }

.mb-10 { margin-bottom: 10px; }

.mb-20 { margin-bottom: 20px; }

.submenu_title { width: auto; height: auto; display: block; text-align: center; margin-bottom: 60px; }
.submenu_title span { display: inline; margin: 0 auto 40px auto; padding: 3px 60px; color: #fff; font-size: 1.4rem; font-weight: 600; background-color: #26272b; border-radius: 20px; text-align: center; letter-spacing: 1.4; }

.contents_title { font-size: 3.0rem; color: #26272b; font-family: ten-mincho, serif; margin: 0 0 60px -100px; }

header { width: 100%; height: 120px; padding: 10px 0; margin: 0; position: fixed; z-index: 998; }
header h1 { display: inline; font-size: 0.4rem; color: #26272b; margin: 0 0 5px 20px; font-weight: 300; position: absolute; top: 5px; left: 20px; }
header h1 #index_h1 { color: #ffffff; }
header .header_logo { position: absolute; width: 12%; top: 30px; left: 40px; color: #26272b; text-shadow: 0.5px 0.5px 0px #fff; }
header #pc-nav { display: flex; justify-content: center; text-shadow: 0.5px 0.5px 0px #fff; }
header #pc-nav ul#pc-nav-list { width: auto; height: auto; margin: 20px 0 0 0; display: flex; }
header #pc-nav ul#pc-nav-list li { font-family: ten-mincho, serif; color: #26272b; list-style: none; margin: 0 0 0 60px; font-size: 1.0rem; text-align: center; }
header #pc-nav ul#pc-nav-list li a:hover { opacity: 0.8; }

li.menu_active a { color: #00b2db; }

.header_contact { right: 0; top: 0; position: absolute; width: auto; height: auto; font-family: ten-mincho, serif; color: #fff; font-weight: 600; font-size: 1.4rem; padding: 3px 40px; -webkit-animation: color-change-2x 5s linear infinite alternate both; animation: color-change-2x 5s linear infinite alternate both; }
.header_contact a { color: #fff; }

@-webkit-keyframes color-change-2x { 0% { background: #00b2db; }
  100% { background: #26272b; } }
@keyframes color-change-2x { 0% { background: #00b2db; }
  100% { background: #26272b; } }
.mainimg { background-color: #94d4d4; width: 100%; height: 100vh; }
.mainimg h2 { display: block; font-size: 2.4rem; letter-spacing: 1.4; font-family: ten-mincho, serif; font-weight: 300; justify-content: center; position: absolute; z-index: 1000; bottom: 10%; left: 50%; }
.mainimg h3 { display: block; font-size: 2.4rem; letter-spacing: 1.4; font-family: ten-mincho, serif; font-weight: 300; text-align: left; justify-content: center; position: absolute; z-index: 1000; bottom: 10%; left: 50%; }
.mainimg h4 { width: 100%; height: auto; font-size: 3.0rem; letter-spacing: 1.4; font-family: ten-mincho, serif; font-weight: 300; text-align: center; justify-content: center; align-content: center; position: absolute; z-index: 1000; bottom: 20%; }

ul.slider { position: relative; z-index: 1; max-width: 100vw; height: 100vh; margin: 0; padding: 0; }
ul.slider li { margin: 0; padding: 0; display: inherit; }
ul.slider li div { display: block; }
ul.slider .slider-item01 { background: url(../images/mainimg_01.png); background-size: cover; }
ul.slider .slider-item02 { background: url(../images/mainimg_02.png); background-size: cover; }
ul.slider .slider-item03 { background: url("../images/mainimg_logo.svg"); background-size: cover; }
ul.slider .slider-item { width: 100%; height: 100vh; background-repeat: no-repeat; background-position: center; background-size: cover; }

.slick-prev, .slick-next { display: none; }

.slick-prev { display: none; }

.slick-next { display: none; }

.slick-dots { display: none; }

#index_main { background-image: url("../images/index_bg01.png"); background-repeat: no-repeat; background-size: cover; background-position: left top; min-height: 300vh; margin: 0; padding: 0; }

#index_01 section { width: 1100px; height: 100vh; margin: 0 auto; padding: 25% 0 0 0; display: flex; position: sticky; }

#index_02 section { width: 1100px; height: auto; margin: 0 auto; padding: 25% 0 0 0; display: flex; }

.index_contentsbox_l { width: 30%; height: auto; display: flex; flex-direction: column; }
.index_contentsbox_l .index_subtitle { width: auto; display: inline-block; font-family: ten-mincho, serif; font-size: 2.4rem; color: #26272b; background: linear-gradient(transparent 60%, #00b2db 0%); padding: 0 10px; }
.index_contentsbox_l p { display: inherit; width: 100%; }
.index_contentsbox_l .sub_nav { font-family: ten-mincho, serif; font-size: 1.8rem; font-weight: 200; width: 100%; text-align: right; }
.index_contentsbox_l .sub_nav img { width: 70px; height: auto; margin-left: 10px; }

.index_contentsbox_r { width: 30%; height: auto; flex-direction: column; margin-left: 70%; }
.index_contentsbox_r .index_subtitle { width: auto; display: inline-block; font-family: ten-mincho, serif; font-size: 2.4rem; color: #00b2db; background: linear-gradient(transparent 60%, #26272b 0%); padding: 0 10px; }
.index_contentsbox_r p { display: inherit; width: 100%; }
.index_contentsbox_r .sub_nav { font-family: ten-mincho, serif; font-size: 1.8rem; font-weight: 200; width: 100%; text-align: right; }
.index_contentsbox_r .sub_nav img { width: 70px; height: auto; margin-left: 10px; }

.index_works { width: 60%; height: auto; margin: 40px 0 25% 5%; }

.works_slider { height: 100%; display: flex; flex-wrap: wrap; }
.works_slider .rev_slide_01 { width: 210px; height: 160px; overflow: hidden; margin: 0 10px 10px 0; box-shadow: 2px 2px 10px 0 rgba(0, 0, 0, 0.4); }
.works_slider .rev_slide_01 img { width: 210px; height: 160px; object-fit: cover; }
.works_slider .rev_slide_01 img:hover { transform: scale(1.2); transition-duration: 2s; }
.works_slider .rev_slide_02 { width: 200px; height: 300px; overflow: hidden; margin: 0 10px 10px 0; box-shadow: 2px 2px 10px 0 rgba(0, 0, 0, 0.4); }
.works_slider .rev_slide_02 img { width: 200px; height: 300px; object-fit: cover; }
.works_slider .rev_slide_02 img:hover { transform: scale(1.4); transition-duration: 2s; }
.works_slider .rev_slide_03 { width: 190px; height: 200px; overflow: hidden; margin: 0 0 10px 0; box-shadow: 2px 2px 10px 0 rgba(0, 0, 0, 0.4); }
.works_slider .rev_slide_03 img { width: 190px; height: 200px; object-fit: cover; }
.works_slider .rev_slide_03 img:hover { transform: scale(1.2); transition-duration: 2s; }
.works_slider .rev_slide_04 { width: 210px; height: 300px; overflow: hidden; margin: -140px 10px 10px 0; box-shadow: 2px 2px 10px 0 rgba(0, 0, 0, 0.4); }
.works_slider .rev_slide_04 img { width: 210px; height: 300px; object-fit: cover; }
.works_slider .rev_slide_04 img:hover { transform: scale(1.2); transition-duration: 2s; }
.works_slider .rev_slide_05 { width: 200px; height: 160px; overflow: hidden; margin: 0 10px 10px 0; box-shadow: 2px 2px 10px 0 rgba(0, 0, 0, 0.4); }
.works_slider .rev_slide_05 img { width: 200px; height: 160px; object-fit: cover; }
.works_slider .rev_slide_05 img:hover { transform: scale(1.6); transition-duration: 2s; }
.works_slider .rev_slide_06 { width: 190px; height: 260px; overflow: hidden; margin: -100px 10px 10px 0; box-shadow: 2px 2px 10px 0 rgba(0, 0, 0, 0.4); }
.works_slider .rev_slide_06 img { width: 190px; height: 260px; object-fit: cover; }
.works_slider .rev_slide_06 img:hover { transform: scale(1.2); transition-duration: 2s; }

.footer_contact { width: 30%; height: auto; background-color: #26272b; color: #fff; text-align: center; margin: 40px auto 80px auto; padding: 30px 50px; transition-duration: 2s; }
.footer_contact:hover { background-color: #fff; color: #26272b; filter: drop-shadow(0px 5px 5px rgba(0, 0, 0, 0.6)); border: solid 10px #00b2db; transition: all 1s ease; }
.footer_contact:hover .footer_contact_title { background-color: #00b2db; color: #fff; }
.footer_contact .footer_contact_title { display: inline-block; background-color: #fff; font-family: Verdana, Geneva, "sans-serif"; color: #26272b; font-size: 1.4rem; font-style: italic; letter-spacing: 1.2; padding: 3px 60px; margin-bottom: 10px; transform: skewX(-20deg); }
.footer_contact .footer_contact_title div { transform: skewX(20deg); }
.footer_contact a { color: #fff; }

.footer_contents { padding-bottom: 20px; }

footer { width: 30%; text-align: center; margin: 0 auto; }
footer h1 { font-size: 0.6rem; font-weight: 100; font-family: ten-mincho, serif; margin-bottom: 10px; }
footer .footer_logo { width: 250px; height: auto; margin: 10px auto; }
footer address { font-size: 0.6rem; font-weight: 100; font-family: ten-mincho, serif; border-bottom: solid 1px #26272b; padding-bottom: 5px; }
footer ul { width: 80%; margin: 20px auto; padding: 0; display: flex; justify-content: space-between; font-size: 0.8rem; }
footer ul li { list-style: none; margin: 0; }

#contents_main { width: 100%; height: auto; margin: 0; padding: 150px 0 0 0; }
#contents_main .contents_box { width: 1100px; height: auto; margin: 0 auto 40px auto; }

#contents_company { background-color: #fff; background-image: url("../images/company_mainimg.png"); background-repeat: no-repeat; background-position: right center; background-size: 70%; padding: 40px 0; }
#contents_company h2 { margin: 40px 0; font-size: 2.4rem; font-weight: 900; color: #00b2db; }
#contents_company p { width: 40%; }

#contents_service { background-color: #fff; background-image: url("../images/service_mainimg.png"); background-repeat: no-repeat; background-position: right center; background-size: 70%; padding: 40px 0; }
#contents_service h2#service01 { width: 70%; margin: 40px 0 40px -100px; padding: 0 0 0 60px; background-image: url("../images/service_bg01.png"); background-repeat: no-repeat; background-position: right bottom; background-size: 100%; font-size: 3.4rem; font-weight: 900; color: #26272b; }
#contents_service div.service_menu { width: 45%; padding: 5px 40px; border: solid 3px #26272b; }
#contents_service div.service_menu h3 { font-size: 2.0; letter-spacing: 1.5; font-weight: 900; line-height: 2.0; }

#service02 { margin: 0 0 80px 0; background-image: url("../images/service_bg05.png"); background-repeat: no-repeat; background-position: left; background-size: 40%; }
#service02 h2 { width: 70%; margin: 40px 0 40px 30%; padding: 0 0 0 60px; background-image: url("../images/service_bg02.png"); background-repeat: no-repeat; background-position: right bottom; background-size: 100%; font-size: 3.4rem; font-weight: 900; color: #26272b; }
#service02 h4 { margin: 20px 0; text-align: right; font-size: 2.0rem; }
#service02 div.service_menu { width: 45%; padding: 5px 40px; border: solid 3px #26272b; margin-left: 55%; }

#service03 { margin: 0 0 80px 0; padding-top: 40px; background-image: url("../images/service_bg04.png"); background-repeat: no-repeat; background-position: right bottom; background-size: 50%; }
#service03 h2 { width: 70%; margin: 40px 0 40px -100px; padding: 0 0 0 60px; background-image: url("../images/service_bg03.png"); background-repeat: no-repeat; background-position: left bottom; background-size: 80%; font-size: 3.4rem; font-weight: 900; color: #26272b; }
#service03 h4 { margin: 20px 0; text-align: right; font-size: 2.0rem; }
#service03 div.service_menu { width: 45%; padding: 5px 40px; border: solid 3px #26272b; margin-left: 0; }

.table_company { width: 80%; height: auto; margin: 0 auto 40px auto; background-color: #fff; }
.table_company th, .table_company td { border-collapse: 0; border-bottom: solid 1px #00b2db; padding: 10px 20px 5px 20px; text-align: left; }

#contact_header { background-image: url("../images/contact_bg.png"); background-repeat: no-repeat; background-size: 100%; padding: 60px 0; margin-bottom: 40px; }

.g-map { width: 100%; height: 600px; }
.g-map iframe { width: 100%; height: 600px; }

#contact_tel { font-size: 1.8rem; font-weight: 300; letter-spacing: 1.5; margin: 40px 0; text-align: center; font-style: italic; }
#contact_tel p { font-size: 1.0rem; margin: 40px 0; }

.formtable { width: 60%; margin: 0 auto 40px auto; border-spacing: 0; text-align: left; }
.formtable th { width: 35%; border-bottom: solid 2px #00b2db; padding: 20px 20px 10px 20px; text-align: left; vertical-align: middle; white-space: nowrap; }
.formtable td { width: 65%; border-bottom: solid 1px #26272b; text-align: left; padding: 20px 20px 10px 20px; }

.formtable_kakunin { width: 100%; margin: 0 auto 40px auto; border-spacing: 0; }
.formtable_kakunin th { width: 35%; border-bottom: solid 2px #00b2db; padding: 20px 20px 10px 20px; text-align: left; vertical-align: middle; white-space: nowrap; }
.formtable_kakunin td { width: 65%; border-bottom: solid 1px #26272b; text-align: left; padding: 20px 20px 10px 20px; }

.input_box { width: 90%; padding: 10px; background-color: #fff; margin: 0 10px 0 0; overflow: hidden; }

input.btn_style { font-size: 1.2rem; padding: 10px 40px; border: solid 2px #00b2db; background-color: #fff; position: relative; overflow: hidden; text-decoration: none; display: inline-block; text-align: center; outline: none; transition: ease .2s; }

input.btn_style span { position: relative; z-index: 3; color: #26272b; }

input.btn_style:hover { color: #26272b; background-color: #fff; border: solid 3px #26272b; transition: all 0.2s; }

input[type=checkbox] { display: none; }

.checkbox { box-sizing: border-box; cursor: pointer; display: inline-block; padding: 5px 30px; position: relative; width: auto; }

.checkbox::before { background: #fff; border: solid 1px #26272b; content: ''; display: block; width: 16px; height: 16px; left: 5px; margin-top: -8px; position: absolute; top: 50%; }

.checkbox::after { border-right: 3px solid #214492; border-bottom: 3px solid #214492; content: ''; display: block; width: 7px; height: 9px; left: 10px; margin-top: -5px; opacity: 0; position: absolute; top: 50%; transform: rotate(45deg); }

input[type=checkbox]:checked + .checkbox::after { opacity: 1; }

/* ラジオボタン01 */
input[type=radio] { display: none; }

.radio01 { width: 100%; height: auto; box-sizing: border-box; cursor: pointer; display: inline-block; padding: 5px 30px; position: relative; }

.radio01::before { background: #fff; border: 1px solid #26272b; border-radius: 50%; content: ''; display: block; width: 16px; height: 16px; left: 5px; margin-top: -8px; position: absolute; top: 50%; }

.radio01::after { background: #00b2db; border-radius: 50%; content: ''; display: block; width: 10px; height: 10px; left: 8px; margin-top: -5px; opacity: 0; position: absolute; top: 50%; }

input[type=radio]:checked + .radio01::after { opacity: 1; }

.jump_btn { width: 250px; height: auto; padding: 10px 30px; margin: 40px auto 0 auto; border: solid 1px #26272b; text-align: center; background-color: #fff; }

.jump_btn a { display: block; color: #26272b; }

.jump_btn:hover { background-color: #00b2db; }

.required { font-size: 0.8rem; font-weight: 300; color: #fff; background-color: #94d4d4; padding: 1px 3px; border-radius: 16px; margin-left: 5px; }

ul#protectionpolicy { width: 100%; height: auto; margin: 0 auto; padding: 30px; background-color: #F2F2F2; }
ul#protectionpolicy .protectionpolicy_title { font-size: 1.2rem; font-weight: 900; margin-bottom: 10px; }
ul#protectionpolicy li { list-style: none; margin: 0 0 30px 0; padding: 0; text-align: left; }
ul#protectionpolicy span { display: block; width: 100%; height: auto; font-weight: bold; border-bottom: solid 1px #26272b; padding: 0 0 5px 0; margin: 0 0 30px 0; }
ul#protectionpolicy p { width: 96%; height: auto; margin-left: 2%; }
ul#protectionpolicy ul#inline_list { width: 90%; height: auto; margin: 0 auto 0 auto; padding: 0; }
ul#protectionpolicy ul#inline_list li { margin: 0 0 5px 0; padding: 0; list-style: disc; }

#pp_check { text-align: center; margin: 10px 0; }

#pp_check input#check_box { margin: 0 10px 0 0; }

#instructions { position: absolute; color: #fff; bottom: 0; padding-bottom: 6px; font-family: sans-serif; width: 100%; text-align: center; pointer-events: none; }

.em { display: block; border-top: solid 1px #00b2db; border-bottom: solid 1px #00b2db; padding: 15px 0; }

.works_box { width: 100%; height: auto; margin: 0 0 40px 0; display: flex; }
.works_box li { list-style: none; width: 30%; height: auto; margin: 0 auto; }
.works_box li img { width: 100%; height: auto; box-shadow: 1px 1px 3px #ccc; }

#info202505 { margin: 80px 0 !important; }
