/*!
Theme Name: cloudsoft_theme
*/

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;600;700&display=swap');
bbr,address,article,aside,audio,b,blockquote,body,canvas,caption,cite,code,dd,del,details,dfn,div,dl,dt,em,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,p,pre,q,samp,section,small,span,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,ul,var,video{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:0 0}body{line-height:1}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}nav ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:'';content:none}a{margin:0;padding:0;font-size:100%;vertical-align:baseline;background:0 0}ins{background-color:#ff9;color:#000;text-decoration:none}mark{background-color:#ff9;color:#000;font-style:italic;font-weight:700}del{text-decoration:line-through}abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help}table{border-collapse:collapse;border-spacing:0}hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}input,select{vertical-align:middle}.clearfix::after {content: "";display: block;clear: both;}

html{
	font-size:62.5%;
}

*{
	max-height:99999px;
}

body{
	font-family: "Noto Sans JP",'繝偵Λ繧ｮ繝手ｧ偵ざ Pro W3', 'Hiragino Kaku Gothic Pro','繝｡繧､繝ｪ繧ｪ', 'Meiryo', '貂ｸ繧ｴ繧ｷ繝�け', 'Yu Gothic', '�ｭ�ｳ �ｰ繧ｴ繧ｷ繝�け', 'MS PGothic', sans-serif;
	-webkit-text-size-adjust: 100%;
	font-size:1.6rem;
	color: #333333;
	font-weight: 500;
	line-height: 1.75;
	font-feature-settings: "palt";
}
img,video{
	vertical-align:bottom;
	max-width: 100%;
}
li{
	list-style:none;
}
a{
	text-decoration:none;
	color:#333333;
}
a:hover{
	opacity:0.6;
}
.en {
	font-family: 'Montserrat', sans-serif;
}
#wrap{
	overflow:hidden;
}
.relative{
	position:relative;
}
.absolute{
	position:absolute;
}
.inline{
	display:inline-block;
}
.left{
	float:left;
}
.right{
	float:right;
}
.pc{
	display:block;
}
.sp{
	display:none;
}
.tab{
	display:none;
}
.in{
	width:1200px;
	margin:0 auto;
	position: relative;
	z-index: 3;
}
.in_in{
	width:1000px;
	margin:0 auto;
	position: relative;
	z-index: 3;
}
.flex{
	display: flex;
}
.flex_w{
	flex-wrap: wrap;
}
.palt{
	font-feature-settings: "palt";
}
@media screen and (max-width: 750px) {
	body{
		font-size: 1.4rem;
	}
	#wrap{
		width: 100vw;
		overflow: hidden !important;
	}
	.pc{
		display:none;
	}
	.sp{
		display:block;
	}
	.tab{
		display:none;
	}
	.in,.in_in{
	width: 90%;
	margin: 0 auto;
	}
	.flex_w_sp{
		flex-wrap: wrap;
	}
}

