@charset "UTF-8";
/* =====================================
   PC
===================================== */

/* =========================
   パンくずリスト
========================= */
.breadcrumb {
	word-break: keep-all;
}
.breadcrumb__list {
	display: flex;
	flex-wrap: wrap;
	list-style: none;
	margin: 0;
	padding: 0;
}
.breadcrumb__item {
	display: flex;
	align-items: center;
}
.breadcrumb__item:not(:last-child)::after {
	content: "＞";
	margin: 0 0.4em;
	color: #333;
}
.breadcrumb__link {
	text-decoration: none;
	transition: color .2s ease, text-decoration-color .2s ease;
}
.breadcrumb__link:hover,
.breadcrumb__link:focus-visible {
	text-decoration: underline;
}
.breadcrumb__item--current .breadcrumb__link {
	pointer-events: none;
}
.breadcrumb li a,
.breadcrumb li:first-child a {
	color: #333;
}
/* ===========================
   ページヘッダー（メイン画像）
=========================== */
.page-header {
	position: relative;
	overflow: hidden;
	max-width: 1080px;
	margin: 0 auto;
}
.page-header__media,
.page-header__image {
	width: 100%;
	height: auto;
	display: block;
	margin: 28px 0 0px;
}
.page-header__image {
	object-fit: cover;
	margin: 0 auto;
	width: 100%;
}
.page-header__content {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	text-align: center;
}
.page-header__title {
	font-size: 3.5rem;
	font-weight: 700;
	margin-bottom: 0;
	color: #FFF;
}
.page-header__lead {
	font-size: 1.6rem;
	line-height: 2.6rem;
	color: #FFF;
}

/* =========================
   目次（ページ内リンク）
========================= */
.page-nav {
	width: 650px;
	margin: 1rem auto 6rem;
	border: solid 5px #5EC1C7;
	font-size: 1.8rem;
	padding: 1.5rem 7% 1.9rem;
}
.page-nav__item {
	border-bottom: 1px solid #d3d3d3;
	margin-left: 1.7rem;
	padding-bottom: 2px;
}
.page-nav__link {
	display: block;
	padding-top: 5px;
	color: #333;
	text-decoration: none;
}
.page-nav__item:hover {
	background-color: rgba(0, 0, 0, 0.1);
}
.page-nav__item-group{
	color: #58969C;
	margin: 20px auto 3px;
}
.page-nav__item-group span::before{
	content: "■";
	font-size: 3rem;
}

/* =========================
   コンテナ
========================= */
.container {
	max-width: 1080px;
	width: 100%;
	margin: 0 auto;
	padding-bottom: 5rem;
    font-family: "Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",'Noto Sans JP', sans-serif;
	font-weight: 400;
	color: #333;
	font-size: 1.6rem;
	/*line-height: 1.6;*/
	scroll-behavior: smooth;
	box-sizing: border-box;
}
.container img {
	max-width: 100%;
	height: auto;
	/*display: block;*/
	margin: 0 auto;
	text-align: center;
}

/* =============================
   サブコンテナ
=============================== */
/*サブコンテナ_section*/
section[id]{
  	scroll-margin-top: 120px;
	margin: 10rem auto;
	width: 100%;
}
.section__inner {
	width: 100%;
	text-align: center;
	color: #333;
	border-radius: 30px;
	box-sizing: border-box;
	border: #FFF solid 16px;
}
.section__wrapper{
	margin-left: auto;
	margin-right: auto;
	width: 100%;
	display: inline-block;
	padding: 20px;
	box-sizing: border-box;
}
/*サブコンテナ_box*/
.section__box{
	margin: 8rem auto;
	text-align: center;
	width: 100%;
}

