﻿/* font */
@import url('https://fonts.googleapis.com/css?family=Roboto:700');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap');

body, .font_sans-serif, .font_Quick{
    font-family: var(--font-jp)!important;
}
.font_roboto, .link_type2 .more{
	font-family: var(--font-en);
}

/* ==================================================================================================
　　変数
================================================================================================== */
:root{
    --color1: #f08300;
    --color2: #e85e00;
	--color3: #6a6a6a;
	--color4: #2d2a28;
}
:root{
    --font-jp: 'Noto Sans JP', "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic",  sans-serif;
    --font-en: 'Roboto', sans-serif;
}

/* ==================================================================================================
　　design
================================================================================================== */

/* color */
.txt_red {
    color: #d15534;
}
.tel_bt a {
    color: #202020;
}
#top_contact_box .tel_bt, #top_contact_box .con_bt{
    border-color: #fff;
}
#top_contact_box .tel_bt a {
    color: #ffffff;
}
#top_contact_box .top .box {
    background-color: rgba(240,131,0,0.84);
}

/* all */
.obje_rectangle{
	padding-top: 54.66%;
    position: relative;
}
.obje_rectangle img{
	position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    object-fit: cover;
}

#header-nav {
    font-weight: bold;
}
.mail_bt a {
    border-radius: 0 0 0px 0px;
    padding: 10px 28px;
}
#logo {
    height: 182px;
}
#logo {
    background-color: #f4f4f3;
}
#fix_menu {
    background-color: #fbfbfb;
}
#footer::before {
    background: var(--color4);
}

.fadein_left {
    opacity : 0;
    -webkit-transform : translate(-80px, 0);
    -ms-transform : translate(-80px, 0);
    transform : translate(-80px, 0);
	transition:transform .8s ease,opacity 2s ease; 
}
.fadein_left.start {
    opacity : 1;
    -webkit-transform : translate(0, 0);
    -ms-transform : translate(0, 0);
    transform : translate(0, 0);
}


/* index */
.top_contents2_wrap .section_head {
    position: absolute;
    z-index: 1;
    padding: 40px 0 20px;
    width: 100%;
    margin: 0 10px;
    top: -135px;
}
.top_contents2_wrap .section_head:before {
    font-size: 158px;
    font-family: 'Roboto', sans-serif;
    letter-spacing: 3px;
    font-weight: 500;
    color: #f4f4f3;
    display: block;
    position: absolute;
    z-index: -1;
    left: 0;
    top: -62px;
}
.top_cms_wrap .section_head {
    position: relative;
    z-index: 1;
    padding: 40px 0 20px;
    max-width: 1600px;
    margin: 0 10px 50px;
}
.top_cms_wrap .section_head:before {
    font-size: 158px;
    font-family: 'Roboto', sans-serif;
    letter-spacing: 3px;
    font-weight: 500;
    color: #f4f4f3;
    display: block;
    position: absolute;
    z-index: -1;
    left: 0;
    bottom: -50px;
}
.top_contents2_wrap .section_head:before {
    content: "About us";
}
.top_cms_wrap:nth-of-type(1) .section_head:before{
    content: "Blog";
}
.top_cms_wrap:nth-of-type(2) .section_head:before{
    content: "About";
}
.top_cms_wrap:nth-of-type(3) .section_head:before{
    content: "Service";
}
.top_cms_wrap:nth-of-type(4) .section_head:before{
    content: "For Beginner";
}
.top_cms_wrap:nth-of-type(5) .section_head:before{
    content: "Our Work";
}

.section_head_inner{
    margin: 0 45px;
}
.section_head h2.title:first-letter{
    color: var(--color2);
}
.section_head h2.title span {
	line-height: 1;
}
.section_head h2.title span {
	position: relative;
}
.section_head h2.title span:before {
    content: "";
    width: calc(100% - 120px);
    height: 1px;
    background: #333333;
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
}
#top_cms .top_cms_wrap:nth-of-type(1) .section_head h2.title span:before {
    width: calc(100% - 63px);
}

