@charset "UTF-8";

/*-------------------------------------------
全体設定
-------------------------------------------*/
html {
	margin: 0;
	padding: 0;
	font-size: 15px;	/*基準となるフォントサイズ。*/
	overflow-x: hidden;
}

body {
	width:100vw;
	margin:0;
	font-family: "Noto Serif JP", "Hiragino Mincho Pro", "ヒラギノ明朝 Pro W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;	/*フォント種類*/
	background:#FFF;	/*背景色*/
	/*color: ;		/*文字色*/
}

@font-face{
	font-family:"myfont_1";
	src:url("../fonts/Thesignature.ttf") format("truetype");
}

@font-face{
	font-family:"myfont_2";
	src:url("../fonts/ArsenicaTrial-Italic.ttf") format("truetype");
}

@font-face{
	font-family:"myfont_3";
	src:url("../fonts/Arimo-Regular.ttf") format("truetype");
}

@font-face{
	font-family:"myfont_4";
	src:url("../fonts/Arimo-Bold.ttf") format("truetype");
}

@font-face{
	font-family:"myfont_5";
	src:url("../fonts/Arimo-Regular.ttf") format("truetype");
}

a {
	transition: 0.3s;
	text-align: center;
}

img{max-width:100%;
}

p{
	margin:0;
	font-size:1rem;
	color: #000;
	line-height:2.3;
}

h2{margin:0;
	font-size:2rem;
}

.section{
	display:flex;
	flex-direction: column;
	margin-top:45%;
	width:100%;
}

.sec-top{
	display:flex;
	justify-content: space-evenly;
	margin-bottom: 10%;
}

.sec-title{
	display: flex;
	flex-direction: column;
	padding-left:10px;
	gap:3px;
}

.tr{
	position: relative;
	display: inline-block;
	color: transparent;
	-webkit-text-stroke: 1px #444;
    font-size: 40px;
    font-weight: 900;
	font-family:"myfont_4";
	line-height: 1em;
}

.rt{
	position: relative;
    font-size: 15px;
    color: #444;
    line-height: 1.7;
}

.sec-img{
	position: relative;
	width:auto;
	height:auto;
	overflow: hidden;
	box-shadow: 0 8px 30px 0 rgba(0,0,0,0.3);
	animation: border-trans1 7s linear infinite;
	
}

.pc-img{
	display:none;
}

.sec-btn{
	display: block;
	position: relative;
	width: 30vw;
	color: #5d5d5d;
	line-height: 3.5;
	border: 0.5px solid #5d5d5d;
	border-radius: 100vh;
}

.sec-btn:hover{
	color: #fff;
	background: #5d5d5d;
}

@keyframes border-trans1{
	0%,100% { border-radius: 63% 37% 54% 46% / 55% 48% 52% 45%; } 
	14% { border-radius: 40% 60% 54% 46% / 49% 60% 40% 51%; } 
	28% { border-radius: 54% 46% 38% 62% / 49% 70% 30% 51%; } 
	42% { border-radius: 61% 39% 55% 45% / 61% 38% 62% 39%; } 
	56% { border-radius: 61% 39% 67% 33% / 70% 50% 50% 30%; } 
	70% { border-radius: 50% 50% 34% 66% / 56% 68% 32% 44%; } 
	84% { border-radius: 46% 54% 50% 50% / 35% 61% 39% 65%; } 
}

@keyframes border-trans2{
	0%,100% { border-radius: 42% 63% 44% 74% / 65% 57% 62% 58%; }
	14% { border-radius: 46% 54% 50% 50% / 35% 61% 39% 65%; }
	28% { border-radius: 50% 50% 34% 66% / 56% 68% 32% 44%; }
	42% { border-radius: 61% 99% 74% 93% / 82% 91% 81% 85%; }
	56% { border-radius: 44% 99% 78% 99% / 84% 99% 84% 99%; }
	70% { border-radius: 54% 92% 60% 97% / 79% 94% 89% 95%; }
	84% { border-radius: 40% 60% 54% 46% / 49% 60% 40% 51%; }
}

@media screen and (min-width:700px){ /*TB版*/
	p{
		font-size: 1.5rem;
	}

	.section{
		display:flex;
		flex-direction: column;
		margin-top:30%;
		width:100%;
	}
	
	.sec-title{
		padding-left:0;
		min-width: fit-content;
	}
	
	.tr{
		font-size:5.5rem;
	}
	
	.rt{
		font-size:30px;
	}
}

