@charset "UTF-8";
/* CSS Document */
* {
	margin : 0;
	padding : 0;
	font-size : 100%;
	border : none;
	list-style-type: none;
	text-decoration : none ;
}
*, *::before, *::after {
	box-sizing: border-box;
}

html {	
	font-size : 62.5% ;
}

html, body{
	overflow-x: hidden;
	width: 100%;	
}

body {
	background-color: #ffffff;
	color: #333333;
	font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", 'Meiryo', 'Noto Sans JP', sans-serif;
	font-size: 1.4rem;
	line-height: 2;
	letter-spacing: 0.1rem;
	/* --フッター下固定-- */
	min-height: 100%;
}



img {
	width: 100%;
	height: auto;
	border : none;
}

/*---font-size---*/
h1 { font-size: 2.5rem !important; }
h2 { font-size: 2.5rem !important; } 
h3 { font-size: 2rem !important; } 
h4 { font-size: 1.8rem !important; } 

@media (min-width: 900px){
    h1 { font-size: 5rem !important; }
    h2 { font-size: 5rem !important; } 
    h3 { font-size: 4rem !important; }
    h4 { font-size: 2.5rem !important; } 
	h5 { font-size: 2rem !important; }
}

/* TOPに戻るボタンのスタイル */
.page-top-btn {
	position: fixed;
    right: -70px; 
    bottom: 50px; 
    width: 60px;
    height: 85px;
    background-color: #004a8d;
    color: #fff;
    border: none;
    border-radius: 12px 0 0 12px; 
    cursor: pointer;
    z-index: 100;
    opacity: 0;
    visibility: hidden;
    transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1); 
    display: flex;
    flex-direction: column; 
    align-items: center;
    justify-content: center;
    box-shadow: -2px 4px 15px rgba(0,0,0,0.15);
}
/* 表示された時のクラス */
.page-top-btn.is-active {
    right: 0;
    opacity: 1;
    visibility: visible;
}
/* ボタンの中の上向き矢印 */
.page-top-btn .arrow {
	display: block;
    width: 12px;
    height: 12px;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    transform: rotate(-45deg);
    margin-bottom: 8px; 
    transition: transform 0.3s ease;
}
/* テキスト部分 */
.page-top-btn .text {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.1em;
    font-family: 'Inter', sans-serif; 
}
/* ホバー時の演出 */
.page-top-btn:hover {
	background-color: #DFFF4F; 
    color: #333;
    transform: translateY(-5px);
}
.page-top-btn:hover .arrow{
	border-color: #333;
    transform: rotate(-45deg) translateY(3px, -3px);
}


video {
/*  iPhone safariの枠線を消す*/
  filter: drop-shadow(0px 0px rgba(0,0,0,0));
/*  PCのChromeの枠線を消す*/
	outline: none;
  	border: none;
}

.biz-udgothic-regular {
  font-family: "BIZ UDGothic", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.biz-udgothic-regular {
  font-family: "BIZ UDGothic", sans-serif;
  font-weight: 400;
  font-style: normal;
}









/*============common==================*/

.w80 {width: 80%;}

/*検証用　線*/
.border-v {border: solid 1px red ;}


.inline-block {display: inline-block;
}

.left {	text-align: left;}
.right {text-align: right;}
.center {text-align: center;}
.center-contents{margin: 0 auto;}
.center-left {text-align: center;}/*600以上でleft*/


.txt {display: inline-block; text-align: left; }

.white-text{color: #fff;}
.white {background:#fff;}

.glay-light {background: #ccc;}
.glay-dark {background: #333; color: #fff}

/*------------------------*/

.photo-odd { margin-left: 50px;}
.photo-even { margin-right: 50px;}


/*////////////////////////////////////

			 flex

//////////////////////////////////////*/

 .flex { display: flex; }


@media (min-width: 600px) { 

/*---------------------------------
    flex  600以上
-----------------------------------*/
	
 .flexbox { display: flex; }
	
.flex-row-revers{
	flex-direction: row-reverse;/*逆順*/
}

/*横位置*/
.flex-right{
	justify-content: flex-end;/*右揃え*/
}
.flex-center{
	justify-content: center;/*中央揃え*/
}
.flex-between{
	justify-content: space-between;/*両端揃え*/
}
.flex-around{
	justify-content: space-around;/*均等配置*/
}

/*縦位置*/
.flex-align-start{align-items: flex-start;/*上揃え*/
}	
.flex-align-center{align-items: center;/*中央揃え*/
}
.flex-align-botttom{align-items: flex-end;/*下揃え*/
}
.flex-align-bottom-con{align-content: flex-end;/*複数行下揃え*/
}

	
	.center-left {text-align: left;}
}