#main_img {
    position: relative;
    max-height: 750px;
}
#main_img .main_txt {
    width: calc(100% - 100px);
    top: 61%;
    left: 5%;
    z-index: 2;
    filter: drop-shadow(0 2px 3px rgba(0,0,0,0.5));
}
#top_contents1 {
    z-index: 1;
    position: relative;
    overflow: hidden;
    background-image: repeating-linear-gradient(90deg, #ebebeb 0, #f1f4f9 1px, #ffffff 0, #ffffff 50%);
    background-size: 261px 32px;
}
#top_contents1 h2 {
    color: #222;
    padding-bottom: 30px;
    font-size: 30px;
    z-index: 1;
    position: relative;
}
#top_contents1 h2 {
    width: 29.4545%;
    position: relative;
    padding-right: 6.5%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    text-align: start;
}
#top_contents1 p {
    width: 66.5455%;
    padding-right: 4%;
    box-sizing: border-box;
}

#top_contents2 .con_box .text_box h2 {
    position: relative;
    font-size: 30px;
}
#top_contents2 .con_box .text_box h2::before {
    display: block;
    margin-bottom: 30px;
    font-family: var(--font-en);
    line-height: 1;
    font-size: 25px;
    letter-spacing: 3px;
    color: var(--color1);
    font-weight: normal;
}
#top_contents2 .con_box:nth-of-type(1) .text_box h2::before {
    content: "01";
}
#top_contents2 .con_box:nth-of-type(2) .text_box h2::before {
    content: "02";
}
#top_contents2 .con_box .text_box h2::after {
    position: absolute;
    content: "";
    width: 100px;
    height: 2px;
    background-color: var(--color1);
    left: 50px;
    top: 10px;
}
#top_contents2 .con_box .text_box .before {
    height: 6px;
    background-color: var(--color3);
}

#top_contact_box .bottom .box {
    height: 300px;
}

#page_title .title_box {
    border-top: none;
    box-shadow: 0 10px 30px rgb(0 0 0 / 5%);
    padding-top: 50px;
    padding-bottom: 50px;
    background-image: linear-gradient(to right, var(--color2), var(--color2));
    background-size: 100px 5px;
    background-position: bottom center;
    background-repeat: no-repeat;
}

.mail_bnr {
    width: 90%;
    max-width: 400px;
    margin-top: 30px;
    margin-bottom: 40px;
}

/* cms3 */
.link_type2 .cate_box a {
    color: #fff;
    padding: 37% 20px;
}
.link_type2 .cate_box a:before, .link_type2 .cate_box a:after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-color: rgba(0,0,0,0.5);
    z-index: 1;
}
.link_type2 .cate_box a:after {
    top: 100%;
    background-color: var(--color1);
    transition: 0.5s;
    z-index: 3;
}
.link_type2 .cate_box a:hover:after {
    top: 0;
}
.link_type2 .cate_box .txt_wrap {
    z-index: 2;
    background-image: linear-gradient(to right, currentColor, currentColor);
    background-repeat: no-repeat;
    background-size: 30px 1px;
    background-position: bottom;
}
.link_type2 .more {
	letter-spacing: 3px;
    box-sizing: border-box;
	opacity: 0;
	transition: opacity .8s;
	z-index: 4;
}
.link_type2 .cate_box a:hover .more {
    opacity: 1;
}

/* cms4 */
/*バナー*/
.flow_type2 .btn_container a{padding: 8px 30px;}
.flow_type2 .btn_container{display: none;}
.flow_type2 #box0 .btn_container{display: block;}

.flow_type2 .cate_title {
    border-bottom: solid 3px #ccc;
    position: relative;
}
.flow_type2 .cate_title::after {
    content: '';
    display: block;
    background: #fe9c05;
    width: 30%;
    height: 3px;
    position: absolute;
    left: 0;
    bottom: -3px;
}
.flow_type2 .box_wrap {
	border: 3px solid #d75602;
}
.flow_type2 .cate_box {
	padding: 30px;
	width: 100%!important;
}
.flow_type2 .box_txt1 {
    background-color: #f7f7f7;
    color: #d75602;
    text-align: center;
}
.flow_type2 .cate_box:not(:last-child) {
	border-bottom: 3px solid #d75602;
	position: relative;
}
.flow_type2 .cate_box:not(:last-child)::before,
.flow_type2 .cate_box:not(:last-child)::after {
	content: "";
	border: solid transparent;
	position: absolute;
	top: 100%;
	left: 17%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}
.flow_type2 .cate_box:not(:last-child)::before {
	border-width: 22px;
	border-top-color: #d75602;
}
.flow_type2 .cate_box:not(:last-child)::after {
	border-width: 18px;
	border-top-color: #fff;
}

.flow_type2{counter-reset: number 0;}