@media screen and (min-width:1000px){ /*PC版*/
	
	main{margin-top:100px;
	}
	
	h2{
		font-size:5rem;
	}
	
	p{
		font-size:1.3rem;
		line-height: 2.5;
	}
	
	.section{
		margin:20% auto 0;
	}
	
	.tr{
		font-size:9rem;
	}
	
	.rt{
		font-size:30px;
	}
	
	.sec-img{
		position: relative;
		top:0;
		left:10px;
		width:auto;
		height:auto;
		overflow: hidden;
		box-shadow: 0 8px 30px 0 rgba(0,0,0,0.3);
		animation: border-trans1 7s linear infinite;
	}
	
	.pc-img{
		display:block;
	}

	.sec-btn{
		width: 10vw;
	}
}

/*-------------------------------------------
セクション１：サイトタイトル
-------------------------------------------*/
.sec1{
	display:flex;
	flex-direction:column;
	align-items:center;
	width:100%;
	margin-top: 10dvh;
}

.my-name {
	z-index:20;
	max-width: 100vw;
	text-align:center;
}

.my-name h1{
	white-space: nowrap;
	text-wrap: nowrap;
	font-size: clamp(2.5rem, 4.5rem, 6.5rem);
	margin-top:20%;
	margin-bottom: 0;
	font-family:"myfont_1";
	text-shadow: 0px 5px 10px rgba(0, 0, 0, 0.4);
}

.sec1-img{
	z-index:10;
	position:relative;
	bottom:30px;
	width: 50%;
    height: 10rem;
	overflow: hidden;
	box-shadow: 0 8px 30px 0 rgba(0,0,0,0.3);
	animation: border-trans2 7s linear infinite;   /*border-transformを一定の速度で7秒間を無限にリピート*/
}

.sec1-img img{
	height: -webkit-fill-available;
	object-fit:cover;
}

.job{
	z-index:20;
	text-align:center;
	
}

.job h1{
	font-size:1.5rem;
	margin-top:-25px;
	font-family: 'Oswald', sans-serif;
}

@media screen and (min-width:700px){ /*TB版*/
	.my-name h1{
		font-size: clamp(6.5rem, 8.5rem, 10.5rem);
    	margin-top: 30%;
	}

	.sec1-img{
        bottom: 3rem;
        width: 60%;
        height: 20rem;
	}
	
	.job{
		position: relative;
		bottom: 10px;
	}
	
	.job h1{
		font-size:4rem;
	}
}

@media screen and (min-width:1000px){ /*PC版*/
	
	.my-name h1{
		font-size: clamp(10rem, 12.5rem, 15rem);
		text-shadow: 3px 15px 15px rgba(0, 0, 0, 0.4);
		margin-top:3%;
	}
	
	.sec1-img{
		bottom:5rem;
		width:40%;
		height:25rem;
	}
	
	.job{
		bottom:50px;
	}
	
	.job h1{
		font-size:4rem;
	}
}

/*-------------------------------------------
セクション２
-------------------------------------------*/
.sec2{
	background-color: rgba(255,255,255,1);
}

.sec2-bottom{
	position: relative;
	display:flex;
	justify-content:center;
}

.sec2-img{
	position: relative;
	width:22%;
	transform:skew(0deg, 0deg);
	background: url(../images/nabita-5.png)
	no-repeat center / 145%;
}

.sec2-img2{
	position: absolute;
	top: 150px;
	left: 150px;
	width:15%;
	transform: skew(-15deg, 15deg);
}

.sec2-text{
	position: relative;
	display: flex;
	flex-flow: column nowrap;
    gap: 30px;
    width: 80%;
    padding: 2.5rem;
    border-radius: 30px;
	border: #c7c7c7 1px solid;
	/*
	background: linear-gradient(140deg, #f9f9f9 45%, #eee);
	box-shadow: -15px -15px 15px 0 #ffffff inset, 15px 15px 15px 0 #dbdbdb inset;
	*/
}

.sec2 .content-2 {
	display: flex;
	flex-flow: column nowrap;
}

.sec2-text .text{
	display: block;
    line-height: 2.5;
	color: #333;
	font-size: 10px;
}

.content-2 {
	.text-1{
		text-align: left;
	}

	.text-2{
		text-align: center;
		font-weight: 700;
	}

	.text-3{
		text-align: right;
	}
}

@media screen and (min-width:700px){ /*TB版*/
	.sec2-text{
		width: 55%;
		padding: 5rem;

		.text{
			line-height: 2.5;
			font-size: 13px;
		}
	}
}

