

/*  合同会社24
--------------------------------------------------------------------------*/
/*  https://
--------------------------------------------------------------------------*/

@charset "shift_jis";
a:link {text-decoation: none;color:#333;} 
a:visited {text-decoration: none;color:#333;} 
a:hover {text-decoration: none;} 
body { margin:0px;padding:0px;}
body { width: 100%;position:relative;}
body { background-color: #fff; }
body { font-family: 'Noto Sans JP', sans-serif;}
body, th, td, div, font { line-height: 1.5; }
body { font-size: 16px;font-size: 1.6rem;   /* sets the default sizing to make sure nothing is actually 10px */}
body { width: 100%;position: relative;background: url(../img/bg.jpg) top center no-repeat;background-attachment: fixed;z-index:1;}

html { font-size: 62.5%; text-size-adjust: 100%;-webkit-text-size-adjust: 100%;}

ul, ol, ul li, ol li { list-style: none;}
img, a img { border: 0px none; vertical-align: bottom;outline: none;}
form{margin:0px;}
input{margin:0px;}form{margin:0px;}
iframe{ vertical-align: bottom;}

::-webkit-scrollbar-track {background: #fff;border-radius: 5px;}
::-webkit-scrollbar { width: 8px;height: 10px;}
::-webkit-scrollbar-thumb {background: #d8d8d8;border-radius: 5px;}

@font-face {font-family: 'Pinyon Script', cursive;font-style: ;src: url(''),url('../font/PinyonScript-Regular.ttf') format('truetype');}
@font-face {font-family: 'Noto Sans JP', sans-serif;font-style: ;src: url(''),url('../font/NotoSansJP-Light.otf') format('opentype');}
@font-face {font-family: 'Noto Sans JP', sans-serif;font-style: ;src: url(''),url('../font/NotoSansJP-Thin.otf') format('opentype');}
@font-face {font-family: 'Noto Sans JP', sans-serif;font-style: ;src: url(''),url('../font/NotoSansJP-Medium.otf') format('opentype');}

.font-script {font-family: "Pinyon Script", cursive; letter-spacing: -0.5px;}

.mincho { font-family:"游明朝","YuMincho","ヒラギノ明朝 ProN W3","HiraMinProN-W3","HG明朝E",serif;}
@media screen and (max-width: 640px) {
.mincho { font-family:"Sawarabi Mincho", serif;}
}

@-webkit-keyframes light {
    0% { -webkit-transform: scale(0) rotate(45deg); opacity: 0; }
    80% { -webkit-transform: scale(0) rotate(45deg); opacity: 0.5; }
    81% { -webkit-transform: scale(4) rotate(45deg); opacity: 1; }
    100% { -webkit-transform: scale(50) rotate(45deg); opacity: 0; }
}
@media screen and (max-width: 640px) {.sp_none {display: none !important;}}
@media screen and (min-width: 640px) {.pc_none {display: none !important;}}


:root {
--colorGradation1:linear-gradient(90deg, #006896 0%,#95b6c5 100%);
--colorGradation2:radial-gradient( #b8b099, #cfb973 );
}

.marker_pink { background: linear-gradient(transparent 40%, #ffa2a6 40%);display: inline; }

h1 { margin: 0px;padding: 0px;}
h2 { margin: 0px;padding: 0px;}
h3 { margin: 0px;padding: 0px;}
.clear { display: none;}


/* HEADER */

.header{ background-color: rgba(255,255,255,0.7);border-bottom: 0px solid #f8f8f8;position: fixed;top: 0px;z-index: 8888;}
.header{ width: 100% ;height: 110px;padding: 0px 0px;}

/* MENU */




/* アニメーション */

.delighter.delighter {transition: all .6s ease-out;transform: translateY(30%);opacity: 0;}
.delighter.delighter.started { transform: none;opacity: 1;}
.delighter.delighter.started.ended {}
.delighterL.delighter {/* 左から */transition:all .6s ease-out;transform:translateX(-15%);opacity:0}
.delighterR.delighter {/* 右から */transition:all .6s ease-out;transform:translateX(15%);opacity:0}

.img_wrap{position: relative;overflow: hidden;}
.img_fadein::before{content: '';width: 100%;height: 100%;position: absolute;left: 0;top: 0;background: #fff;z-index: 2;transition: .5s;}
.img_fadein.show::before{transform: translateX(100%);}
.img_fadein img{opacity: 0;transition: .5s;}

.img_fadein.show img{opacity: 1;}

/* 画像左から */

.flipLeft{animation-name: flipLeft;animation-duration:0.5s;animation-fill-mode:forwards;perspective-origin: left center;opacity: 0;}
@keyframes flipLeft{from {transform: perspective(600px) translate3d(0, 0, 0) rotateY(30deg);opacity: 0;}
 to {transform: perspective(600px) translate3d(0, 0, 0) rotateY(0deg);opacity: 1;}
}

/* 動画 */

.video-wrap {width: 100%;;margin: 0px;padding: 0px;background: #000;position: relative;overflow: hidden;display: flex;justify-content: center;align-items: center;text-align:center;}
.video-wrap video {width: 100%;height: 700px;object-fit: cover;max-width: 100%;display: block;}
@media screen and (max-width:768px){
.video-wrap video { width: 100%;height: 500px;object-fit: cover;display: block;}}


/* TOP */

.top_wrap {width: 100%;;margin: 0px;padding: 0px;background: #000;position: relative;overflow: hidden;;display: flex;justify-content: center;align-items: center;text-align:center;}
.top_wrap video {width: 100%;height: 100vh;margin: auto;max-height: 100%;max-width: 100%;object-fit: cover;display: block;}
.top_wrap .overlay { width:100%;height:100%;position:absolute;top: 0px;left: 0px;background:url(../js/overlays/07.png) center center;opacity:0.5;z-index:1;}
@media screen and (max-width:768px){
.top_wrap video { width: 100%;height: 800px;object-fit: cover;display: block;}
}

#main_catch { padding: 0px 0px;font-family: 'Noto Serif JP', sans-serif;position: absolute;right:0px;left:0px;top:;margin:auto auto;z-index:2;}
#main_catch .tcmark{ max-width: 300px;margin: 0px 0 20px;}
#main_catch .tctxt1 { margin: 0px;padding: 8px 0px;font-size:2.0em;color: #fff;letter-spacing: 0.05em;text-indent:0.05em;font-weight: normal;line-height: 1.5; }
#main_catch .tctxt2 { margin: 0px;padding: 3px 0px;font-size:1.5em;color: #fff;letter-spacing: 0.05em;text-indent:0.05em;font-weight: normal;line-height: 1.5; }
@media only screen and (max-width:640px) {
#main_catch .tcmark{ max-width: 250px;margin: 10px 0 20px;}
#main_catch .tctxt1 { font-size:1.3em;}
#main_catch .tctxt2 { font-size:1.0em;}
}


.main_wrap { margin: 0px;padding: 20px 20px;overflow:hidden;position: relative;text-align:center;}
@media only screen and (max-width:640px) {
.main_wrap { margin: 0px;padding: 15px 15px;}
}



.vision_wrap { margin: 0px;padding: 80px 10px ;background : transparent url(../img/main_vision.jpg) no-repeat center top;background-position: 50% 50%;background-size: cover;position: relative;text-align:center;}
.vision_wrap { -webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box;overflow: hidden;}
#concept { max-width:800px;padding: 40px 10px ;right:0px;left:0px;margin:auto auto;text-align: center;}
#concept h3 { display:inline-block;border: 3px solid #fff;margin: 0px 0px;padding: 12px 40px;position:relative;}
#concept h3 { font-size: 1.6em;color: #fff;line-height: 1.6;font-weight: normal;letter-spacing:0.05em;text-align: center;}
#concept p { margin: 5px;padding:10px 0px ;position:relative;font-size: 16px;color: #fff;line-height: 1.8;font-weight: normal;letter-spacing:3px;text-align: left;}
@media screen and (max-width: 640px) {
}


ul.top_concept { width: 1180px;display: flex;margin: 0px ;padding: 10px 0px ;right:0px;left:0px;margin:auto auto;}
ul.top_concept li { width: 50%; border: 1px solid #dfdddd;margin: 0px 0px 0 -1px;padding: 0px ;float:left;position:relative;display: block;}
ul.top_concept li { padding: 20px 20px;display: block;}
ul.top_concept li { -webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box;overflow:hidden;}
ul.top_concept li img { width:100%;height:250px;object-fit: cover;overflow: hidden;margin: 0px 0px;}
ul.top_concept li h3 { padding: 15px 0px 0;margin: 0px;font-family: 'Oswald', sans-serif;font-size: 20px;color: #333;font-weight: normal;letter-spacing:0px;line-height: 1.6;text-align:center;}
ul.top_concept li p { margin: 0px;padding: 15px 0px 0;font-size: 16px;color: #333;font-weight: normal;letter-spacing:0px;line-height: 1.6;text-align:left;}
ul.top_concept li a { text-decoration: none;}
@media only screen and (max-width:1150px) {
ul.top_concept { width: 100%;display: flex;margin: 0px ;padding: 10px 0px 10px 1px;right:0px;left:0px;margin:auto auto;}
}
@media only screen and (max-width:640px) {
ul.top_concept { max-width: 100%;display: flex;flex-direction: column;margin: 0px ;padding: 10px 0px ;right:0px;left:0px;margin:auto auto;}
ul.top_concept li { width: 100%; margin: 0px 0px -1px;padding: 0px ;float:left;position:relative;display: block;}
ul.top_concept li { padding: 15px 15px;display: block;}
ul.top_concept li img { width:100%;height: 150px;object-fit: cover;overflow: hidden;margin: 0px 0px;}
ul.top_concept li h3 { padding: 15px 0px 0;margin: 0px;font-size: 18px;color: #333;font-weight: normal;letter-spacing:0px;line-height: 1.6;text-align:center;}
ul.top_concept li p { margin: 0px;padding: 15px 0px 0;font-size: 15px;color: #333;font-weight: normal;letter-spacing:0px;line-height: 1.6;text-align:left;}
}


#top_catch { max-width:800px;padding: 20px 10px;right:0px;left:0px;margin:auto auto;}
#top_catch h3 { padding: 20px 0px;margin: 0px 0px 0px;position:relative;}
#top_catch h3 { font-size: 1.8em;color: #222;font-weight: bold;letter-spacing:0px;line-height: 1.6;text-align: center;}
#top_catch .txt { padding: 0px 0px 30px;font-size: 19px;color: #222;line-height: 1.6;font-weight: normal;letter-spacing:1px;text-align: center;}
#top_catch .logo{ max-width: 350px;}



ul.top_service { width: 1400px;display: flex;margin: 0px ;padding: 20px 0px ;right:0px;left:0px;margin:auto auto;}
ul.top_service li { width: 25%; border-left: 1px solid #dfdddd;border-right: 1px solid #dfdddd;border-image: linear-gradient(to bottom, #fff 0%,#e6e6e6 50%, #fff 100%);border-image-slice: 1; margin: 0px 0px 0 -1px;padding: 20px ;float:left;position:relative;display: block;}
ul.top_service li { -webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box;overflow:hidden;}
ul.top_service li img { max-width:100px;object-fit: cover;overflow: hidden;margin: 0px 0px;}
ul.top_service li h3 { font-size: 1.2em;color: #666;line-height: 1.6;font-weight: bold;letter-spacing: 0.07em;text-indent:0.07em;text-align: center;}
ul.top_service li p { margin: 0px;padding: 10px 0px 0;font-size: 16px;color: #333;font-weight: normal;lletter-spacing: 0.07em;text-indent:0.07em;line-height: 1.6;text-align:left;}
ul.top_service li a { text-decoration: none;}
@media only screen and (max-width:1450px) {
ul.top_service { width: 100%;display: flex;margin: 0px ;padding: 10px 0px ;right:0px;left:0px;margin:auto auto;}
}
@media only screen and (max-width:720px) {
ul.top_service { max-width: 100%;display: flex;flex-wrap: wrap;margin: 0px ;padding: 20px 0px ;right:0px;left:0px;margin:auto auto;}
ul.top_service li { width: 50%; border-left:none;border-right: none;margin: 0px 0px;float:left;position:relative;display: block;}
ul.top_service li { padding: 15px 10px;display: block;}
ul.top_service li img { max-width:100px;height: ;object-fit: cover;overflow: hidden;margin: 0px 0px;}
ul.top_service li h3 { padding: 15px 0px 0;margin: 0px;font-size: 16px;letter-spacing: 0.00em;text-indent:0.00em;}
ul.top_service li p { margin: 0px;padding: 15px 0px 10;font-size: 15px;}
}




/* ナビ */

.navi_menu_container { width: 100%;display: flex;flex-wrap: wrap;margin: 0px;padding: 0px;}
.nm_wrap { width: 50%;background-color: #f2f2f2;margin: 0px;padding: 0px 0px ;text-align:center;position: relative;overflow: hidden;display: flex;
  justify-content: center;
  align-items: center;}
.nm_wrap { moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;}
.nm_wrap img{width: 100%;height: 400px;border-radius: 0px; object-fit: cover;transition: all .8s ease-out;}
.nm_wrap:hover img { opacity: 1.0;transform: scale(1.1);}
.nm01 {}
.nm02 {}
.nm02 {}
.nm03 {}
@media only screen and (max-width:640px) {
.navi_menu_container {display: flex;flex-direction: column;}
.nm_wrap { width: 100%;background-color: #f2f2f2;margin: 0px;padding: 0px 0px ;text-align:center;}
.nm_wrap img{width: 100%;height: 200px;border-radius: 0px; object-fit: cover;transition: all .8s ease-out;}
.nm01 { order:1;}
.nm02 { order:2;}
.nm03 { order:4;}
.nm04 { order:3;}
.nm05 { order:5;}
.nm06 { order:6;}
}

#nm_txt { max-width:600px;padding: 40px 30px 10px;right:0px;left:0px;margin:auto auto;text-align: center;}
#nm_txt h3 { margin: 0px 0px;padding: 5px 0px;position:relative;animation: fadeIn 1s ease forwards;}
#nm_txt h3 { font-size: 2.0rem;color: #666;line-height: 1.6;font-weight: bold;letter-spacing:2px;text-align: center;}
#nm_txt p { margin: 0px;padding:15px 0px ;font-size: 16px;color: #333;line-height: 1.7;font-weight: normal;letter-spacing: 0.1em;text-indent:0.1em;text-align: left;position:relative;animation: fadeIn 1.5s ease forwards;}
@media screen and (max-width: 640px) {
#nm_txt { max-width:500px;padding: 20px 20px 10px;right:0px;left:0px;margin:auto auto;text-align: center;}
#nm_txt h3 { font-size: 18px;color: #666;line-height: 1.6;font-weight: bold;letter-spacing:2px;text-align: center;}
#nm_txt p { }
}




/* CONCEPT */

.concept_wrap { margin: 0px;padding: 80px 10px ;background : transparent url(../img/bg_concept.jpg) no-repeat center top;background-position: 50% 50%;background-size: cover;position: relative;text-align:center;}
.concept_wrap { -webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box;overflow: hidden;}
#concept { max-width:800px;padding: 40px 10px ;right:0px;left:0px;margin:auto auto;text-align: center;}
#concept h3 { display:inline-block;border: 3px solid #fff;margin: 0px 0px;padding: 10px 40px;position:relative;}
#concept h3 { font-size: 1.6em;color: #fff;line-height: 1.6;font-weight: normal;letter-spacing:0.05em;text-align: center;}
#concept p { margin: 5px;padding:10px 0px ;position:relative;font-size: 16px;color: #fff;line-height: 1.8;font-weight: normal;letter-spacing:3px;text-align: left;}
@media screen and (max-width: 640px) {
#concept h3 { display:inline-block;border: 2px solid #fff;margin: 0px 0px;padding: 5px 40px;position:relative;}
#concept h3 { font-size: 1.2em;color: #fff;line-height: 1.6;font-weight: normal;letter-spacing:0.05em;text-align: center;}
#concept p { margin: 5px;padding:10px 0px ;position:relative;font-size: 15px;color: #fff;line-height: 1.8;font-weight: normal;letter-spacing:3px;text-align: left;}
}

/* 会社概要 */

.about_wrap { max-width: ;background: #f9f7f7;border: 1px solid #f2f2f2;padding: 20px 10px;right:0px;left:0px;margin:auto auto;text-align: center;}
.about_wrap iframe{ width: 100%;height: 500px;border:0;filter:grayscale(100%);-webkit-filter:grayscale(100%);vertical-align: bottom;}
.about_column_container { width: 1600px;background: #;display: inline-block;padding: 10px 0px;vertical-align: top;}
.about_column01 { width: 40%;margin:0px;padding: 15px 15px;float: left;text-align: center;box-sizing: border-box;}
.about_column02 { width: 60%;margin:0px;padding: 15px 15px;float: left;text-align: center;box-sizing: border-box;}
@media screen and (max-width: 1450px) {
.about_column_container { width: 100%;display: inline-block; padding: 10px 0px;right:0px;left:0px;margin:auto auto;}}
@media screen and (max-width: 800px) {
.about_column01 { width: 100%;}
.about_column02 { width: 100%;;}
}

ul.address { margin: 0px ;padding: 20px 10px;display: inline-block;}
ul.address li { padding: 3px 0px;letter-spacing:0px;}
ul.address li { font-size: 14px;color: #333;font-weight: normal;letter-spacing: 0.07em;text-indent:0.07em;line-height: 1.5;text-align: left;}
ul.address li a{color: #333;text-decoration: none;}
ul.address img{padding: 10px 0px; max-width: 100px; }
ul.address h3 { padding: 0px 0px;font-size: 1.2em;color: #333;line-height: 1.5;font-weight: bold;letter-spacing:0px;}
@media screen and (max-width: 640px) {
}
table.company { max-width: 100%;border-collapse: separate;border-spacing: 0px 5px;right:0px;left:0px;margin:20px auto;}
table.company th { width: 200px;border-bottom: solid 1px #ddd;padding: 10px 15px;vertical-align: middle;text-align: left;}
table.company th { font-size: 16px; font-weight: normal;letter-spacing:0.15em;color: #333;text-align:left;}
table.company td { border-bottom: solid 1px #ddd;padding: 10px 15px ;vertical-align: middle;text-align: left;}
table.company td { font-size: 16px; font-weight: normal;letter-spacing:0.15em;color: #333;text-align:left;}
table.company td a{ color: #222;text-decoration: none;}
@media screen and (max-width: 1050px) {
table.company { width: 100%;border-collapse: separate;border-spacing: 0px 5px;right:0px;left:0px;margin:20px auto;}
table.company th { width: 200px;border-bottom: solid 1px #ddd;padding: 10px 10px;vertical-align: middle;text-align: left;}
}
@media screen and (max-width: 640px) {
table.company th { width: 120px;border-bottom: solid 1px #ddd;padding: 20px 0px;vertical-align: middle;text-align: left;}
table.company th { font-size: 15px; font-weight: normal;letter-spacing:0.15em;color: #333;text-align:left;}
table.company td { border-bottom: solid 1px #ddd;padding: 10px 10px ;vertical-align: middle;text-align: left;}
table.company td { font-size: 15px; font-weight: normal;letter-spacing:0.15em;color: #333;text-align:left;}
}

/*  FOOTER
--------------------------------------------------------------------------*/
.footer { background: #;margin: 0px 0px;padding: 50px 20px 70px;position:relative;text-align: center;}
.footer { -webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box;}
.footer .inner { max-width: 1000px;margin: 0px;padding: 20px 5px ;right:0px;left:0px;margin:auto auto;z-index:3;}
.footer .inner { border-top: 1px solid #cbcbcb;border-image: linear-gradient(to right, #fff 0%,#cbcbcb 50%, #fff 100%);border-image-slice: 1;}
.footer .inner { border-bottom: 1px solid #cbcbcb;border-image: linear-gradient(to right, #fff 0%,#cbcbcb 50%, #fff 100%);border-image-slice: 1;}
.footer .foot_logo { max-width: 300px;margin: 20px 0;padding: 0px 0px;position: relative;text-align:center;}

.foot_column { max-width: 1000px;display:flex;display:-moz-flex;display:-o-flex;display:-webkit-flex; right:0px;left:0px;margin:auto auto;}
.foot_column img { margin-right: 20px; max-width: 100px; }
.foot_column p { margin: 0px;padding-left: 10px;font-size: 16px;color: #333;line-height: 1.6;font-weight: normal;letter-spacing: 0.07em;text-indent:0.07em;text-align: left; }
@media screen and (max-width: 640px) {
.foot_column img { margin-right: 20px; max-width: 70px; }
.foot_column p { }
}


.copy{ margin: 10px 0px 0px;padding: 15px 0px ;}
.copy{ font-size:12px;color: #222;line-height: 1.6;font-weight:normal;letter-spacing: 1px;text-align: center;}
.copy a{ color: #222;text-decoration: none;}
.copy a:hover{ text-decoration: underline;}


@media screen and (min-width:640px) {
#foot_content { display: none;}
.foot_contact { display: none;}
}
@media screen and (max-width: 640px) {
.foot_contact { width:100%;background-color:#000;border-top: 1px solid #222;margin: 0px;padding: 0px;font-family:"Sawarabi Mincho", serif; position: fixed;bottom: 0;text-align: center;z-index: 6666;}
.foot_contact a { padding: 20px 0px ;transition: all .3s;}
.foot_contact a { font-size:16px;color: #fff;font-weight:normal;text-align: center;text-decoration: none;display:block;}
.foot_contact a:hover{ext-decoration: none;display:block;position: relative;}
.foot_contact a::before {content: ''; display: inline-block; background-image: url(../img/foot_icon_mail.png); vertical-align: -5px; margin-right: 10px;width: 22px;height: 22px;background-size: contain;}
}


