﻿@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Alata&display=swap');

.font1{
    font-family: 'Alata', sans-serif;
}


/*
#fakeloader{
    display:none;
}
*/


/*--all page---------------------------
-------------------------------------*/
.linkStyle{
    color:#0fa2ff;
}
.linkStyle:hover{
    transition:all 0.3s;
    opacity:0.7;
    text-decoration:underline;
}

body{
    overflow:hidden;
    font-family:'Noto Sans JP', "游明朝", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Sawarabi Mincho", "serif";
}



/*--top page---------------------------
-------------------------------------*/

/*#main_img::before{
    content:'';
    position:absolute;
    display:block;
    width:100%;
    height:100%;
    background:rgba(0,0,0,0.2);
    top:0;
    left:0;
    z-index:2;
    pointer-events:none;
}
*/
.catch {
    z-index: 3;
    width: 43vw;
    max-width: 800px;
    top: 18%;
    left: 50%;
    transform: translateX(-50%);
}

#intro{
    padding:13% 0;
}
#intro::before,
#intro::after{
	position: absolute;
	content: "";
	left: 0;
	width: 100%;
	height: 120px;
	background-image: url("../dup/img/loop.png");
	background-size: auto 100%;
	background-position-y: 0;
	background-position-x: 0;
	background-repeat: repeat-x;
}
#intro::before{
    animation: loop 30s linear infinite;
	top: 0;    
}
#intro::after{
    animation: loop2 30s linear infinite;
    bottom:0;
}
@keyframes loop {
	0% {background-position-x: 0;}
	100% {background-position-x: -1000px;}
}
@keyframes loop2 {
	0% {background-position-x: -1000px;}
	100% {background-position-x: 0;}
}

.intro_item{
    width: 15vw;
    max-width: 250px;
    bottom: 0;
    right: 10%;
    z-index:2;
}

#contents .contents_box{
    position:relative;
}
#contents .contents_box::before {
    content: '';
    position: absolute;
    display: block;
    width: calc(100% - 20px);
    height: calc(100% - 20px);
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    border: 4px solid #fcee21;
    z-index: 1;
    pointer-events: none;
}
#contents .box h3:before{
    position:relative;
    z-index:2;
}
.cms_title{
    background-color: #0fa2ff;
}
#top_cms .cms_title .title_box h2{
    color:#fff!important;
    font-weight:bold;
}

/*--under page---------------------------
-------------------------------------*/
#page_title h2{
    color: #333;
    font-weight: bold;
    text-shadow: none;
}

.flow_type4 .box_description2{
	border-left: dotted 4px #1e2b38;
	background-color: rgba(204, 204, 204, .35);
}
.flow_type4 .box_txt1,
.flow_type4 .box_txt2{
	padding-left:20px;
}
.flow_type4 .box_wrap{
    position: relative;
    padding-left: 30px;
}
.flow_type4 .box_wrap:before{
    content: "";
    display: inline-block;
    height: calc(100% - 30px);
    border-left: 4px dotted #1e2b38;
    position: absolute;
    top: 30px;
    left: 26px;
}
.flow_type4 .cate_box:last-of-type{
	padding-bottom: 0;
}
.flow_type4 .box_description2{
    position: relative;
    border-left: none;
    background-color: rgba(255, 255, 255, 0);
}
.flow_type4 .box_description2 span{
	position: absolute;
    display: inline-block;
    width: 68px;
    top: 5px;
    left: -38px;
}



/* ---------- responshive ---------- */
@media screen and (max-width: 1536px){

}


@media screen and (max-width: 1366px){
#intro::before, #intro::after{
    height:100px;
}
}


/* ---------- タブレット ---------- */
@media screen and (max-width: 768px){
#main_img {
    max-height: 50vh;
}
/*
#main_img::before{
    height: 99%;
}
*/
.catch{
    width: 60vw;
}
#intro {
    padding: 15% 0;
}
#intro::before, #intro::after{
    height: 60px;
}
.intro_item {
    width: 150px;
}


.flow_type4 .cate_box{
	flex-direction: column-reverse;
}
.flow_type4 .box_description2 span {
	width: 61px;
	left: -34px;
}
}

/* ---------- スマートフォン ---------- */
@media screen and (max-width: 667px){
#main_img {
    max-height: 37vh;
}
/*
#main_img::before {
    height: 98%;
}
*/
.catch {
    width: 70vw;
    top: 15%;
}
#intro {
    padding: 10% 0 20%;
}
#intro::before, #intro::after {
    height: 35px;
}
.intro_item {
    width: 120px;
}
#intro_txt .font1{
    text-align:center;
}
#intro_txt h2{
    letter-spacing: 0px;
    font-size: 19px;
}



.flow_type4 .box_wrap{
    padding-left: 23px;
}
.flow_type4 .box_wrap:before {
    left: 19px;
}
}