/* =========================
   見出し
========================= */
/*見出し_目次番号*/
.section__heading {
	display: flex;
	justify-content: center; 
	align-items: center;
	gap: 1.2rem;
}
.section__heading--num {
	font-size: 8rem;
	font-weight: 800;
	line-height: 1;
	color: transparent;
	-webkit-text-stroke: 1px #FFF;
}
.section__heading--title {
	position: relative;
	font-size: 3.8rem;
	font-weight: 500;
	color: #FFF;
	position: relative;
	display: inline-block;
	padding: 0 1.5rem 0.3rem;
}
.section__heading--title::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 1px;
	background-color: #FFF;
}
/*見出し_破線枠*/
.section__heading-dashed{
	position: relative;
	margin: 6rem auto 5rem;
	padding: 25px 25px 10px;
	text-align: left;
	background:
    linear-gradient(
    	to bottom,
    	transparent 80%,
    	transparent 50%,
		#f7f7f7 70%,
		#cfcfcf 100%
    );
}
.section__heading-dashed::before{
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:
  	repeating-linear-gradient(
		to right,
		#9a9a9a 0,
		#9a9a9a 8px,
		transparent 8px,
		transparent 16px)
		top / 100% 3px no-repeat,
    repeating-linear-gradient(
		to right,
		#9a9a9a 0,
		#9a9a9a 8px,
		transparent 8px,
		transparent 16px)
		bottom / 100% 3px no-repeat,
    repeating-linear-gradient(
		to bottom,
		#9a9a9a 0,
		#9a9a9a 8px,
		transparent 8px,
		transparent 16px)
		left / 3px 100% no-repeat,
    repeating-linear-gradient(
		to bottom,
		#9a9a9a 0,
		#9a9a9a 8px,
		transparent 8px,
		transparent 16px)
		right / 3px 100% no-repeat;
}
.section__heading-dashed-text{
	display: inline-flex;
	align-items: center;
	gap: 7px;
	color: #222;
	font-size: 2.7rem;
	font-weight: 600;
	text-decoration: none;
	margin-top: 0;
	margin-bottom: 1.5rem;
}
.section__heading-dashed-icon {
	color: #DC6262;
	font-size: 2.8rem;
	line-height: 1;
}

/* =========================
   コメント
========================= */
/*コメント_トップ*/
h1{
	font-size: inherit;
	font-weight: normal;
}
.content__description--top{
	margin: 5% auto 3.5%;
	text-align: center;
}
/*コメント_中央*/
.content__description--center{
	width: 95%;
	margin: 3rem auto;
}
/*コメント_左*/
.content__description--left{ 
	width: 95%;
	margin: 20px auto;
	text-align: left;
}

/* =========================
   文字
========================= */
/*太文字（黒）_下線あり*/
.text--bold{
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 0.2em;
}
/*太文字（青）_下線あり*/
.text--boldblue {
	color: #0042E8;
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 0.2em;
}
/*太文字（青緑）_下線なし*/
.text--boldgreen {
	color: #25a0a5;
	font-weight: 600;
}
/*色付き丸番号*/
.circle-num {
	display:inline-flex;
	justify-content:center;
	align-items:center;
	width:1.3em;
	height:1.3em;
	border-radius:50%;
	background:#25A0A5;
	color:#fff;
	font-size:0.8em;
	vertical-align: text-top;
	margin-right: 2px;
}
/*色付き丸番号（黒）*/
.circle-num--black {
	display:inline-flex;
	justify-content:center;
	align-items:center;
	width:1.3em;
	height:1.3em;
	border-radius:50%;
	background:#000;
	color:#fff;
	font-size:0.8em;
	vertical-align: text-top;
	margin-right: 2px;
}

/* =========================
   flex
========================= */
/*flex_3カラム*/
.layout-flex{
	display: flex;
	justify-content: center;
	padding: 30px;
	margin-bottom: 3rem;
}
.layout-3column{
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: flex-start;
}
.layout-3column img{
  	width: calc((100% - 16px) / 3);
}
/*flex_3カラム（キャプション付き）*/
.layout-3column__caption{
	display: flex;
	padding: 5px 10px;
	color: #25A0A5;
	font-weight: 500;
	line-height: 2rem;
	text-align: left;
	min-height: calc(2rem * 2);
	align-items: flex-end;  /* ←2行分確保 */
}
.layout-3column__caption-wrapper{
	width: calc((100% - 20px) / 3);
	margin-top: 0;
	display: flex;
	flex-direction: column;
}
.layout-3column__caption-wrapper img{
	width: 100%;
	display: block;
}
/*flex_2カラム*/
.layout-2column{
	display: flex;
	align-items: flex-start;
    gap: 30px;
	margin: 40px 28px 50px;
}
.layout-2column__text {
	text-align: left;
	margin: 10px 0;
	flex: 1;
}
/*flex_2カラム（キャプション付き）*/
.layout-2column--center{
	display: flex;
	align-items: center;
    gap: 30px;
}
.layout-2column__caption{
	display: flex;
	padding: 5px 0;
	color: #25A0A5;
	font-weight: 500;
	line-height: 2rem;
	text-align: left;
}
.layout-2column__caption-wrapper{
	width: calc((100% - 20px) / 2);
}
.layout-2column__caption-wrapper img{
	width: 100%;
}

