@charset "utf-8";

*{
	margin: 0;
	padding: 0;
	line-height: 1.8;
}

img,.flow08 img{
	vertical-align: bottom;
	max-width: 350px;
}

body{
	background-color: #F5EFE7;
	color:#213555;
}

main,section,footer{
	margin: 0 40px;
}

header,h1,h2{
	margin: 0 80px;
}

ul + h2{
	margin-top: 40px;
}

.area-wrap{
	margin: 0 auto;
	max-width: 980px;
}

main p,.flow08 li{
	margin: 0.6em 0px;
}

rp,rt{
	font-size: 0.6em;
}

.bold{
	font-weight: bold;
}

.large{
	font-size: 1.2em;
}

.text-s{
	font-size: 0.8em;
}

.text-m{
	font-size: 0.9em;
}

.text-right{
	text-align: right;
	margin-bottom: 20px;
}

.under{
	padding: 2px 5px 0 5px;
	background: linear-gradient(transparent 0, yellow 0);
}

.hr{
	border-top: 2px solid #4F709C;
	margin: 30px 0 20px 0;
}

footer p{
	text-align: center;
	line-height: 1.5;
	margin-bottom: 30px;
}

footer img{
	max-width: 30px;
	vertical-align: top;
	margin-right: 5px;
}

.figure-r{
	float: right;
	margin-left: 20px;
}

figure {
  inline-size: fit-content;
  max-inline-size: 100%;
  margin-inline: auto;
}
figcaption {
  inline-size: 0;
  min-inline-size: fit-content;
  margin-inline: auto;
  padding-top: 0.5em;
	padding-bottom: 1.0em;
	font-size: 0.8em;
}


/*見出し*/

h1 {
	display: flex;
	justify-content: center;
	align-items: center;
	letter-spacing: 0.1em;
	margin: 30px 0;
	text-align: center;
	text-shadow: #fff 2px 0, #fff -2px 0,
	#fff 0 -2px, #fff 0 2px, #fff 2px 2px, #fff -2px 2px,
	#fff 2px -2px, #fff -2px -2px, #fff 1px 2px,
	#fff -1px 2px, #fff 1px -2px, #fff -1px -2px,
	#fff 2px 1px, #fff -2px 1px, #fff 2px -1px,
	#fff -2px -1px, rgba(0, 0, 0, .5) 3px 3px 3px;
}

h1::before,
h1::after {
	content: '';
	width: 3px;
	height: 40px;
	background-color: #4F709C;
}

h1::before {
	margin-right: 30px;
	transform: rotate(-35deg)
}

h1::after {
	margin-left: 30px;
	transform: rotate(35deg)
}