.flow_type2 .box_txt1::before {
    counter-increment: number 1;
    content: "step." counter(number);
    background-color: #d75602;
    padding: 5px 10px;
    font-weight: 700;
    color: #ffffff;
    display: block;
    margin: 0px auto 10px;
    width: 50%;
}
/*-------- スマートフォン --------*/
@media screen and (max-width: 667px){
.flow_type2 .cate_box:first-child {
    padding: 20px 20px 30px 20px;
}
.flow_type2 .cate_box:not(:first-child) {
    padding: 40px 20px 20px 20px;
}
.flow_type2 .cate_box:not(:last-child)::before, .flow_type2 .cate_box:not(:last-child)::after {
    left: 50%;
}

}


/* ======================================================================================
　　window size
======================================================================================== */

/* ---------- 1100px ---------- */
@media screen and (max-width: 1100px){
.top_contents2_wrap .section_head:before, .top_cms_wrap .section_head:before {
    font-size: 122px;
}
.link_type2 .cate_box a .font_8up {
    font-size: -webkit-calc(1rem + 8px);
    font-size: calc(1rem + 4px);
}
}
	
/* ---------- タブレット ---------- */
@media screen and (max-width: 768px){
#logo {
    height: 95px;
    width: 30%!important;
}
#logo h1.logo {
    max-width: 80%;
}
.top_contents2_wrap .section_head {
    top: -109px;
}
.top_contents2_wrap .section_head:before, .top_cms_wrap .section_head:before {
    font-size: 99px;
    top: -17px;
}
	
#top_contents1 {
    padding: 74px 50px 150px;
}
#top_contents1 h2 {
    width: 23.4545%;
	font-size: 27px;
}
#top_contents1 p {
    width: 75.5455%;
}

#top_contents2 {
    margin-bottom: 44px;
}
#top_contents2 .con_box .text_box h2 {
    font-size: 24px;
}
}
/* ---------- スマホ ---------- */
@media screen and (max-width: 667px){
.overlay.open .menu-box .menu_list li:first-child {
    display: block!important;
}
.obje_rectangle {
    padding-top: 83.66%;
}
.top_contents2_wrap .section_head{
	margin: 0 5px;
}
.section_head_inner {
    margin: 0 0 0 15px;
}
.top_contents2_wrap .section_head:before, .top_cms_wrap .section_head:before {
    font-size: 68px;
    top: -4px;
}

#page_title .title_box {
    padding-top: 36px;
    padding-bottom: 36px;
}

#logo {
    height: 78px;
     width: 37%!important;
}
#logo h1.logo {
    left: 19px;
}
#logo img{
    width: 80%!important;
}

#main_img .main_txt {
    top: 72%;
    left: 4%;
}
#top_contents1 {
    background-size: 166px 32px;
	padding: 52px 50px 150px;
}
#top_contents1 h2 {
    width: 100%;
	padding-right: 0;
    font-size: 22px;
	margin-bottom: 0px;
}
#top_contents1 p {
    width: 100%;
    padding-right: 0;
}
	
#top_contents2 .con_box .text_box h2 {
    font-size: 18px;
}
#top_contents2 .con_box .text_box h2::before{
	margin-bottom: 15px;
}
#top_contact_box .bottom .box {
    height: 214px;
}
}



/* ======================================================================================
　　修正
======================================================================================== */

/* 2022.11.09 */
html {
    font-size: 20px;
}
body {
    line-height: 1.7;
}
.overlay nav {
    height: 100%;
    top: 46px;
    -webkit-transform: none;
    transform: none;
    padding-bottom: 100px;
}

/* fix_bnr */
#fix_bnr, #fix_bnr2 {
    bottom: 12px;
    right: 109px;
    z-index: 99;
    width: 32%;
    max-width: 345px;
    transition: 0.5s;
}
#fix_bnr2 {
    bottom: 135px;
}
#fix_bnr.close, #fix_bnr2.close{
    opacity: 0;
    z-index: -1;
}
@media screen and (max-width: 768px){
#fix_bnr, #fix_bnr2 {
    width: 39%!important;
    right: 59px;
}
#fix_bnr2 {
    bottom: 120px;
}
}
@media screen and (max-width: 667px){
#fix_bnr, #fix_bnr2 {
    width: 60%!important;
    right: 41px;
    /* left: 0; */
    bottom: 10px;
}
#fix_bnr2 {
    bottom: 92px;
}
}

/* ---------- スマホ ---------- */
@media screen and (max-width: 667px){
html {
    font-size: 18px;
}
}