/* =========================
   スライダー
========================= */
#mainImage {
	max-width: 100%;
	height: auto;
	display: block;
	opacity: 1;
  	transition: opacity 0.6s cubic-bezier(0.4, 0, 0.2, 1);
	will-change: opacity;
	margin: 30px auto 0;
}
#mainImage.is-fade {
  	opacity: 0;
}
.thumbs {
	display: flex;
	justify-content: center;
	gap: 12px;
	list-style: none;
	margin: 15px auto 5rem;
}
.thumbs img {
	width: 80px;
	cursor: pointer;
	opacity: 0.5;
}
.thumbs img:hover {
	opacity: 1;
}

/* =========================
   Fusion
========================= */
/*Fusion_ダウンロードリンクあり*/
.fusionlink-wrapper{
	width: 840px;
	margin: 20px auto 5px;
	text-align: right;
	display: inline-block;
}
.fusionlink__download {
    background-image: url("../_images/_common/download-icon.webp");
    background-repeat: no-repeat;
	padding-left: 30px;
    text-decoration: underline;
    color: #006699;
	font-weight: 500;
	padding-bottom: 4px;
	display: inline-block;
}
.fusionlink__download a {
    color: inherit;
}
.fusionlink__download a:visited {
    color: inherit;
}
.fusionlink {
	width: 820px;
	padding: 10px 10px 5px;
	background-color: #72B9C2;
	border-radius: 8px;
	box-shadow: 0 0 10px 3px rgb(0 0 0 / 20%);
	margin: 0 auto 80px;
}

/* =========================
   vimeo
========================= */
/*vimeo_ダウンロードリンクあり*/
.vimeolink-wrapper{
	width: 98%;
	margin: 50px auto 0;
}
.vimeolink__download {
    display: block;
    text-align: left;
    padding-left: 28px;
    background-image: url("../_images/_common/download-icon.webp");
    background-repeat: no-repeat;
    background-position: left center;
    text-decoration: underline;
    color: #006699;
    font-weight: 500;
    margin-left: auto;
    width: fit-content;   
}
.vimeolink__download a {
    color: inherit;
}
.vimeolink__download a:visited {
    color: inherit;
}
.vimeolink {
	border: 10px solid #72B9C2;
    border-radius: 8px;
	margin: 5px auto 1rem;
}
.vimeolink iframe{
    width: 100%;
    height: 100%;
    border: 0;
}
/*vimeo_説明画像*/
.vimeolink-control{
	text-align:right;
}