#header{
	padding: 30px;
	background: #fff;
	position: fixed;
	top: 0;
	width: 100%;
	box-sizing: border-box;
	z-index: 99999;
}
#header .site_logo{
	width: 215px;
}
#header .header_w{
	justify-content: space-between;
	align-items: center;
}
#header .header_w .h_nav{
	align-items: center;
}
#header .header_w .h_nav ul{

}
#header .header_w .h_nav ul.menu_w > li{
	margin-right: 30px;
	position: relative;
}
#header .header_w .h_nav .sub_menu_w{
	opacity: 0;
	pointer-events: none;
	background: #fff;
	position: absolute;
	transition: 0.25s;
	width: 250px;
}
#header .header_w .h_nav .sub_menu_w.open{
	opacity: 1;
	pointer-events: all;
}
#header .header_w .h_nav .sub_menu li a{
	padding: 10px;
}
#header .header_w .h_nav .entry_btn{
	background: #000;
	padding: 10px 30px;
	line-height: 1;
	color: #fff;
	font-weight: 700;
}
@media screen and (max-width: 750px) {
	#header{
		padding: 5%;
	}
	#header .site_logo{
		width: 50%;
	}
	#header .h_nav{
		position: fixed;
		background:#000;
		height: 100vh;
		width: 100vw;
		z-index: 999;
		left: 0;
		top:0;
		display: none;
	}
	#header .h_nav > .flex{
		width: 100%;
		height: 100%;
		align-items: center;
		margin-left: 30px;
	}
	#header .h_nav > .flex ul{
		display: block !important;
	}
	#header .h_nav > .flex ul li{
		margin: 30px 0;
	}
	#header.active nav a{
		color: #fff;
	}

	.hum{
		margin-top: 5px;
		display: block;
		position: relative;
		z-index: 9999;
	}
	.hum span{
		width: 20px;
		height: 2px;
		background: #222;
		display: block;
		margin-bottom: 5px;
		transition: 0.5s;
	}
	.hum span:last-child{
		margin-bottom: 0px;
	}
	#header.active .hum span{
		background: #fff;
	}

	#header .header_w .h_nav ul.menu_w {
		display: block;
		padding-top: 35%;
		padding-left: 5%;
	}
	#header .header_w .h_nav ul.menu_w{
		margin-bottom: 40px;
	}
	#header .header_w .h_nav ul.menu_w li{
		margin-bottom: 20px;
	}
	#header .header_w .h_nav ul.menu_w li > a,
	#header .header_w .h_nav ul.menu_w li > span{
		font-size: 1.8rem;
		letter-spacing: 4px;
		color: #fff;
	}
	#header .header_w .h_nav .entry_btn{
		background: #fff;
		padding: 10px 30px;
		line-height: 1;
		color: #000;
		font-weight: 700;
		margin-left: 5%;
		width: 90%;
		margin: auto;
		display: block;
		box-sizing: border-box;
		text-align: center;
		font-size: 2.0rem;
	}
		#header .header_w .h_nav .sub_menu_w {
			opacity: 1;
			pointer-events: all;
			background: none;
			position: static;
			transition: 0.25s;
			width: 100%;
			margin-bottom: 10px;
			display: none;
		}
		#header .header_w .h_nav ul.menu_w li{
			margin-bottom: 0;
		}
		#header .header_w .h_nav .sub_menu_w.open {
			opacity: 1;
			pointer-events: all;
		}
		#header .header_w .h_nav .sub_menu_w a{
			display: block;
			padding: 5px !important;
			color: #fff;
			font-size: 1.4rem !important;
		}
}

#footer{
	background: #222222;
	color: #fff;
	padding: 80px 0 60px;
}
#footer .footer_w{
	justify-content: space-between;
	align-items: flex-start;
}
#footer .site_logo{
	margin-right: 100px;
}
#footer .site_logo img{
	width: 215px;
}
#footer .footer_nav{
	margin-bottom: 40px;
}
#footer .footer_nav .footer_nav_column{
	margin-right: 40px;
}
#footer .footer_nav .footer_nav_column a{
	color: #fff;
}
#footer .footer_nav .footer_nav_column .menu_w > li{
	margin-bottom: 15px;
}
#footer .footer_nav .footer_nav_column .menu_w .parent_link{
	font-size: 2.0rem;
	display: inline-block;
	margin-bottom: 10px;
}
#footer .footer_nav_column .menu_w .sub_menu li{
	margin-bottom: 10px;
}
#footer .footer_nav_column .menu_w .sub_menu li a{
	display: flex;
	align-items: center;
}
#footer .footer_nav_column .menu_w .sub_menu li a:before{
	content: "";
	width: 15px;
	height: 2px;
	background: #fff;
	display: block;
	margin-right: 5px;
}
#footer .entry_btn {
	background: #fff;
	padding: 20px 30px;
	line-height: 1;
	color: #000;
	font-weight: 700;
	box-sizing: border-box;
	width: 200px;
	text-align: center;
	font-size: 2.0rem;
	display: inline-block;
}
#footer .pmark_w{
	margin-top: 20px;
	text-align: center;
}
#footer .pmark_w p{
	font-size: 1.0rem;
	margin-top: 10px;
}
#footer .copy{
	text-align: center;
}
@media screen and (max-width: 750px) {
	#footer{
		padding: 60px 0;
	}
	#footer .site_logo {
		margin-right: 0;
		margin-bottom: 40px;
	}
	#footer .footer_nav .footer_nav_column .menu_w .parent_link {
		font-size: 1.8rem;
	}
	#footer .entry_btn{
		margin: auto;
		display: block;
	}
	.f_r_area{
		width: 100%;
	}
}


