﻿@import url('https://fonts.googleapis.com/css2?family=Fresca&display=swap');

.font1,
#contents4 .con_txt .font_8up,
#top_cms h2,
#top_cms .more a,
#sp_nav li a,
.page_title_box h2{
    font-family: 'Fresca', sans-serif;
    line-height:1.2;
}

/*
.fix_bnr{
    position:absolute;
}
*/


/*--all page---------------------------
-------------------------------------*/
.linkStyle{
    color:#ff4f30;
}
.linkStyle:hover{
    transition:all 0.3s;
    opacity:0.7;
    text-decoration:underline;
}
#body{
    overflow:hiden;
}
#wrap{
    font-family: "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif!important;
}
#footer{
    text-shadow:none;
}
#footer .con_img{
    background-color:transparent!important;
}
#footer .con_img figure{
    opacity:1!important;
}
#copyright a{
    color:#333;
}
.menu_stick span{
    color: #FF4F30!important;
    box-shadow:none!important;
}

#top_info .grid_5{
    padding-top:0;
    width: 60%!important;
}
.map_wrap{
    display:none;
}


/*--top page---------------------------*/
#main_img:before{
    content:'';
    position:absolute;
    display:block;
    width:100%;
    height:100%;
    background:url(./Dup/img/frame.png) no-repeat;
    top:0;
    left:0;
    background-size:100% 100%;
    z-index:2;
    pointer-events:none;
}
#main_img .con_img img{
    width:100%!important;
    height:auto!important;
}
.catch {
    z-index: 2;
    top: 20%;
    left: 5%;
    width: 30vw;
    max-width:500px;
}
.catch img{
    filter: drop-shadow(2px 2px 0 rgba(255,255,255,0.9));
}
#contents1{
    padding-top: 300px;
}
#contents1 .con_box{
    background-color:transparent!important;
    color:#FF4F30;
}
#contents1 .con_title {
    width: 32vw;
    max-width: 700px;    
    top: 5%;
}
.intro_p{
    font-size:2rem;
}
.con1_txt:before {
    content: '';
    position: absolute;
    display: block;
    width: 42vw;
    height: 200px;
    background: url(./Dup/img/line.png) no-repeat;
    background-size: contain;
    top: 12%;
    left: -62px;
    z-index: 2;
}
/*--modal--*/
.modal_wrap{
	top: 0;
	left: 0;
	opacity: 0.95;
	z-index: 102;
}
.modal_wrap .modal_scroll{
	overflow-y: auto;
}
.modal_wrap .close_bt{
	top: 20px;
	right: 20px;
	cursor: pointer
}
.more_box{
    cursor:pointer;
}

.con2_3_wrap{
    margin-top:20%;
        left: -5%;
}
.con2_3_wrap .con2_txt_wrap,.con2_3_wrap .con3_txt_wrap,.con2_3_wrap .con4_txt_wrap{
    background-color: rgba(255, 255, 255, .8);
    z-index: -1;
    padding: 50px 65px 70px 90px;
    box-shadow: rgb(100 100 111 / 20%) 0px 7px 29px 0px;
    margin-top: -100px;
    margin-left: -45px;
}
.con2_3_wrap .con4_txt_wrap{
    margin-top:-50px;
}
.con2_3_wrap .con3_txt_wrap {
    padding: 50px 100px 70px 60px;
    margin-right: -45px;
    margin-top: -75px;
}
.con2_sub_title,
.con3_sub_title,
.con4_sub_title{
    font-size:2rem;
}
.con2_box,
.con3_box,
.con4_box{
    position:relative;
}
.con2_box:before, .con3_box:before,.con4_box:before{
    content: '';
    position: absolute;
    display: block;
    width: 20vw;
    height: 18vh;
    z-index: 2;
}
.con2_box:before,.con4_box:before{
    background: url(./Dup/img/item1.png) no-repeat;
    background-size: contain;
    top: -7%;
    left: -1%;
}
.con3_box:before{
    background:url(./Dup/img/item2.png) no-repeat;
    background-size:contain;
    top:-7%;
    right:-1%;
}
.con4_box{
    margin-top:10%;
}