/* =========================
   スキルアップ
========================= */
.skillup__item{
	display: flex;
	gap: 1.85%;
	flex-wrap: wrap;
	flex-direction: row;
	justify-content: flex-start;
}
.skillup__item img{
	max-width: 100%;
	height: auto;
	display: block;
}
.skillup__item a{
	flex: 0 1 calc((100% - 40px) / 3); 
	min-width: 0;
	transition: 0.2s;
	margin-bottom: 2%;
}
.skillup__item a:hover {
	outline: 6px solid rgb(255, 248, 148);
	outline-offset: -6px;
}
.skillup__link:not(.is-disabled):hover {
    box-shadow: inset 0 0 0 6px rgb(235,255,123);
}
.skillup__link.is-disabled {
    pointer-events: none;
    cursor: default;
}
.skillup__text{
	border-bottom: 1px solid #333;
	margin: 12rem auto 3rem;
	font-size: 2.8rem;
	text-align: left;
}
#skillup {
 	scroll-margin-top: 120px;
}
/* =========================
   他
========================= */
/*画像_中央*/
.img--center{
	margin: 30px auto 40px;
	padding: 1rem;
}
.img--center img{
	margin: 0 auto;
	display: inline-block;
}
/*画像_中央（キャプション付き）*/
.caption-container {
	display: table;
	margin: 0 auto;
}
.caption-text {
	display: table-caption;
	caption-side: top;
	padding: 2% 0 7px;
	color: #25A0A5;
	font-weight: 500;
	line-height: 2rem;
	text-align: center;
}
/*区切り線*/
.line {
	width: 94%;
	border-top: 1px solid #9e9e9e;
	margin: 20px auto 40px;
}
/*リスト_番号付き*/
.list{
	text-align: left;
	list-style-type: decimal;
	padding-left: 7.5%;
}
.list li{
	line-height: 2.3;
}
.list li a{
	text-decoration: underline;
	color: #414CE5;
}
/*下線リンク_アイコン付き*/
.link--icon {
	display: flex;
	margin-top: 20px;
}
.link--icon a {
    background-image: url("../_images/_common/link-icon.webp");
    background-repeat: no-repeat;
	padding: 0 35px 10px;
    text-decoration: underline;
    color: #006699;
	font-weight: 500;
}
/*リンクボタン*/
.link--button {
	display: inline-flex;
	align-items: center;
	width: 610px;
	height: 82px;
	padding: 0 26px;
	border-radius: 50px;
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.18);
	border: 6px solid #D9D9D9;
	text-decoration: none;
	color: #333;
	font-weight: 600;
	text-align: left;
	transition: border-color 0.3s ease;
}
.link--button:hover {
	border: 6px solid #4DB9B4;
}
.link--button__icon {
	color: #e86555;
	font-size: 29px;
	margin: 0 8px 0 25px;
}
.link--button__text {
	flex: 1;
	font-size: 27px;
	letter-spacing: 0.03em;
}
.link--button__arrow {
	display: inline-block;
  	width: 13px;
  	height: 13px;
	background: transparent;
  	position: relative;
	margin-right: 35px;
}
.link--button__arrow::before,
.link--button__arrow::after {
	content: "";
	position: absolute;
	top: 50%;
	width: 22px;
	height: 22px;
	border-top: 3.5px solid #1aa5ab;
	border-right: 3.5px solid #1aa5ab;
	border-radius: 2px;
	transform: translateY(-50%) rotate(45deg);
}
.link--button__arrow::before {
	left: 16px;
}
.link--button__arrow::after {
	left: 2px;
}