.cor_w{
	color: #fff;
}
.cor_b{
	color: #000;
}
.txt_blue_grd {
	color: #fe773d;
	background: -webkit-linear-gradient(90deg, #fa9403 0%, #f85605 100%);
	background: -o-linear-gradient(90deg, #fa9403 0%, #f85605 100%);
	background: linear-gradient(90deg, #fa9403 0%, #f85605 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
.bg_w {
	background: #fff;
}
.bg_blk{
	background: #000;
}
.bg_gray {
	background: #f0f0f0;
}
.bg_gray_02 {
	background: #222;
}
.bg_orange{
	background: linear-gradient(45deg, #fa9403 0%, #f85605 100%);
}
.bg_orange_02{
	background: linear-gradient(45deg, #ffab39 0%, #fedcaf 100%);
}
.bg_red_grd {
	background: linear-gradient(45deg, #cb5757 0%, #9f3039 100%);
}
.bg_green_grd {
	background: linear-gradient(45deg, #a9cd09 0%, #6ea81e 100%);
}
.bg_blue_grd {
	background: linear-gradient(45deg, #2e6eb5 0%, #29487e 100%);
}
@media screen and (max-width: 750px) {}


.en_ttl_w{
	position: relative;
	margin-bottom: 50px;
}
.en_ttl_w .en{
	opacity: 0.1 !important;
	font-size: 9.0rem;
	font-weight: 800;
	line-height: 1;
	margin-bottom: -35px;
	letter-spacing: 4px;
}
.en_ttl_w .en.cor_w{
	opacity: 0.3 !important;
}
.en_ttl_w .en_ttl{
	font-size: 3.8rem;
	letter-spacing: 4px;
	padding-left: 30px;
}
.en_ttl_w .en.txt_line {
	overflow: hidden
}
.en_ttl_w .en.txt_line span {
	display: inline-block;
	transform: translateY(9rem);
	transition: 0.5s
}
.en_ttl_w .en.txt_line span.active {
	transform: translateY(0)
}

.en_ttl_w .en_ttl.txt_line {
	overflow: hidden
}
.en_ttl_w .en_ttl.txt_line span {
	display: inline-block;
	transform: translateY(8rem);
	transition: 0.5s
}
.en_ttl_w .en_ttl.txt_line span.active {
	transform: translateY(0)
}
.u_line_ttl{
	font-size: 4.0rem;
	letter-spacing: 6px;
	margin-bottom: 30px;
}
.u_line_ttl:after{
	content: "";
	width: 2px;
	height: 50px;
	display: block;
	background: #000;
	margin-left: 15px;
	
}
.l_line_ttl{
	font-size: 2.5rem;
	letter-spacing: 6px;
	margin-bottom: 30px;
	display: flex;
	align-items: center;
}
.l_line_ttl:before{
	content: "";
	width: 50px;
	height: 2px;
	display: block;
	background: #000;
	margin-right: 15px;
	
}
@media screen and (max-width: 750px) {
	.en_ttl_w .en{
		font-size: 5.2rem;
    	margin-bottom: -20px;
	}
	.en_ttl_w .en_ttl{
		font-size: 2.4rem;
		line-height: 1.5;
		padding-left: 0;
	}
	.u_line_ttl {
		font-size: 2.8rem;
		letter-spacing: 4px;
		margin-bottom: 30px;
	}
	.l_line_ttl{
		font-size: 2.0rem;
		letter-spacing: 6px;
		margin-bottom: 30px;
		display: flex;
		align-items: center;
	}
}













.animation{
	opacity : 0;
	visibility: hidden;
	transition: 1s;
	transform: translateY(-30px);
}
.animation.active{
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}
.animation02{
	opacity : 0;
	visibility: hidden;
	transition: 1s;
	transform: translateY(30px);
}
.animation02.active{
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}
.animation_ttl{
	opacity : 0;
	visibility: hidden;
	transition: 1s;
	transform: translateX(-30px);
}
.animation_ttl.active{
	opacity: 1;
	visibility: visible;
	transform: translateX(0);
}

.listfadein {
  opacity : 0;
  transition : all 1s;
}

.listfadein.active{
  opacity : 1;
}

.animation_txt_img{

}
.animation_txt_img .txtarea,
.animation_txt_img .imgarea{
	opacity : 0;
	transition: 0.75s;
}
.animation_txt_img .imgarea.active,
.animation_txt_img .txtarea.active{
	opacity : 1;
}


.up_main_ttl{
	display: table;
	position: relative;
	margin:0 auto;
	text-align: center;
}
.up_main_ttl .en{
	color: #fe9834;
  background: linear-gradient(45deg, #fe9834 0%, #fb574b 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
	font-size: 7.5rem;
	position: absolute;
	left: -80px;
	top:-60px;
	transform: rotate(-15deg);
}
.up_main_ttl h1{
	font-size: 3.2rem;
	letter-spacing: 3px;
	line-height: 1.25;
}
.up_main_ttl .main_sub_ttl{
	font-size: 1.6rem;
	position: relative;
	z-index: 2;
	margin-top: 20px;
	font-weight: 600;
}
@media screen and (max-width: 750px) {
	.up_main_ttl .en{
		font-size: 6.5rem;
		left: -30px;
    top: -70px;
		transform: rotate(-15deg);
	}
	.up_main_ttl h1{
		font-size: 2.8rem;
	}
}