@media screen and (min-width:1000px){ /*PC版*/
	.sec2{
		margin-top:15%;
	}
	
	.sec2-title{
		padding:0;
	}
	
	.sec2-img{
		width: 20%;
        background-size: 125%;
	}

	.sec2-text{
		width: 40%;

		.text{
			line-height: 2.5;
			font-size: 1rem;
		}
	}
}

/*-------------------------------------------
セクション３
-------------------------------------------*/

.sec3-title{
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.sec3-img{
	position: relative;
	top:15%;
	left:5%;
	width:20%;
}

.sec3-bottom{
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	gap: 70px;
}

.sec3 .content-item{
	width: 350px;
	height: fit-content;
	background-color: #f5f5f5;
	border-radius: 30px;
}

.sec3 .item-text{
	position: relative;
    top: -20px;
    width: fit-content;
    margin: 0 auto;
    padding: 3% 7%;
	border: #f5f5f5 1.5px solid;
    border-radius: 50px;
    background-color: #fff;

	h3{
		display: inline;
	}
}

.sec3 .item-content{
	display: flex;
    justify-content: center;
    align-items: center;
    gap: 15%;
	margin: 3% auto 7%;

	.list{
		font-size: 12px;
        line-height: 1.7;
	}

	.icon{
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100px;
        height: 100px;
        padding: 5%;
		border-radius: 50px;
		background-color: #fff;
	}

	.bi{
		font-size:3rem;
		color: #022a2d;
	}
}

.sec3 .text-content{
	padding: 7% 10%;
    background-color: #0096a2;
    border-radius: 30px;
	
	.text{
		line-height: 1.9;
        font-size: 10px;
		color: #fff;
	}
}

@media screen and (min-width:700px){ /*TB版*/
	.sec3-img{
		top: 0;
		left: 0;
		width: 20%;
	}

	.sec3-bottom {
		gap:50px;

		.content-item{
			width: 40%;
            margin: 5% 0 0;
		}
	}
	
	.sec3 .item-text{
		padding:4% 12%;
		
		h3{
			font-size: 15px;
			line-height: 1.3;
		}
	}

	.sec3 .item-content{
		gap: 25%;
    	margin: 5% auto 10%;
	
		.list{
			font-size: 13px;
        	line-height: 1.9;
		}
	
		.icon{
			width: 120px;
			height: 120px;
			border-radius: 100px;
		}
	}
}

@media screen and (min-width:1000px){ /*PC版*/
	.sec3-top{
		margin-bottom: 3%;
	}

	.sec3-img{
		top: 0;
		left: 0;
		width: 12%;
	}
	
	.sec3 .item-text{
		top: -27px;
        padding: 3% 10%;
		
		h3{
			font-size: 15px;
			line-height: 1.3;
		}
	}

	.sec3 .text-content{
		padding: 5% 7%;
		
		.text{
			line-height: 2;
			font-size: 13px;
		}
	}
}

/*-------------------------------------------
セクション４
-------------------------------------------*/
.sec4-top{
	display:block;
}

.sec4-title{
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 310px;
	padding-left:30px;
}

.sec4-img{
	display:none;
}

.btn-container{
	display: flex;
	justify-content: center;
	flex-flow: wrap;
	margin: 0 5%;
}

.btn-item{
	min-width: fit-content;
	width: calc(100% / 2 - 10%);
	margin: 10% auto 0;
	text-align: center;
	border-radius: 3rem;
	background: linear-gradient(140deg, #fcfcfc, #eeeeee);
	box-shadow: 7px 7px 10px 0 #dbdbdb;
	transition: 0.5s;
}

.btn-item:hover{
	-webkit-transform: translateY(5px);
	transform: translateY(5px);
	box-shadow: none;
	background: linear-gradient(140deg, #fff, #fff);
}

.btn-item .btn{
	display: block;
	white-space: nowrap;
	font-size: 0.7em;
	color: #090909;
	line-height: 4;
	margin: 3%;
}

.sec4-bottom{
	margin-top:15%;
	text-align: center;
}

.sec4 .content-item{
	position: relative;
	width: 90%;
	margin: 10% auto;
	border-radius: 3rem;
	background: linear-gradient(140deg, #fcfcfc, #eeeeee);
	box-shadow: -10px -10px 10px 0 #ffffff, 13px 13px 13px 0 #dbdbdb;
	transition: 0.5s;
}

.sec4 .content-item:hover{
	-webkit-transform: translateY(-7px);
	transform: translateY(-7px);
	box-shadow: none;
}

.item-img img{
	margin:auto;
	cursor: pointer;
	padding: 7%;
	border-radius: 3rem;
}

.item-img{
	transition: 0.5s;
}

.item-img:hover{
	-webkit-transform: translateY(4px);
	transform: translateY(10px);
	box-shadow: none;
}

.sec4 .item-text p{
	font-size:1.2rem;
}

.sec4-btn{
	margin: 10% auto 0;
}

@media screen and (min-width:700px){ /*TB版*/
	.sec4-title{
		padding-left: 100px;
	}

	.btn-container {
        width: 77%;
        margin: 0 auto;
	}

	.btn-item{
		background: linear-gradient(140deg, #eee, #fff);
		margin: 5% auto 0;
	}

	.btn-item .btn {
		font-size: 1.1em;
	}

	.sec4-bottom{
		display:flex;
		justify-content: space-around;
		margin: 10% 3% 0;
	}
	
	.sec4-bottom .content-item{
		display: flex;
		flex-direction: column;
		justify-content: center;
		margin:0;
		padding: 3%;
		width: 30%;
		position: relative;
		border-radius: 3.5rem;
		background: linear-gradient(140deg, #fcfcfc, #eeeeee);
		box-shadow: -15px -15px 15px 0 #ffffff inset, 15px 15px 15px 0 #dbdbdb inset;
	}
	
	.item-img{
        margin: auto;
        position: relative;
        border-radius: 3vh;
		background: linear-gradient(140deg, #fcfcfc, #eeeeee);
		box-shadow: -10px -10px 10px 0 #ffffff, 13px 13px 13px 0 #dbdbdb;
	}
	
	.item-img img{
		border-radius:2.5em;
	}
	
	.sec4 .item-text{
		margin: 10% auto 0;
	}

	.sec4 .item-text p{
		font-size:1.2em;
		line-height: 1.5;
	}

	.sec4-btn{
		margin:5% auto 0;
	}
}

@media screen and (min-width:1000px){ /*PC版*/
	.sec4-top{
		display:flex;
		justify-content: space-between;
	}
	
	.sec4-title{
		width:-webkit-fit-content;
		
	}
	
	.sec4-img{
		display:inline-block;
		left: 0;
		width:190px;
		margin-right:77px;
	}
	
	.btn-container{
		width: 72%;
	}

	.btn-item{
		width: 20%;
		margin: auto;
	}

	.btn-item .btn{
		font-size: 1rem;
		line-height: 3;
		margin: 5%;
	}

	.sec4-bottom{
		display:flex;
		justify-content: space-around;
		margin-top: 10%;
	}
	
	.sec4-bottom .content-item{
		display: flex;
		flex-direction: column;
		justify-content: center;
		margin:0;
		padding: 3%;
		width: 30%;
		position: relative;
		border-radius: 7vh;
		background: linear-gradient(140deg, #fcfcfc, #eeeeee);
		box-shadow: -15px -15px 15px 0 #ffffff inset, 15px 15px 15px 0 #dbdbdb inset;
	}
	
	.item-img{
		width: 90%;
		margin: auto;
		padding: 7%;
		position: relative;
		border-radius: 7vh;
		background: linear-gradient(140deg, #fcfcfc, #eeeeee);
		box-shadow: -10px -10px 10px 0 #ffffff, 13px 13px 13px 0 #dbdbdb;
	}
	
	.item-img img{
		border-radius:5vh;
	}
	
	.sec4 .item-text{
		margin: 7% auto 0;
	}

	.sec4 .item-text p{
		font-size:20px;
	}

	.sec4-btn{
		margin:5% auto 0;
	}
}

/*-------------------------------------------
セクション５
-------------------------------------------*/

.sec5 h1{
	position:relative;
	font-size:35px;
	font-weight: bold;
}

.sec5-title{
	display: flex;
	justify-content: center;
}

.sec5-img{
	display:none;
}

.img-top{
	position: relative;
	left:3%;
}

.message{
	font-family:"myfont_3";
	align-self: center;
}

.mes-center{
	font-family:"myfont_2";
}

.img-bottom{
	position: relative;
	right:3%;
}

@media screen and (min-width:700px){ /*TB版*/
	.sec5 h1{
		font-size:3.5em;
	}
	
	.sec5-title{
		justify-content:space-around;
	}
	
	.sec5-img{
		display:block;
		position:relative;
		width:17%;
	}
	
	.img-top{
		transform:skew(10deg, -10deg);
	}
	
	.img-bottom{
		left:20px;
		transform:skew(-20deg, 20deg);
	}

}

@media screen and (min-width:1000px){ /*PC版*/
	.sec5 h1{
		font-size:115px;
	}

	.sec5-img{
		width:230px;
	}
}