﻿@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@500;700&family=Roboto:wght@400;500;700&family=Sawarabi+Gothic&display=swap');


body,.font_Quick{
	font-family:'Noto Sans JP','Roboto', 'Sawarabi Gothic', "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic",  sans-serif!important;
}
.top_cms_title p,.top_info_title p,#page_title .title_box p{
    font-weight: 900;
    font-size: 59px;
    letter-spacing: 3px;
    color: #ececec;
}
.top_cms_title p,.top_info_title p{color: #4e4c49;}
#top_contact_box .top .txt_wrap p{
    font-weight: 900;
    font-size: 41px;
    letter-spacing: 1px;
    color: rgb(245,245,245,13%);
}
#page_title .title_box h2{
	letter-spacing: 4px;
    font-size: 30px;
}


/* color */
.linkStyle{text-decoration: underline;color: #0a5bd4;}
body,.txt_color_nomal{color: #333333;}
.txt_white{color: white;}
.txt_red{color: red;}
.txt_color1{color: #0a5bd4} /* メインカラー */
.txt_color2{color: #87cefa} /* サブカラー */
.txt_color3{color: #87cefa} /* アクセントカラー1 */
.txt_color4{color: #f5f5f5} /* アクセントカラー2 */

/* background-color */
.bg_white{background-color: white} /* 白背景 */
.bg_black{background-color: black} /* 黒背景 */
.bg_color1{background-color: #0a5bd4} /* メインカラー */
.bg_color2{background-color: #87cefa} /* サブカラー */
.bg_color3{background-color: #87cefa} /* アクセントカラー1 */
.bg_color4{background-color: #f5f5f5} /* アクセントカラー2 */
.bg_color_clear{background-color: transparent!important}

/* border-color ※!important */
.border_color1{border-color: #0a5bd4}
.border_color2{border-color: #87cefa}
.border_color3{border-color: #87cefa}
.border_color4{border-color: #d2d2d2}

/* hover ---------------------------------------------------------------------------------------------*/
/* color */
.hvr_txt_color_nomal:hover{color: #333333;}
.hvr_txt_white:hover{color: white;}
.hvr_txt_red:hover{color: red;}
.hvr_txt_color1:hover{color: #0a5bd4} /* メインカラー */
.hvr_txt_color2:hover{color: #87cefa} /* サブカラー */
.hvr_txt_color3:hover{color: #87cefa} /* アクセントカラー1 */
.hvr_txt_color4:hover{color: #f5f5f5} /* アクセントカラー2 */

/* background-color */
.hvr_bg_white:hover{background-color: white} /* 白背景 */
.hvr_bg_black:hover{background-color: black} /* 黒背景 */
.hvr_bg_color1:hover{background-color: #0a5bd4} /* メインカラー */
.hvr_bg_color2:hover{background-color: #87cefa} /* サブカラー */
.hvr_bg_color3:hover{background: none;background-color: #87cefa} /* アクセントカラー1 */
.hvr_bg_color4:hover{background-color: #f5f5f5} /* アクセントカラー2 */
.hvr_bg_color_clear:hover{background-color: transparent!important}

/* border-color ※!important */
.hvr_border_color1:hover{border-color: #0a5bd4}
.hvr_border_color2:hover{border-color: #87cefa}
.hvr_border_color3:hover{border-color: #87cefa}
.hvr_border_color4:hover{border-color: #d2d2d2}


#loading{background-color: #87cefa;}
#loading_line .line{background-color: #0a5bd4;}
#loading_line .line2{background-color: #f5f5f5;}
.bg_color1, #top_contents2 .con_box .text_box .before, #top_contents1 h2::before {
    background-color: #0a5bd4;
    background-image: -webkit-gradient( linear, left top, right top, from(#0a5bd4), color-stop(50%, #87cefa), to(#0a5bd4) );
    background-image: linear-gradient(to right, #0a5bd4 0, #87cefa 50%, #0a5bd4 100%);
    background-size: 200% auto;
    background-position: 0 0;
}
#top_contact_box .tel_bt,#top_contact_box .con_bt:after,.mail_bt a{position: relative;transition: all .3s;background: none!important;}
#top_contact_box .tel_bt:hover, #top_contact_box .con_bt:hover {
    border: none!important;
    background: none!important;
}
#top_contact_box .tel_bt:before,#top_contact_box .tel_bt:after,.mail_bt a::after,.mail_bt a::before{
     content: '';
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    z-index: -1;
    border-radius: 50px;
    transition: all .3s;
}
#top_contact_box .tel_bt:before,.mail_bt a::before {
    background-image: linear-gradient(to right, #0a5bd4 0, #87cefa 50%, #0a5bd4 100%);
    background-size: 200% auto;
    background-position: 0 0;
}
#top_contact_box .tel_bt:after,.mail_bt a::after {
    background-image: linear-gradient(to right, #a0c2f5 0, #279ae2 50%, #729bd8 100%);
    background-size: 200% auto;
    background-position: 0 0;
    z-index: -2;
}
#top_contact_box .tel_bt:hover:before,.mail_bt a:hover::before{opacity: 0;}
.mail_bt a::after,.mail_bt a::before{border-radius: 0 0 5px 5px;;}


/*--- anime ------------------------------------*/
.fadein, #main_img::after, .anim .anim_item{
	-webkit-transform: translateY(20px);
	transform: translateY(20px);
	opacity: 0;
	-webkit-transition: transform 1.3s cubic-bezier(.645,.045,.355,1) ,opacity 1s cubic-bezier(.645,.045,.355,1);
	transition: transform 1.3s cubic-bezier(.645,.045,.355,1) ,opacity 1s cubic-bezier(.645,.045,.355,1) ;
}
.anim .anim_item{
	-webkit-transition: transform 1.3s,opacity 1s;
	transition: transform 1.3s,opacity 1s;
}
.anim .anim_item:nth-of-type(2){
	-webkit-transition: transform 1.3s .15s,opacity 1s .15s;
	transition: transform 1.3s .15s,opacity 1s .15s;
}
.anim .anim_item:nth-of-type(3){
	-webkit-transition: transform 1.3s .3s,opacity 1s .3s;
	transition: transform 1.3s .3s,opacity 1s .3s;
}
.anim .anim_item:nth-of-type(4){
	-webkit-transition: transform 1.3s .55s,opacity 1s .55s;
	transition: transform 1.3s .55s,opacity 1s .55s;
}
.fadein.start, #main_img.start::after, .anim.start .anim_item {
	transform: translateY(0) scale(1);
	opacity: 1;
}



/* all ---------------------------------------------------------------------------------------------*/
#logo .logo{width: 75%!important;}
#logo img{z-index: 2}
#logo img{width: 80%!important;}
.more a{border-radius: 50px;}
.tel_bt a i {
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}
.overlay .tel_bt a i{top: 59%;}
#fix_menu .sns_links li{width: 30px;}


/* index　他 ---------------------------------------------------------------------------------------------*/
.cms_2-a figure img{border-radius: 20px}
#main_img{border-radius: 0 45px 45px 0;}
#main_img::before {
    display: inline-block;
    content: "";
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.25);
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    z-index: 2;
}
#main_img::after {
    content: '';
    display: inline-block;
    width: 100%;
    height: 100%;
    background-image: url(../dup/img/main_txt.png);
    background-size: 100%;
    background-repeat: no-repeat;
    background-size: 60%;
    background-position: center center;
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    top: 0;
    z-index: 10;
}
#top_contents1 {padding: 154px 5% 83px;}
#top_contents1 {
    position: relative;
    background: url(../dup/img/item1.png) bottom -1px right 40px / 338px no-repeat;
}
#top_contents1::before {content: "INTRODUCTION";}
#top_contents1::before {
    font-size: 180px;
    letter-spacing: -6px;
    color: #f5f5f5;
    display: block;
    position: absolute;
    z-index: -1;
    left: 0;
    right: 0;
    top: -6px;
    margin: auto;
    text-align: center;
    font-weight: 900;
    font-family: 'Roboto', sans-serif;
}
.catch_txt{max-width: 80%;}
#top_contents1 h2 {
    display: inline-block;
    padding-left: 20px;
    padding-right: 20px;
    position: relative;
    color: #333;
	padding-bottom: 80px;
	font-size: 31px
}
#top_contents1 h2::before {
    content: ' ';
    display: inline-block;
    position: absolute;
    width: 200px;
    height: 3px;
    bottom: 43px;
    left: 0;
    right: 0;
    margin: auto;
    z-index: 1;
    font: inherit;
    font-size: 30px;
    letter-spacing: 0.2em;
    font-weight: 500;
    font-family: 'Roboto', sans-serif;
}
#top_contents2 h2{position: relative;font-size: 28px;}
#top_contents2 .con_box .text_box{overflow: hidden;}
#top_contents2 .con_box .text_box:before {content: "01";}
#top_contents2 .con_box:nth-of-type(2) .text_box:before {content: "02";}
#top_contents2 .con_box:nth-of-type(3) .text_box:before {content: "03";}
#top_contents2 .con_box .text_box::before{
	font-size: 248px;
	letter-spacing: -6px;
	line-height: 1;
	color: #f5f5f5;
	display: block;
	position: absolute;
	z-index: -1;
	right: 48px;
	bottom: 20px;
	font-style: italic;
	font-weight: 900;
	font-family: 'Roboto', sans-serif;
}
#top_contents2 .con_box .con_img{border-radius: 0 20px 20px 0;}
#top_contents2 .con_box:nth-of-type(2) .con_img{border-radius: 20px 0 0 20px;}
#top_contents2 .con_box .text_box{border-radius: 10px 0 0 10px;}
#top_contents2 .con_box:nth-of-type(2) .text_box{border-radius: 0 10px 10px 0;}
#page_title{margin-bottom: 130px;}
/*#footer{background-position: center bottom!important}*/
#top_contact_box .bottom .box .txt_white{color: #0a5bd4!important} 
#top_contents2{background: #e0f3ff;}


/* ---------- top_contact ---------- */
#top_contact_box::before{
	display: inline-block;
	content: "";
	width: 100%;
	height: 100%;
    background: linear-gradient(355deg, rgba(10,91,212,0.67) 0%, rgba(135,206,250,0.57) 100%);
	position: absolute;
	bottom: 0;
	right: 0;
	left: 0;
	margin: auto;
	opacity: 0.95;
}
#top_contact_box span.font_31{
    font-weight: 900;
    font-size: 59px;
    letter-spacing: 0.18em;
}
#top_contact_box .top_con_box {
    padding: 65px 40px 51px;
    border-radius: 10px;
    width: 46.33333%!important;
    background-color: rgba(255,255,255,0.75);
    max-width: 600px;
}
#top_contact_box .top_con_box img {
    width: 90px;
    margin: -24px auto 21px;
    display: block;
}
#top_contact_box .txt_box::before{
    display: inline-block;
    content: "";
    width: 40px;
    height: 1px;
    background: #0a5bd4;
    position: absolute;
    bottom: 6px;
    right: 0;
    left: 0;
    margin: auto;
}
#top_contact_box .tel_bt, #top_contact_box .con_bt {
    border: none;
	height: 59px;
	border-radius: 50px;
}


/* ---------- tservice_wrap ---------- */
p.SERVICE{
    margin-bottom: 80px;
    margin-top: -25px;
}
.service_wrap .cate_box figure{border-radius: 10px}
.service_wrap .txt_shadow-l {text-shadow: none;}
.service_wrap .cate_box .top_title {
    background-color: #fff;
    padding: 28px 34px;
    box-sizing: border-box;
    border-radius: 3px;
    top: auto;
    bottom: 0;
    left: 0;
    transform: none;
}
.service_wrap .cate_box .top_title h3{color: #333;font-size: 15px;}




/* IE */
@media all and (-ms-high-contrast: none){
#main_img::before{top: -5px;}
#top_contents2 .con_box .text_box::before{right: 52px;bottom: 0;}
#top_cms .more a{padding: 15px;}
.cms_1-e .date{padding-top: 9px!important;}
.cms_6-b .cate_box .box_txt1, #cms_6-b .cate_box .box_txt1, .cms_6-b .cate_box .box_txt2, #cms_6-b .cate_box .box_txt2{padding: 10px!important;}
#top_contact_box .tel_bt a{padding-bottom: 7px!important}
#top_contact_box a i{top: 60%!important;}
.tel_bt a i{top: 53%!important;}
.mail_bt a{padding: 10px 28px!important}
#cms_1-e .date{padding-top: 11px!important;}
.font_Quick .cate_list li a{padding: 15px!important;}
#cms_2-a .cate .cate_title{padding-top: 10px!important;}
#cms_6-b .cate .cate_title{padding: 13px!important;}
#cms_5-a .cate .cate_title span:last-of-type{padding-top: 0!important;}
#page9 a{padding-top: 5px!important;}
}

/* ---------- 1300 ---------- */
@media screen and (max-width: 1300px){
#top_contents1::before {font-size: 138px;}
.catch_txt {max-width: 90%;}
#top_contents2 .con_box .text_box::before{font-size: 204px;bottom: 0px;}
}

/* ---------- タブレット ---------- */
@media screen and (max-width: 768px){
#main_img {border-radius: 0;}
#main_img::before{bottom: 5px;}
#main_img::after{background-size: 68%;top: 51px;}
/*#video{padding-top: 90px;height: 524px;}*/
.sns_links_tb{justify-content: center!important;}
#logo{height: 95px;}
#top_contents1{padding: 98px 5% 108px;background: url(../dup/img/item1.png) bottom -2px right -27px / 59% no-repeat;}
#top_contents1::before {
    font-size: 95px;
    letter-spacing: 3px;
    text-align: center;
    left: 0;
    right: 0;
    top: 11px;
    margin: auto;
}
.catch_txt {max-width: 100%;}
#top_contents1 h2{font-size: 29px;}
#top_contents2 h2{font-size: 28px;}
#top_contents2 .con_box .text_box::before{font-size: 194px;}
#top_contents2 .con_box .con_img {border-radius: 15px!important;}
#top_contents2 .con_box .text_box{border-radius: 10px 10px 0 0!important;}
#page_title .title_box h2{font-size: -webkit-calc(1rem + 8px);font-size: calc(1rem + 8px);}
.service_wrap .cate_box .top_title{background-color: rgba(255,255,255,0.74);}
#top_contact_box .top_con_box{width: 76.33333%!important;}
#logo h1.logo{max-width: 92px;}
#top_contents1{position: relative;z-index: 3}
}

/* ---------- スマホ ---------- */
@media screen and (max-width: 667px){
#logo h1.logo{max-width: 75px;}
/*#video{padding-top: 76px;height: 295px;}*/
#main_img::after{background-size: 76%;top: 43px;}
.button_container{bottom: 5px;}
#logo{height: 78px;}
#top_contents1 {
    padding: 91px 5% 108px;
    background: url(../dup/img/item1.png) bottom 0px right -29px / 73% no-repeat;
}#top_contents1::before {
    font-size: 40px;
    letter-spacing: 1px;
    top: 33px;
}
#top_contents1 h2 {
    margin-bottom: 5px;
    font-size: 18px;
    padding-left: 5px;
    padding-right: 5px;
    padding-bottom: 64px;
}
#top_contents2 h2{font-size: 19px;}
#top_contents2 h2::before{
	width: 2rem;
	height: 2rem;
	bottom: auto;
	top: -2px;
	left: -9px;
}
#top_contents2 .con_box .text_box::before{right: 15px;font-size: 145px;}
.top_cms_title p, .top_info_title p, #page_title .title_box p{color: #4e4c49;font-size: 33px;}
#page_title .title_box p{color: #f1f1f1;}
#page_title .title_box p{font-size: 30px;}
.top_cms_title h2, .top_info_title h2, #page_title .title_box h2{font-size: -webkit-calc(1rem + 4px);font-size: calc(1rem + 2px);}
#page_title{margin-bottom: 100px;}
p.SERVICE{margin-top: 0;}
.service_wrap .cate_box figure {border-radius: 5px;}
.service_wrap .cate_box .top_title{padding: 10px;}
.service_wrap .cate_box .top_title h3 {font-size: 13px;letter-spacing: 2px;}
#top_cms .more.service {margin-top: 30px;}
p.SERVICE{margin-bottom: 50px;}
#top_contact_box .top_con_box{width: 90%!important;padding: 65px 20px 51px;}
.overlay nav{top: 53%;}
#top_contact_box span.font_31{    font-size: 40px;letter-spacing: 5px;}
}


/* ---------- スマホ ---------- */
@media screen and (max-width: 369px){
#top_contents1::before{font-size: 34px}

}