#top_cms .more a::before {
    border-top: solid 1px #fff;
    border-right: solid 1px #fff;
}
#top_cms .more a::after {
    border-bottom: solid 1px #fff;
    border-left: solid 1px #fff;
}
.topcms_news_type2 .cate_box {
	width: 46.33333%!important;
	margin-right: 1.5%;
	margin-left: 1.5%;
	cursor: pointer;
	border-bottom: 1px solid #ddd;
	margin-bottom: 30px;
	box-shadow: 0 6px 12px rgb(0 0 0 / 0);
	/* padding: 20px; */
	/* border-radius: 20px; */
	/* background-color: #f5f5f5; */
}
.topcms_news_type2 .cate_box:hover {
	transform: translateY(-5px);
}
.topcms_news_type2 .cate_box .box_item {
	cursor: pointer;
}
.topcms_news_type2 .txt_height {
	height: 5em
}
.topcms_news_type2 .box_img1 {
	border-radius: 10px;
}



/*confetti*/
#particles-js{ 
	position:fixed;/*描画固定*/
	z-index:-1;/*描画を一番下に*/
	width: 100%;
	height: 100%;
	background-color:#f3f3f3;/*背景色*/
}

#wrapper{
	position: relative;/*描画を#particles-jsよりも上にするためposition:relative;を指定*/
	z-index: 1;/*z-indexの数字を大きくすることで描画を#particles-jsよりも上に*/
	width:100%;
	height: 100%;
}

.cms_title p{
    color:white;
}
.fix_bnr{
    right:20px;
    z-index:99;
}



/*--under page---------------------------
-------------------------------------*/
#page_title{
    background-color: #d9d0ae!important;
}
#page_title img{
    opacity:0.5;
}
#page_title .page_title_box{
    color:#fff;
}
#under_page{
    position:relative;
}
#under_page:before,
#under_page:after{
    content:'';
    position:absolute;
    display:block;
    width:200px;
    height:100px;
    z-index:1;
}
#under_page:before{
    background:url(./Dup/img/item1.png) no-repeat;
    background-size:contain;
    top:-1%;
    left:-1%;    
}
#under_page:after{
    background:url(./Dup/img/item2.png) no-repeat;
    background-size:contain;
    top:-1%;
    right:-1%;    
}
.under_box{
    box-shadow: rgb(100 100 111 / 20%) 0px 7px 29px 0px;
}
.youtube_box{
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.youtube_box iframe{
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

/*voice*/
.v_type1 .triangle {
    display: block;
    border: #555 solid 2px;
    box-shadow: 5px 5px 0 0 #4ca7a3;
    border-radius: 10px;
}
.v_type1 .triangle:before {
    content: '';
    position: absolute;
    display: block;
    z-index: 1;
    border-style: solid;
    border-color: #FFF transparent;
    border-width: 13px 13px 0 0;
    bottom: -13px;
    left: 50%;
    margin-left: -9px;
}
.v_type1 .triangle:after {
    content: '';
    position: absolute;
    display: block;
    z-index: 0;
    border-style: solid;
    border-color: #000 transparent;
    border-width: 15px 15px 0 0;
    bottom: -17px;
    left: 50%;
    margin-left: -11px;
}


/*flow*/
.flow_type3 .cate{counter-reset: box;}
.flow_type3 .cate_box{counter-increment: box;}
.flow_type3 .box_item{padding-top: 60px;}
.flow_type3 .box_title1{z-index: 0}
.flow_type3 .box_title1::before, .flow_type3 .box_title1::after{
	position: absolute;
	content: "";
	display: block;
	pointer-events: none
}
.flow_type3 .box_title1::before {
	content: "0"counter(box);
	font-size: 86px;
	color: rgba(255,255,255,0.2);
	left: 0;
	top: -70px;
	z-index: -1;
}
.flow_type3 .box_title1::after{
	width: 100%;
	height: 1px;
	bottom: 0;
	left: 0;
	background-color: #fff;
}
#under_page .flow_type3 .box_title1::before{
    color:rgba(255,79,48,0.2);
}
#under_page .flow_type3 .box_title1::after{
    background-color: #ff4f30;
}
.page08 .under_box .font1{
    font-size:3rem;
    font-weight:bold;
}
.page08 #contact_tel a{
    line-height: 100px;
}