/* =====================================
   Tablet（max-width: 1100px）
===================================== */
@media only screen and (max-width: 1100px){
	.container {
		font-size: 1.5rem;
		width: 94%;
		margin: 0 auto;
	}
	section[id]{
		scroll-margin-top: 30px;
		margin: 6rem auto;
	}
	.page-header {
		width: 100%;
	}
	.page-header__title {
		font-size: 3.3rem;
		margin-top: 27px;
	}
	.page-header__lead {
		font-size: 1.5rem;
		line-height: 2.2rem;
		margin: 5px auto;
	}
	.page-header__image {
		width: 96%;
	}
	.layout-flex{
		padding: 3% 20px;
	}
	.fusionlink {
		width: 95%;
	}
	.fusionlink-wrapper{
		width: 95%;
	}
	.fusionlink__download {
    margin-right: 1.5rem;
	}
	.layout-2column{
		gap: 20px;
		margin: 30px 20px;
	}
	.skillup__item a{
		flex: 0 1 calc((100% - 20px) / 2);
		margin: 0;
	}
	.skillup__item{
		flex-wrap: wrap;
		justify-content: center;
		gap: 20px;
		width: 83%;
		margin: 0 auto;
	}
	.skillup__text{
		margin: 2rem auto 3rem;
		font-size: 2.4rem;
	}
} 
/* =====================================
   SP（max-width: 900px）
===================================== */
@media only screen and (max-width: 900px) {
	.skillup__item{
		width: 100%;
	}
}
/* =====================================
   SP（max-width: 767px）
===================================== */
@media only screen and (max-width: 767px) {
	.container {
		font-size: 1.4rem;
		line-height: 1.5;
		width: 94%;
	}
	section[id]{
		scroll-margin-top: 20px;
		margin: 3rem auto;
	}
	.page-header__content {
		position: absolute;
		padding: 0;
		top:50%;
		left: 0;
	}
	.page-header__title {
		font-size: 2.9rem;
		margin-top: 0;
	}
	.page-header__lead {
		font-size: 1.4rem;
		line-height: 2.1rem;
		margin-top: 4%;
	}
	.page-header__media {
		position: relative;
		margin: 0;
	}
	.page-header__image {
		width: 100%;
		margin: 0;
	}
	.content__description--top{
		margin: 8% auto 6%;
	}
	.description--center{
		margin: 10% auto 6%;
		text-align: center;
	}
	.page-nav {
		width: 82%;
		padding: 2% 7% 4%;
		font-size: 1.6rem;
		line-height: 2.3rem;
		margin: 0 auto;
	}
	.section__heading {
		gap: 0.5rem;
		flex-direction: column;
		padding-bottom: 2rem;
	}
	.section__heading--num {
		font-size: 4.7rem;
		margin-top: 1rem;
	}
	.section__heading--title {
		font-size: 2.8rem;
		margin: 8px auto 10px;
		padding-bottom: 3px;
	}
	.section__inner { 
		border-radius: 15px;
		border: #FFF solid 10px;
	}
	.section__wrapper{
		margin: 0 auto 5px;
		padding: 10px;
	}
	.section__box{
		margin: 4rem auto;
	}
	.content__description--center{
		margin: 2rem auto;
	}
	#mainImage {
		margin: 15px auto 18px;
	}
	.line {
		margin: 15px auto 20px;
	}
	.layout-flex{
		padding: 2%;
	}
	.layout-3column img{
		width: calc((100% - 12px) / 2);
	}
	.list{
		padding-left: 6%;
	}
	.list li{
		line-height: 2;
	}
	.layout-3column{
		justify-content: space-between;
	}
	.layout-3column__caption{
		line-height: 1.5rem;
		min-height: 3rem;
		display: flex;
 		align-items: flex-end;  
	}
	.layout-3column__caption-wrapper{
		width: calc((100% - 20px) / 2);
		margin-top: 0;
	}
	.layout-3column__caption-wrapper img{
		width: 100%;
	}
	.layout-2column--center{
		justify-content: space-between;
		gap: 0;
	}
	.layout-2column__caption{
		line-height: 1.5rem;
		min-height: 3rem;
		display: flex;
 		align-items: flex-end;  
	}
	.section__heading-dashed{
		padding: 18px 18px 6px;
		margin: 4rem auto 3rem;
	}
	.section__heading-dashed-text{
		font-size: 2.2rem;
		line-height: 2.7rem;
	}
	.section__heading-dashed-icon {
		font-size: 2.3rem;
	}
	.link--icon a {
		padding: 3px 35px 10px;
	}
	.fusionlink {
		position: relative;
		width: 100%;
		padding-top: 62.5%; /*16:10比率（iframeに合わせた値）*/
		box-sizing: border-box;
		border-radius: 8px;
		border: 10px solid #72B9C2;
		margin: 0 auto 3rem;
	}
	.fusionlink-wrapper{
		margin: 10px auto 0;
	}
	.fusionlink iframe {
		position: absolute;
		inset: 0;
		width: 100%;
		height: 100%;
		border: 0;
	}
	.fusionlink__download {
    	margin-right: 0;
	}
	.img--center{
		margin: 10px auto 15px;
	}
	.layout-2column{
		align-items: center;
		gap: 20px;
		margin: 0 12px;
	   	flex-direction: column-reverse;
  	}
	.content__description--left {
		width: 94%;
		margin: 20px auto;
	}
	.vimeolink-wrapper{
		margin: 30px auto 0;
	}
	.link--button {
		width: 80%;
		height: 70px;
		padding: 0 20px;
		border: 4px solid #D9D9D9;
	}
	.link--button__icon {
		font-size: 2.5rem;
		margin: 0 8px 0 3px;
	}
	.link--button__text {
		font-size: 2.1rem;
		line-height: 2.5rem;
		letter-spacing: normal;
	}
	.link--button__arrow {
		margin-right: 10%;
	}
	.link--button__arrow::before,
	.link--button__arrow::after {
		width: 17px;
		height: 17px;
	}
	.link--button__arrow::before {
		left: 14px;
	}
	.link--button__arrow::after {
		left: 2px;
	}
	.link--button:hover {
		border: 4px solid #4DB9B4;
	}
	.skillup__item{
		flex-direction: column;
		align-items: center;
		margin: 0 auto;
	}
	#skillup {
		scroll-margin-top: 40px;
	}
}
/* ===========================================
   SP（max-width: 500px）
=========================================== */
@media only screen and (max-width: 500px) {
	.section__heading--title {
		font-size: 2.2rem;
		line-height: 3rem;
	}
	.content__description--top{
		margin: 10% auto 8%;
	}
	.layout-flex{
		padding: 0;
	}
	.layout-3column{
		display: block;
		gap: 0;
		padding: 0 1rem;
	}
	.layout-3column img{
		width: 100%;
		margin: 10px auto;
		display: block;
	}
	.layout-2column--center{
		display: block;
		margin-left: 1.5%;
	}
	.layout-2column__caption-wrapper img{
		width: 90%;
		display: block;
		margin: 0 auto 10px;
	}
	.layout-2column__caption{
		padding: 0 0 5px 5%;
	}
	.layout-3column__caption{
		display: block;
		min-height: inherit;
		padding-bottom: 0;
	}
	.layout-3column__caption-wrapper{
		width: 100%;
		margin-top: 5px;
	}
	.layout-3column__caption-wrapper img{
		width: 92%;
	}
	.circle-num {
		margin-top: 1px;
	}
	.circle-num--black {
		margin-top: 2px;
	}
}