h2{
  padding: 10px 0 4px 0;/*余白*/
  margin: 30px 0;
  background-image:/*背景・水玉カラー*/
  linear-gradient(135deg, transparent 0 0px, #FFFFFF 40px calc(100% - 40px), transparent calc(100% - 20px)),
  radial-gradient(#4F709C 30%, transparent 30%);
  background-repeat: no-repeat, repeat;
  background-size: 100% 100%, 10px 10px;
  background-color: #FFFFFF;
  font-weight: bold;
  font-size: 1.5em;
  line-height: 1.2;
  vertical-align: -6px;
  text-align: center;
  box-shadow: 0 0 25px rgba(0, 0, 0, .1);/*影サイズ・影カラー*/
}

h3{
	clear: both;
	font-size: 1.3em;
  position: relative;
  padding: 2px 0 0 5px;
  margin: 40px 0 30px 40px;
  text-shadow:
	  0 0 0.05em #F5EFE7,
		0 0 0.06em #F5EFE7,
		0 0 0.07em #F5EFE7,
		0 0 0.08em #F5EFE7,
		0 0 0.09em #F5EFE7,
		0 0 0.20em #F5EFE7,
		0 0 0.20em #F5EFE7,
		0 0 0.20em #F5EFE7,
		0 0 0.50em #F5EFE7;
}

h3:before {
  content: "";
  position: absolute;
  background: #4F709C;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  top: 50%;
  /* border: dashed 1px white; */
  left: -15px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  z-index: -1;
}


/*headerの設定*/

.header-sp{
	display: none;
}

.header{
	background: #F5EFE7;
	padding: 20px 30px;
	color: #213555;
}

.header .header-logo{
	max-width: 220px;
	height: auto;
}

.header .header-logo img {
	max-width: 25%;
	display: inline-block;
	padding-right: 5px;
}

.header .header-logo a{
	text-decoration: none;
	font-weight: bold;
  font-size: 2.0em;
  color: #213555;
}

.header-menu{
	text-align: right;
	margin-top: -5px;
}

.header .header-menu a {
	text-decoration: none;
	color: #213555;
	padding: 0 10px;
}

.imakoko,
.header .header-menu a.active {
  border-bottom: 4px solid #FAB12F;
  padding-bottom: 2px;
}

.header .header-menu a:hover,
.header-sp a:hover{
	background-color: #FAB12F;
	padding-top: 3px;
	font-weight: bold;

}


/*スライドショー*/

.img-frame{
	position: relative;
	width: 70%;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	margin: auto;
}

.img-01, .img-02, .img-03{
	position: absolute;
	top:0;
	left:0;
	width: 100%;
	height: 100%;
	background-size: cover;
	background-repeat: no-repeat;
}

.img-01{
	background-image: url('img/top1.jpg');
	animation: slide-animation-01 24s infinite;
}

.img-02{
	background-image: url('img/top2.jpg');
	animation: slide-animation-02 24s infinite;
}

.img-03{
	background-image: url('img/top3.jpg');
	animation: slide-animation-03 24s infinite;
}

@keyframes slide-animation-01 {
	0% {opacity: 1; transform: scale(1.0);}
	30% {opacity: 1;}
	40% {opacity: 0; transform: scale(1.15);}
	90% {opacity: 0}
	100% {opacity: 1; transform: scale(1.0);}
}

@keyframes slide-animation-02 {
	0% {opacity: 0;}
	30% {opacity: 0; transform: scale(1.1);}
	40% {opacity: 1;}
	60% {opacity: 1;}
	70% {opacity: 0; transform: scale(1.0);}
	100% {opacity: 0;}
}

@keyframes slide-animation-03 {
	0% {opacity: 0;}
	60% {opacity: 0;  transform: scale(1.0);}
	70% {opacity: 1;}
	90% {opacity: 1;}
	100% {opacity: 0; transform: scale(1.1);}
}


/*「top」の設定*/

.center{
	display: flex;
	flex-wrap: wrap;
  justify-content: center;
}

.yokonarabi{
	display: inline-block;
	margin: 0 20px;
}

.top-text img{
	max-width: 230px;
}

.top-text{
	margin-top: 50px;
}


/*行程　フローデザイン*/

.flow_design08 {
  display: flex;
  justify-content: center;
  align-items: flex;
}

.flow08 > li {
  list-style-type: none;
  border-radius: 15px;
  background: #F4F6FA;
  position: relative;
  padding-top: 20px;
}

.flow08 > li:not(:last-child) {
  margin-bottom: 20px;
}

.flow08 > li dl {
  display: flex;
  align-items: center;
}

.flow08 > li dl dt {
  font-size: 1.2em;
  font-weight: 700;
  width: 15%;
  min-width: 5em;
  padding-left: 20px;
}

.flow08 > li .icon08 {
  color: #4F709C;
  font-size: 1.2em;
}

.flow08 > li dl dd {
  margin-right: 20px;
  width: calc(85% - 20px);
}

.flow08 > li:not(:last-child)::before {
	content: "";
  width: 12px;
  height: 12px;
  display: inline-block;
  border-bottom: 4px solid #4F709C;
  border-right: 4px solid #4F709C;
  position: absolute;
  top: calc(100%);
  left: 10%;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.flow09 > li:not(:last-child) ::before {
  content: "";
  width: 12px;
  height: 12px;
  display: inline-block;
  border-bottom: 4px solid #4F709C;
  border-right: 4px solid #4F709C;
  position: absolute;
  top: calc(100% - 12px);
  left: 10%;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}


/*掛け縫い工程*/

.process-text div{
	display: inline-block;
}

.flow08 img{
	max-width: 300px;
}

.img-220 img{
	max-width: 220px;
}


/*講習会のご案内*/

.study-text li{
margin-bottom: 1.5em;
}

.access div{
  padding: 6px;
  border-bottom: 1px dotted #c7c7c7;
  max-width: 39em;
  margin: 0 auto;
}

dl.access dt {
	float: left;
	float: cler;
  width:4em;
  padding-left: 0.5em;
  font-weight:bold;
  text-shadow:0px 0px 3px #999;
}

dl.access dd {
  margin-left: 6em;
}

.access dt:last-of-type,
.access dd:last-of-type {
  border: none;
}

.gmap{
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
	max-width: 800px;
	text-align: center;
	inset: 0;
	margin: 20px auto 0 auto;
	}

.gmap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	margin: 0 auto;
}


/*メディアクエリ*/

/* 940px 以上のスタイル */
@media(min-width:940px){
	.sp-940 {display: none;}
}

/* 620px 以上のスタイル */
@media(min-width:620px){
	.sp-620 {display: none;}
}

/* 585px 以上のスタイル */
@media(min-width:585px){
	.sp-585 {display: none;}
}

/* 400px 以上のスタイル */
@media(min-width:400px){
	.sp-400 {display: none;}
}


/* 700px 未満のスタイル */
@media(max-width:700px){

	.header{
		display: none;
	}

	.wrap{
		margin-top: 70px;
	}

	.header-sp ul li img{
		width: 10%;
		min-width: 25px;
		vertical-align: middle;
	}

	.header-sp{
		display: flex;
		position: fixed;
	  width: 100%;
	  z-index: 99;
	  top: 0;
	  left: 0;
	}

	.header-sp ul{
		display: flex;
		position: fixed;
		list-style: none;
	}

	.header-sp li{
		list-style-type: none;
		width: 25%;
		text-align: center;
		background-color: #fff;
		border-left: 3px solid #F5EFE7;
	}

	.header-sp a{
		display:block;
	  padding:0.3em 1em 0.1em 1em;
	  text-decoration:none;
	  color:#001A6E;
	}

	.figure-r{
		float: none;
		margin: 0	auto;
	}

	.flow08 > li dl {
		align-items: flex-start;
	}

	.flow08 > li dl dt {
		padding-top: 30px;
	}

}


/* 520px 未満のスタイル */

@media(max-width:520px){

	.sp-520 {
		display: none;
		text-align: center;
	}

	.flow_design08,.flow08 > li dl,.flow08 > li{
		display: inline-block;
	}

	.flow08 > li{
		padding-top: 0;
	}

	.flow08 dt,	.flow08 dd,	.flow08 ol{
		width: 100%;
		margin: 10px auto;
	}

	.flow08 > li dl dt{
		min-width: 7em;
		letter-spacing: 0.1em;
	}

	.icon08{
		padding-right: 0.5em;
	}

	.access div{
		width: 100%;
	}

}


/* 450px 未満のスタイル */
@media(max-width:449px){

	main,section,footer,header{
		margin: 0 10px;
	}

	h1,h2{
		font-size: 1.3em;
	}

	img{
		max-width: 280px;
	}

	.process-text img{
		max-width: 250px;
	}

}