/* ---------- responshive ---------- */
@media screen and (max-width: 1350px){
#pc_nav {
    right: 30px;
}
}


/* ---------- タブレット ---------- */
@media screen and (max-width: 768px){
#main_img .con_img img {
    width: auto!important;
    height: 100%!important;
    left: 36%!important;
}
#main_img:before{
    background: url(./Dup/img/frame_tb.png) no-repeat;
}
#pc_nav {
    left: 50px;
}
.catch {
    top: 43%;
    left: 2%;
    width: 400px;
    /*filter: drop-shadow(2px 4px 6px black);*/
}
#contents1 .con_box{
    top: 30px;
}
#contents1 .con_title {
    width: 60vw;
    max-width: 700px;
    top: 1%;
    left: 0;
    right: 0;
    margin: auto;
}
.con1_txt:before {
    width: 64vw;
    height: 100px;
    top: 7%;
    left: auto;
    z-index: 2;
    right: 7%;
}
.con2_3_wrap {
    left: 0%;
}
.con2_3_wrap .con2_txt_wrap, .con2_3_wrap .con3_txt_wrap,.con2_3_wrap .con4_txt_wrap {
    padding: 50px;
    margin-top: 0px;
    margin-left: 0px;
}
.con2_3_wrap .con3_txt_wrap {
    margin-right: 0;
}
.con2_box:before,.con4_box:before{
    top: -3%;
    width: 27vw;
}
.con3_box:before{
    width: 27vw;
}

.topcms_news_type2 .cate_box {width: 100%!important;}
.topcms_news_type2 .txt_height {height: 3em}
#under_page:before, #under_page:after{
    width: 150px;
    height: 80px;
}
#under_page:before{
    top: -2%;
    left: 1%;
}
#under_page:after{
    top: -2%;
    right: 1%;
}
#top_info .grid_5 {
    width: 100%!important;
}
#top_info .grid_5 .con_title{
    letter-spacing: 3px!important;
}

}

/* ---------- スマートフォン ---------- */

@media screen and (min-width: 769px){
 .con2_3_wrap .grid_5 {
    width: 48%!important;
}
}


@media screen and (max-width: 667px){
#header h1 img{
    max-width:130px;
}
.catch img {
    filter: drop-shadow(1px 1px 0 rgba(255,255,255,0.9));
}
.catch {
    top: auto;
    left: 0;
    width: 280px;
    bottom: 8%;
}
header .scroll_d{
    display:none;
}
#main_img:before{
    background: url(./Dup/img/frame_sp.png) no-repeat;
}
#contents1 {
    padding-top: 170px;
}
#contents1 .con_box {
    top: -30px;
}
#contents1 .con_title {
    width: 85vw;
}
#contents1 .con_img img{
    height: 480.891px!important;
    left: 41%!important;
}
.con1_txt:before {
    width: 100vw;
    height: 100px;
    top: -13%;
    right: -13%;
}
.con2_box:before,.con4_box:before {
    top: -3%;
    width: 43vw;
}
.con3_box:before {
    width: 43vw;
}
.flow_type3 .box_title1::before{
	left: auto;
	right: 0;
	top: -50px
}
.flow_type3 .box_item {
    padding-top: 36px;
}
.con2_3_wrap .con2_txt_wrap, .con2_3_wrap .con3_txt_wrap {
    padding: 30px 25px;
}
.fix_bnr {
    right: 10px;
}
#under_page:before, #under_page:after{
    width: 120px;
    top: -1%;
}
#under_page .under_box{
    padding-top: 100px;
}
.width_80_sp{
    width:80px;
}
#top_info .grid_5 .con_title {
    letter-spacing: 1px!important;
}
}