/* ===========================================
   カラー指定
=========================================== */
/*section__heading*/
.heading--color01 {
	background-color: #444444;
}
.heading--color02 {
	background-color: #53B1BC;
}
.heading--color03 {
	background-color: #7ABFA1;
}
.heading--color04 {
	background-color: #8A9A54;
}
.heading--color05 {
	background-color: #BE8C4B;
}
.heading--color06 {
	background-color: #CB6D6D;
}
.heading--color07 {
	background-color: #CB6DAB;
}
.heading--color08 {
	background-color: #8C549A;
}
.heading--color09 {
	background-color: #6D80CB;
}
.heading--color10 {
	background-color: #4C7E8B;
}
.heading--color11 {
	background-color: #4D7765;
}
.heading--color12 {
	background-color: #4C552E;
}
.heading--color13 {
	background-color: #4E2B2B;
}
.heading--color-end {
	background-color: #333333;
}
/*section__inner*/
.inner--color01 {
	border-color: #444444;
}
.inner--color02 {
	border-color: #53B1BC;
}
.inner--color03 {
	border-color: #7ABFA1;
}
.inner--color04 {
	border-color: #8A9A54;
}
.inner--color05 {
	border-color: #BE8C4B;
}
.inner--color06 {
	border-color: #CB6D6D;
}
.inner--color07 {
	border-color: #CB6DAB;
}
.inner--color08 {
	border-color: #8C549A;
}
.inner--color09 {
	border-color: #6D80CB;
}
.inner--color10 {
	border-color: #4C7E8B;
}
.inner--color11 {
	border-color: #4D7765;
}
.inner--color12 {
	border-color: #4C552E;
}
.inner--color13 {
	border-color: #4E2B2B;
}
.inner--color-end {
	border-color: #333333;
}


/* =========================
画像名

ヘッダー:page-header_000
01.今回制作する作品（スライダー）:slider-00
02.展開図で構成をチェック！:tenkai-00
03.必要な工具や材料を確認！:material-00
04.制作の流れ:flow-00
05.CADデータを確認する！:caddata-00
06.加工用データの準備:kakou-00
07.板を切断する！:cut-00
08.組み立てる！:assemble-00
09.仕上げの準備:prefinish-00
10.木材を美しく仕上げよう！:finish-00
11.サンディングする：sanding-00
スキルアップ:skillup/button-00

========================= */