﻿@charset "utf-8";
* {
	box-sizing: border-box;
}

/********************************************* reset *********************************************/
html {
	transition: .3s all;
}

html, body {
	min-height: 100vh;
}

body, h1, h2, h3, h4, h5, h6, pre, ul, ol, li, dl, dt, dd, p, img {
	margin: 0;
	padding: 0;
}

a {
	outline: 0;
}

a img {
	transition: .3s all;
}

@media screen and (min-width: 959px) {
	a:hover {
		text-decoration: none;
	}

	a img:hover {
		opacity: 0.7;
		filter: alpha(opacity=70);
	}
}

ul, ol {
	list-style-type: none;
}


/********************************************* 構成 *********************************************/
body {
	margin: 0;
	padding: 0;
	height: 100%;
	font-family:  "游ゴシック Medium", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", メイリオ, Meiryo, "ＭＳ Ｐゴシック", "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 16px;
	_font-size: 62.5%;
	line-height: 1.75em;
	background-color: #fff;
	letter-spacing : 0.5px;
	color: #333333;
}

@media screen and (min-width: 960px) {	/* PC用 */

	body {
	font-size: 18px;
	line-height: 24px;
	}
}


h2 {
	margin: 10px 2%;
	padding: 2px 2% 10px;
	font-size: 20px;
	font-weight: bold;
}

h3 {
	position: relative;
	top: 0px;
	left: 0px;
	margin: 0;
	padding: 90px 0 0;
	font-size: 18px;
	font-weight: bold;
	display: inline-block;
	margin-bottom: 1em;
}

h3:before {
	content: '';
	position: absolute;
	left: 30px;
	top: 75px;/*線の上下位置*/
	display: inline-block;
	width: 60px;/*線の長さ*/
	height: 5px;/*線の太さ*/
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);/*位置調整*/
	background-color: #ffa500;/*線の色*/
	border-radius: 2px;/*線の丸み*/
}


h4 {
	position: relative;
	margin: 0;
	padding: 70px 0 8px 15px;
	font-size: 16px;
	font-weight: bold;
	line-height: 30px;
}

h4:before {
	content: '　';
	position: absolute;
	left: 0px;
	top: 63px;
	height: 40px;/*線の太さ*/
	background: transparent;
	border-left: solid 6px #ffa500;
	display: inline-block;
}

h5 {
	position: relative;
	margin: 10px 1% 0;
	padding: 0 0 0 10px;
	text-align: left;
	font-size:1.0em;
	font-weight: bold;
	display: inline-block;
}

h5:before {
	content: '【';
	position: absolute;
	left: -10px;
	top: 0px;
	color: #9fa09e;
}

h5:after {
	content: '】';
	position: absolute;
	right: -20px;
	top: 0px;
	color: #9fa09e;
}


a {
	text-decoration: none;
	color: #0000ff;
}

p {
	margin: 20px 2%;
}

nav {
	margin: 0;
}

img {
	width: 100%;
}


@media screen and (min-width: 481px) {	/* タブレット用 */

	.mobile {
		display: none;
	}
}

@media screen and (min-width: 960px) {	/* PC用 */

	img {
		max-width: 600px;
	}

	nav img {
		max-width: 500px;
	}
}

/********************************************* 記事 *********************************************/
article{
	overflow: hidden;
	text-align: left;
	margin: 0;
	padding: 0;
}

article img {
	margin: 0;
	padding: 0;
	text-align: center;
}

@media screen and (min-width: 481px) {	/* タブレット用 */

	article {
		margin: 0 auto;
		padding: 50px 10%;
	}
}


@media screen and (min-width: 960px) {	/* PC用 */

	article {
		max-width: 800px;
		margin: 0 auto;
		padding: 50px;
	}
}

section {
	margin: 0 0 80px;
	padding: 0;
}

/********************************************* 本文 *********************************************/
.subtitle {
	font-size: 3em;
	margin: 0;
	padding: 80px 3% 3px;
	line-height: 0.2;
	font-weight:bold;
	color: #ffd700;/*文字色*/
}

.contents {
	margin: 0 5%;
	padding: 0;
}

.contents2 {
	margin: 0;
	padding: 0;
}

.contents2 h3 {
	margin: 30px 2% 10px;
}

.pg {
	margin: 10px 0;
	padding: 0;
}

.block {
	margin: 0 0 50px;
	padding: 0;
}

.text {
	margin: 0;
	padding: 10px 2%;
}


@media screen and (min-width: 960px) {	/* PC用 */

	.text {
		margin: 10px 3% 60px;
		padding: 0;
	}

}

.list {
	margin: 10px 5%;
	list-style-type: none;
	flex-direction: column;
}

.list li {
	font-size: 1.0em;
	margin: 5px 0;
}

.list li a{
	color: #0000ff;
}

.keep {
	margin: 10px 1% 10px;
	list-style-type: none;
	flex-direction: column;
}

.keep li {
	font-size: 1.0em;
}

.keep li a{
	color: #0000ff;
}

.sentence {
	margin: 10px 5%;
	list-style-type: none;
	flex-direction: column;
}

.sentence li {
	padding-top: 5px;
	padding-bottom: 5px;
	font-size: 1.0em;
}

.nest {
	margin: 0 0 0 3%;
	padding: 0;
	list-style-type: none;
	flex-direction: column;
}

.nest li {
	margin: 0;
	font-size: 1.0em;
	line-height: 1.4em;
}

.enumeration {
	margin: 10px 5%;
	list-style-type: none;
	flex-direction: column;
}

.enumeration li {
	margin: 5px 0;
	font-size: 1.0em;
	font-weight:bold;
}

.indent {
	padding: 0 0 0 4%;
}

.down {
	padding: 0 4%;
}

.down2 {
	padding: 0 4% 0 8%;
}

.down3 {
	padding: 0 4% 0 12%;
}

.wide {
	padding: 5px 0;
}


.note {
	border-bottom: 1px dotted #c0c0c0;
}

.end {
	margin: 50px 3%;
	padding: 20px 5%;
	border-bottom: 5px solid  #f5f5f5;

}


@media screen and (min-width: 481px) {	/* タブレット用 */

	.disc {
		margin: 0 0 0 20px;
		list-style-type: disc;
	}
}

.nl {
	display: block;
	margin: 5px 3%;
}

.row {
	display: flex;
	flex-direction: row;
}

/********************************************* 画像 *********************************************/

.insert {
	margin: 10px 5%;
	text-align: center;
}

.insert-process {
	margin: 30px 10%;
	text-align: center;
}

.insert-process figcaption {
	margin: 10px 0 0 20%;
	text-align: left;
}

.comment {
	margin: 10px 4%;
	padding: 0;
	text-align: left;
}

.catch {
	margin: 10px 3% 20px;
	padding: 0;
	text-align: left;
}

.comment1 {
	position: relative;
	display: inline-block;
	padding: 0.5rem 1rem;
	font-weight: bold;
	border-radius: 16px;
	background: #eae8e1;
}

.comment1:before {
	content: "";
	position: absolute;
	top: 100%;
	left: 20%;
	margin-left: -15px;
	border: 15px solid transparent;
	border-top: 15px solid #eae8e1;
}


.comment2 {
	position: relative;
	display: inline-block;
	padding: 0.5rem 1rem;
	font-weight: bold;
	border-radius: 16px;
	background: #eae8e1;
	float: right;
}

.comment2:before {
	content: "";
	position: absolute;
	top: -28px;
	left: 80%;
	margin-left: -15px;
	border: 15px solid transparent;
	border-bottom: 15px solid #eae8e1;
}

/********************************************* 装飾 *********************************************/
.box1 {
	position: relative;
	margin: -10px 3% 10px;
	padding: 5px 3%;
	background: #ffffff;
	border-radius: 10px;/*角の丸み*/
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.22);
}

.box1 h4 {
	position: relative;
	border-left: none;
}

.box1 h4:after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 7px;
	background: -webkit-repeating-linear-gradient(-45deg, #ffd700, #ffd700 2px, #fff 2px, #fff 4px);
	background: repeating-linear-gradient(-45deg, #ffd700, #ffd700 2px, #fff 2px, #fff 4px);
}

.box1 h5 {
	position: relative;
	border-bottom: none;
}

.box1 h5:after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 7px;
	background: -webkit-repeating-linear-gradient(-45deg, #ffd700, #ffd700 2px, #fff 2px, #fff 4px);
	background: repeating-linear-gradient(-45deg, #ffd700, #ffd700 2px, #fff 2px, #fff 4px);
}

.box2 {
	position: relative;
	margin: 10px 3% 30px;
	padding: 10px 3%;
	background: #fffaf0;
	border-radius: 10px;/*角の丸み*/
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.22);
}

.box2 h4 {
	position: relative;
	border-left: none;
}

.box2 h4:after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 7px;
	background: -webkit-repeating-linear-gradient(-45deg, #ffd700, #ffd700 2px, #fff 2px, #fff 4px);
	background: repeating-linear-gradient(-45deg, #ffd700, #ffd700 2px, #fff 2px, #fff 4px);
}

.box2 h5 {
	position: relative;
	border-bottom: none;
}

.box2 h5:after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 7px;
	background: -webkit-repeating-linear-gradient(-45deg, #ffd700, #ffd700 2px, #fff 2px, #fff 4px);
	background: repeating-linear-gradient(-45deg, #ffd700, #ffd700 2px, #fff 2px, #fff 4px);
}

/*ノート風*/
.box3{
	position: relative;
	background: #eee; /*背景色*/
	padding: 3em 1em 2em; /*内側余白（上・左右・下）*/
}

.box3::before {
	position: absolute;
	content: "";
	width: 95%;
	height: 10px;
	top: 0.5em;
	left: 0;
	right: 0;
	bottom: 0;
	margin: 0 auto;
	border-top: dotted 10px #fff; /*ドットの形・大きさ・色*/
}

/*上下ライン*/
.box4 {
	--border-color-1:#fafafa; /*背景ストライプの色*/
	--border-color-2:#ddd; /*上下枠線の色*/
	padding:1.2em;/*内側余白*/
	background:linear-gradient(-45deg,transparent 25%,var(--border-color-1) 25%,var(--border-color-1) 50%,transparent 50%,transparent 75%,var(--border-color-1) 75%,var(--border-color-1));
	background-size: 4px 4px;
	border-bottom: 4px double var(--border-color-2);
	border-top: 4px double var(--border-color-2);
	background-clip: padding-box;
}


.box{
	margin: 20px 0 30px;
	padding: 0;
}

.box p {
	margin: 10px 3%;
}



.frame1 {
	position: relative;
	padding: 10px 2%;
	border: solid 1px #ffd700;
	border-radius: 8px;
}

.frame1 .box-title {
	position: absolute;
	display: inline-block;
	top: -10px;
	left: 10px;
	padding: 0 9px;
	line-height: 1;
	font-size: 19px;
	background: #FFF;
	color: #ffa500;
	font-weight: bold;
}

.frame2 {
	padding: 10px 2%;
	position: relative;
	background: #ffffe0;
	border: solid 1px #ffd700;
	border-radius: 10px;/*角の丸み*/
}

.frame3 {
	position: relative;
	padding: 10px 2%;
	border: solid 1px #c9c9c4;
	border-radius: 8px;
}

.frame3 .box-title {
	position: absolute;
	display: inline-block;
	top: -10px;
	left: 10px;
	padding: 0 9px;
	line-height: 1;
	font-size: 19px;
	background: #FFF;
	color: #cccccc;
	font-weight: bold;
}

.frame4 {
	padding: 10px 2%;
	position: relative;
	background: #f7f6f5;
	border-radius: 10px;/*角の丸み*/
}

.frame5 {
	padding: 10px 2%;
	position: relative;
	background: #fff9f5;
	border: solid 1px #ffd700;
	border-radius: 10px;/*角の丸み*/
}

.frame6 {
  position: relative;
  padding: 1rem 2rem calc(1rem + 10px);/*余白*/
  background: #fff3b8;/*背景カラー*/
  border-radius:10px;/*角丸*/
}

.frame6:before {
  position: absolute;
  top: -7px;
  left: -7px;
  width: 100%;/*横幅*/
  height: 100%;/*縦幅*/
  content: '';
  border: 3px solid #000;/*ボックス外枠 太さ・カラー*/
  border-radius:10px;/*角丸*/
}

.frame7 {
	--border-color-1:#fafafa; /*背景ストライプの色*/
	--border-color-2:#ddd; /*上下枠線の色*/
	padding:2em;/*内側余白*/
	background:linear-gradient(-45deg,transparent 25%,var(--border-color-1) 25%,var(--border-color-1) 50%,transparent 50%,transparent 75%,var(--border-color-1) 75%,var(--border-color-1));
	background-size: 4px 4px;
	border-bottom: 4px double var(--border-color-2);
	border-top: 4px double var(--border-color-2);
	background-clip: padding-box;
}



.check {
	display: flex;
	flex-direction: column;
	font-size: 1.1em;
	line-height: 1.4em;
}

.check li {
	font-weight: bold;
	background-repeat: no-repeat;
}

.check1 {
	margin: 5px 2%;
	padding: 0 0 5px 28px;
	background-image: url(../img/check1.webp);
	background-repeat: no-repeat;
	background-position: left 3px;
}

.check2 {
	position: relative;
	color: black;
	background: #ffd700;
	line-height: 1.4;
	margin: 10px 0;
	padding: 10px 3%;
	border-radius: 0 5px 5px 5px;
}

.check2:after {
	/*タブ*/
	position: absolute;
	content: '✓Check';
	background: #ffa500;
	color: #fff;
	left: 0px;
	bottom: 100%;
	border-radius: 5px 5px 0 0;
	margin: 0;
	padding: 5px 2%;
	font-size: 0.7em;
	line-height: 1;
	letter-spacing: 0.05em
}

.check3 {
	padding: 0 0 5px 28px;
	background-image: url(../img/check3.webp);
	background-repeat: no-repeat;
	background-position: left 3px;
}

.check4 {
	padding: 0 0 5px 28px;
	background-image: url(../img/check4.webp);
	background-repeat: no-repeat;
	background-position: left 3px;
}

.check5 {
	padding: 0 0 5px 28px;
	background-image: url(../img/check5.webp);
	background-repeat: no-repeat;
	background-position: left 3px;
}



/********************************************* 文字装飾 *********************************************/

.cap1{
	position: relative;
	font-weight: bold;
	padding: 0 0 0 30px;
	font-size: 1.2em;
	border: none;
}

.cap1:before{
	content: "●";
	font-size: 120%;
	position: absolute;
	color: #ffd700;
	top: -0.2em;
	left:0;
	height: 10px;
	width: 12px;
	background: none;
}

.cap1:after{
	content: "・";
	font-size: 200%;
	position: absolute;
	color: #ffa500;
	top: -0.65em;
	left: -0.05em;
	height: 10px;
	width: 12px;
}


.cap2 {
	position: relative;
	margin: 0 0 30px;
	padding: 0 1.2rem 0.8rem;
	text-align: center;
	font-weight: bold;
}

.cap2:before {
	position: absolute;
	bottom: -10px;
	left: calc(50% - 30px);
	width: 60px;
	height: 5px;
	content: '';
	border-radius: 3px;
	background: #ffa500;
}

.cap3 {
	display: inline-block;
	margin: 0;
	padding: 5px 5%;
	text-align: left;
	font-size:1.0em;
	border: none;
	background: #ffd700;
	border-radius: 18px;/*角の丸み*/
}

.cap4 {
  position: relative;
  display: inline-block;
  padding: 0 55px;
	text-align: center;
}

.cap4:before, .cap4:after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 45px;
  height: 1px;
  background-color: black;
}

.cap4:before {
  left:0;
}
.cap4:after {
  right: 0;
}

.cap5 {
	display: inline-block;
	margin: 0;
	padding: 5px 5%;
	text-align: left;
	font-size:1.0em;
	border: none;
	color: #ffffff;/*文字色*/
	background: #ffa500;
	border-radius: 18px;/*角の丸み*/
}

.cap6 {
	padding-bottom: 5px;
	position: relative;
	border-bottom: none;
}

.cap6:after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 5px;
	background: -webkit-repeating-linear-gradient(-45deg, #ffd700, #ffd700 2px, #fff 2px, #fff 4px);
	background: repeating-linear-gradient(-45deg, #ffd700, #ffd700 2px, #fff 2px, #fff 4px);
}

.cap7 {
	position: relative;
	margin: 0;
	padding: 20px 0 8px 15px;
	font-size: 16px;
	font-weight: bold;
	line-height: 40px;
}

.cap7:before {
	content: '　';
	position: absolute;
	left: 0px;
	top: 18px;
	height: 40px;/*線の太さ*/
	background: transparent;
	border-left: solid 6px #ffa500;
	display: inline-block;
}


.cap8 {
	padding-bottom: 5px;
	position: relative;
	border-bottom: none;
}

.cap8:after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 5px;
	background: -webkit-repeating-linear-gradient(-45deg, #d3d3d3, #d3d3d3 2px, #fff 2px, #fff 4px);
	background: repeating-linear-gradient(-45deg, #d3d3d3, #d3d3d3 2px, #fff 2px, #fff 4px);
}

.cap9{
	position: relative;
	margin: 0 0 -20px -4%;
	padding: 10px 5% 10px 8%;
	background: #ffec47;
}

.cap9::before {
	position: absolute;
	content: '';
	top: 100%;
	left: 0;
	border: none;
	border-bottom: solid 15px transparent;
	border-right: solid 20px rgb(149, 158, 155);
}

.cap9box {
	position: relative;
	margin: 20px 0 20px 2%;
	padding: 10px 2%;
	border: solid 1px #ffec47;
}

.cap10 {
  position: relative;
  display: inline-block;
  padding: 0 45px;
}

.cap10:before, .cap10:after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 44px;
  height: 2px;
  background-color: black;
  -webkit-transform: rotate(-60deg);
  transform: rotate(-60deg);
}

.cap10:before {
  left:0;
}
.cap10:after {
  right: 0;
}

.cap11 {
  position: relative;
  padding: 1.5rem 2rem;
  border: 3px solid #d8d8d8;
  border-radius: 10px;
  background: #fffff9;
}

.cap11:before {
  position: absolute;
  bottom: -14px;
  left: 1em;
  width: 0;
  height: 0;
  content: '';
  border-width: 14px 12px 0 12px;
  border-style: solid;
  border-color: #d8d8d8 transparent transparent transparent;
}

.cap11:after {
  position: absolute;
  bottom: -10px;
  left: 1em;
  width: 0;
  height: 0;
  content: '';
  border-width: 14px 12px 0 12px;
  border-style: solid;
  border-color: #f9f9f9 transparent transparent transparent;
}

.cap12{ /*吹き出し下だけ*/
	position: relative;
	padding: 0.8rem 0;
	border-bottom: 5px solid;
	border-color: #ffa500;
	text-align: center;
}

.cap12:before,
.cap12:after {
    position: absolute;
    top: 100%;
    left: 50%;
    content: "";
    height: 0;
    width: 0;
}

.cap12:before {
    border: 16px solid;
    border-color: transparent;
    border-top-color: #ffa500;
    margin-left: -16px;
}

.cap12:after {
    border: 10px solid;
    border-color: transparent;
    border-top-color: white;
    margin-left: -10px;
}

/*白背景吹き出し*/
.cap13 {
  position: relative;
  display: inline-block;
  padding: 10px 5%;
  min-width: 120px;
  max-width: 100%;
  background: #ffffff;
  border: solid 3px #c9c9c4;
  box-sizing: border-box;
  border-radius: 15px;
}

.cap13:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 15%;
  margin-left: -15px;
  border: 12px solid transparent;
  border-top: 12px solid #FFF;
  z-index: 2;
}

.cap13:after {
  content: "";
  position: absolute;
  top: 101%;
  left: 15%;
  margin-left: -16px;
  border: 14px solid transparent;
  border-top: 14px solid #c9c9c4;
  z-index: 1;
}

/*カギ括弧*/
.cap14 {
  position: relative;
  line-height: 1.4;
  padding: 1em 1em;
  display: inline-block;
}

.cap14:before, .cap14:after { 
  content:'';
  width: 20px;
  height: 30px;
  position: absolute;
  display: inline-block;
}

.cap14:before {
  border-left: solid 8px #dcdcdc;
  border-top: solid 8px #dcdcdc;
  top:0;
  left: 0;
}

.cap14:after {
  border-right: solid 8px #dcdcdc;
  border-bottom: solid 8px #dcdcdc;
  bottom:0;
  right: 0;
}

.cap15 {
  padding: .75em 1em;/*余白*/
  border-top: 3px dotted #9fa09e;/*上部 ドットのサイズ・カラー*/
  border-bottom: 3px dotted #9fa09e;/*下部 ドットのサイズ・カラー*/
}

.cap16 {
  padding: 1rem;/*余白*/
  background-image:/*背景・水玉カラー*/
     linear-gradient(135deg, transparent 0 0px, #FFFFFF 40px calc(100% - 40px), transparent calc(100% - 20px)),
     radial-gradient(#F8445D 30%, transparent 30%);
  background-repeat: no-repeat, repeat;
  background-size: 100% 100%, 10px 10px;
  background-color: #FFFFFF;/*背景カラー*/
  color: #666666;/*テキストカラー*/
  font-weight: bold;/*太字*/
  font-size: 22px;/*フォントサイズ*/
  text-align: center;/*中央揃え*/
  box-shadow: 0 0 25px rgba(0, 0, 0, .1);/*影サイズ・影カラー*/
}

.deco1 {
	font-size: 18px;
	line-height: 1.2em;
	font-weight: bold;
}

.deco2 {
	background: linear-gradient(transparent 80%, #ff0000 100%);
}

.deco3 {
	text-decoration:underline wavy red
}

.deco4 {
	position: relative;
	margin: 0;
	padding: 0.5rem 1rem;
	font-weight: bold;
	border-radius: 16px;
	background: #f5f5f5;
	display: inline-block;
}

.deco4:after {
	position: absolute;
	bottom: -9px;
	left: 1em;
	width: 0;
	height: 0;
	content: '';
	border-width: 10px 10px 0 10px;
	border-style: solid;
	border-color: #f5f5f5 transparent transparent transparent;
	display: inline-block;
}

.deco5 {
	position: relative;
	margin: 0;
	padding: 0.5rem 1rem;
	font-weight: bold;
	border-radius: 16px;
	background: #ffcc00;
	display: inline-block;
}

.deco5:after {
	position: absolute;
	bottom: -9px;
	left: 1em;
	width: 0;
	height: 0;
	content: '';
	border-width: 10px 10px 0 10px;
	border-style: solid;
	border-color: #ffcc00 transparent transparent transparent;
	display: inline-block;
}

.deco6 {
	position: relative;
	margin: 0;
	padding: 0.5rem 1rem;
	color: #333333;
	font-weight: bold;
	border-radius: 16px;
	background: #fdf5e6;
	display: inline-block;
}

.deco6:after {
	position: absolute;
	bottom: -9px;
	left: 1em;
	width: 0;
	height: 0;
	content: '';
	border-width: 10px 10px 0 10px;
	border-style: solid;
	border-color: #fdf5e6 transparent transparent transparent;
	display: inline-block;
}

.deco6r {
	position: relative;
	margin: 0;
	padding: 0.5rem 1rem;
	color: #333333;
	font-weight: bold;
	border-radius: 16px;
	background: #fdf5e6;
	display: inline-block;
}

.deco6r:after {
	position: absolute;
	bottom: -9px;
	right: 1em;
	width: 0;
	height: 0;
	content: '';
	border-width: 10px 10px 0 10px;
	border-style: solid;
	border-color: #fdf5e6 transparent transparent transparent;
	display: inline-block;
}

.deco7 {
	text-emphasis: circle #ffa500;
}

.deco8 {
  position: relative;
  padding: .3em .5em;
  margin: .2em .3em;
  display: inline-block;
}
.deco8::before,
.deco8::after {
  position: absolute;
  width: 100%;
  height: 100%;
  content: '';
  display: inline-block;
}
.deco8::before {
  border-left: solid 3px #fff3b8;
  border-top: solid 3px #fff3b8;
  top: 0;
  left: 0;
}
.deco8::after {
  border-right: solid 3px #fff3b8;
  border-bottom: solid 3px #fff3b8;
  bottom: 0;
  right: 0;
}

.deco9 {
  position: relative;
  padding: 0 0.7em;
  display: inline-block;
}
.deco9::before,
.deco9::after {
  color: #9fa09e;
  position: absolute;
  top: -.2em;
  display: inline-block;
}
.deco9::before {
  content: '“';
  left: 0;
}
.deco9::after {
  content: '”';
  right: 0;
}

.deco10 {
  position: relative;
  padding: 0 1em;
  display: inline-block;
}
.deco10::before,
.deco10::after {
  color: #9fa09e;
  position: absolute;
  top: 0;
  display: inline-block;
}
.deco10::before {
  content: '≪';
  left: 0;
}
.deco10::after {
  content: '≫';
  right: 0;
}

.deco11 {
  position: relative;
  padding: 0 1em;
  display: inline-block;
}
.deco11::before,
.deco11::after {
  color: #9fa09e;
  position: absolute;
  display: inline-block;
}
.deco11::before {
  content: '「';
  top: 0;
  left: 0;
}
.deco11::after {
  content: '」';
  right: 0;
  bottom: 0;
}

.pud {
  position: relative;
  padding: 0 0 0 1.2em;
  display: inline-block;
}

.pud::before {
  color: #9fa09e;
  position: absolute;
  display: inline-block;
  content: '・';
  top: 0;
  left: 0;
	font-size: 1.4em;
}

.po1,.po2,.po3,.po4,.po5 {
  position: relative;
  padding: 0 0 0 1.6em;
  display: inline-block;
}

.po1::before {
  color: #9fa09e;
  position: absolute;
  display: inline-block;
  content: '１.';
  top: 0;
  left: 0;
}

.po2::before {
  color: #9fa09e;
  position: absolute;
  display: inline-block;
  content: '２.';
  top: 0;
  left: 0;
}

.po3::before {
  color: #9fa09e;
  position: absolute;
  display: inline-block;
  content: '３.';
  top: 0;
  left: 0;
}

.po4::before {
  color: #9fa09e;
  position: absolute;
  display: inline-block;
  content: '４.';
  top: 0;
  left: 0;
}

.po5::before {
  color: #9fa09e;
  position: absolute;
  display: inline-block;
  content: '５.';
  top: 0;
  left: 0;
}

.links {
  position: relative;
  padding: 5px 0 5px 1em;
  margin: 0 0.1em;
}

.links::before {
  position: absolute;
  content: '▶';
  left: 0;
}

.open {
  position: relative;
  padding: 5px 0 5px 1em;
  margin: 0 0.1em;
}

.open::before {
  position: absolute;
  content: '≫';
  left: 0;
}

.question,
.answer {
  position: relative;
  padding: 0 0 0 2em;
  display: inline-block;
}

.question::before {
  content: 'Ｑ.';
  color: #c1ab05;
  position: absolute;
  top: -1px;
  left: -2%;
  font-size: 1.6em;/*フォントサイズ*/
  font-weight: bold;/*太字*/
  display: inline-block;
}
.answer::before {
  content: 'Ａ.';
  color: #c1ab05;
  position: absolute;
  top: -1px;
  left: -2%;
  font-size: 1.6em;/*フォントサイズ*/
  font-weight: bold;/*太字*/
  display: inline-block;
}



.red{
	color: #ff0000;
}

.gray{
	color: #696969;
}

.gold{
	color: #ffd700;
}

.orange{
	color: #ffa500;
}

.mk-a.active{
    background-position: -100% .5em;
}
 
.mk-a {
	background-image: -webkit-linear-gradient(left, transparent 50%, rgb(255,250,153) 50%);
	background-image: -moz-linear-gradient(left, transparent 50%, rgb(255,250,153) 50%);
	background-image: -ms-linear-gradient(left, transparent 50%, rgb(255,250,153) 50%);
	background-image: -o-linear-gradient(left, transparent 50%, rgb(255,250,153) 50%);
	background-image: linear-gradient(left, transparent 50%, rgb(255,250,153) 50%);
	background-repeat: repeat-x;
	background-size: 200% .8em;
	background-position: 0 .5em;
	transition: all 5s ease;
	font-weight: bold;
}

.b {
	font-weight: bold;
}

.n {
	font-weight: normal;
}

.big1 {
	font-size: 1.2em;
}

.big2 {
	font-size: 1.4em;
}

.mlo { background:linear-gradient(transparent 90%, #ffd700 0%); }
.mly { background:linear-gradient(transparent 90%, #ffff00 0%); }
.mlr { background:linear-gradient(transparent 90%, #f08080 0%); }
.mlb { background:linear-gradient(transparent 0%, #fffacd 150%); }
.mlg { background:linear-gradient(transparent 0%, #f5f5f5 150%); }
.mlp { background:linear-gradient(transparent 60%, #ffc0cb 100%); }

/********************************************* ステップ *********************************************/
.flow_design1 {
  display: flex;
  justify-content: center;
  align-items: center;
}

.flow1 {
  padding-left: 0;
  border-bottom: solid 1px #E1E8ED;
}

.flow1 > li {
  list-style-type: none;
  display: flex;
  padding: 20px 0;
  border-top: solid 1px #E1E8ED;
}

.flow1 > li dl dt {
  font-size: 1.2em;
  line-height: 2;
  font-weight: bold;
  margin-bottom: 10px;
}

.flow1 > li .fno1 {
  line-height: 1;
  font-size: 2em;
  font-weight: bold;
  color: #ee7800;
  text-align: center;
  width: 70px;
  position: relative;
  margin-top: 0;
}

.flow1 > li .fno1::before {
  content: 'STEP';
  font-size: 0.3em;
  display: block;
  margin-bottom: 3px;
  letter-spacing: 1px;
}

.flow1 > li .fno1::after {
  content: "";
  display: block;
  width: 1px;
  height: calc(100% - 40px);
  background-color: #858585;
  position: absolute;
  left: 0;
  right: 0;
  top: 60px;
  margin: auto;
}

.flow1 > li dl dd {
  margin: 0;
}

.flow1 > li dl {
  width: calc(100% - 70px);
  margin-top: 0.8em;
}

.stepbar {
  width: 80%;
  margin: 0 auto;
  text-align: center;
  border-top: 1px solid #dedede;
}

.stepbar .stepbarwrap .triangle {
  content: "";
  display: block;
  width: 0;
  border: solid 1em transparent;
  border-top-color: #dedede;
  margin: 0 auto;
}

.stepbar .stepbarwrap .steptitle span {
  display: block;
  font-weight: bold;
  margin: 1em auto;
}

.stepbar .stepbarwrap .txt {
  width: 90%;
  display: block;
  margin: 2em auto;
  font-size: 0.9em;
}

.stepbar:first-of-type .triangle:first-of-type {
  display: none;
}

.stepbar:last-of-type .stepbarwrap:last-of-type {
  border-bottom: 1px solid #dedede;
}

@media screen and (max-width: 960px) {
  .stepbar {
    width: 90%;
  }
}

/********************************************* ヘッダー *********************************************/
header {
	z-index: 9999;
	position: fixed;
	top: 0;
	width: 100%;
	background-color: transparent;
	display: flex;
	justify-content: space-between;
	align-items: center;
	transition: all .2s ease-out;
}

header a {
	text-decoration: none;
	color: #666;
}

header.min-header {
	padding: 10px 4%;
	background: rgba(255, 255, 255, .8);
}

.sp-nav {
	display: none;
}

/********************************************* タイトル *********************************************/
.main-visual {
	display: flex;
	flex-direction: column;
	margin: 30px 0;
}

.main-visual h1 {
	margin: 50px 5% 20px;
	font-size: 1.4em;
	font-weight: bold;
	line-height: 1.4em;
	color: #ff8c00;
}

.main-visual h1 .sc {
	display: block;
	margin: 5px 0 0 3%;
	font-size: 0.85em;
	line-height: 1.1em;
	color: #333;
}


.fvlogo {
	font-size: 20px;
	color:#ff8c00;

}

.main-visual figure {
	margin: 0;
	position: relative;
	width: 100%;
}

.main-visual img {
	margin: 0;
	position: relative;
	width: 100%;
}

.main-visual-index {
	display: flex;
	flex-direction: column-reverse;
	justify-content: center;
	align-items: center;
	margin: 30px auto 0;
}

.main-visual-index h1 {
	margin: 30px 8% 10px;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.3em;

}

.main-visual-index img {
	margin: 0;
	position: relative;
	width: 100%;
}

.main-visual-index p {
	padding: 0 10%;
	font-size: 1.5em;
	font-weight: bold;
	color: #ffd700;
	line-height: 1.2em;
	text-align: center;
}

@media screen and (min-width: 960px) {	/* PC用 */

	.main-visual-index {
		display: flex;
		flex-direction: column-reverse;
		flex-wrap: wrap;
		align-items: center;
		margin: 0 50px;
		padding: 0;
	}

	.main-visual-index img {
		max-width: 100%;
	}

	.main-visual-index h1 {
		margin: 20px 50px;
		font-size: 18px;
	}
}

.mv-index {
	align-items: center;
	margin: 0 8% 50px;
}

.mv-index p {
	margin: 10px 0 0;
	font-weight: bold;
}


/********************************************* スライダー *********************************************/
.main-slider {
	margin: 0;
}

.main-slider-tr {
	margin: 0;
}

/********************************************* 階層 *********************************************/
.stage {
	align-items: left;
	margin: 0 5% 10px;
}

@media screen and (min-width: 960px) {	/* PC用 */

	.stage {
		display: flex;
		align-items: left;
		margin: 0 auto 10px;
		padding: 0 20%;
	}

}

/********************************************* 目次 *********************************************/
.navi{
	font-size: 1.3em;
	font-weight: bold;
	margin: 10px 5% 50px;
}

.navi ol {
	flex-direction: column;
	margin: 0 0 0 10%;
} 

.navi li {
	margin: 10px 0;
	padding: 5px 0;

}

.navi a {
	color: #333333;
}

.navi img {
	width:80%
}

.navi1 {
	background: url(../img/icon-link-navi1.webp) no-repeat;
}

.navi2 {
	background: url(../img/icon-link-navi2.webp) no-repeat;
}

.navi3 {
	background: url(../img/icon-link-navi3.webp) no-repeat;
}

.navi4 {
	background: url(../img/icon-link-navi4.webp) no-repeat;
}

@media screen and (min-width: 481px) {	/* タブレット用 */

	.navi figure {
		padding:  0 10%;
	}

	.navi ul {
		padding:  0 0 0 20%;
	}
}

@media screen and (min-width: 960px) {	/* PC用 */

	.navi figure {
		padding:  0 25%;
	}

	.navi ul {
		padding:  0 0 0 25%;
	}

	.navi li {
		padding:  0 0 0 30px;
	}
}

.guide{
	font-size: 1.0em;
	margin: 30px 0;
	display: flex;
	flex-flow: column;
	flex-direction: column;
}

.guide ol {
	flex-direction: column;
	margin: 0 8% 0 5%;
} 

.guide ol li {
	margin: 10px 0 0 10%;
	padding: 0 0 5px;
	text-align: left;
}

.guide ol li:before {
	list-style: decimal;
}

.mark{
	margin: 0;
	padding: 50px 0 0;
	background-color: #ffffff;
}

.return{
	margin: 0 3%;
	float: right;
}

.return ul {
	flex-direction: column;
	margin: 0;
} 

.return ul li {
	padding: 5px 0;
}

.return a {
	color: #333333;
}

.illustration {
	margin: 10px 5%;
}

/********************************************* プロフィール *********************************************/
.profile {
	display: flex;
	flex-flow: column;
	flex-direction: column;
	margin: 30px 8%;
	padding: 20px 0;
	background-color: #fffaf0;
}

.profile-h {
	display: flex;
	flex-flow: row;
	flex-direction: row;
	margin: 0;
	padding: 0 5%;
}

.profile-l {
	float: left;
	max-width: 50%;
	margin: 0;
}

.profile-r {
	float: right;
	max-width: 50%;
	margin: 0;
}

.profile-t {
	margin: 0;
	padding: 0 5%;
}

/********************************************* まとめ *********************************************/
.summary {

	margin: 30px 5% 0px;
	padding: 0;
}


.summary h3 {
	position: relative;
	margin: 0 5% 0px;
	padding: 20px 0;
	text-align: center;
	border: dotted 6px #ffa500;
}

.summary h3:before {
	position: absolute;
	bottom: -6px;
	left: 0;
	width: 20%;
	height: 6px;
	content: '';
	background: none;
}

/********************************************* インデックス *********************************************/

.news_top {
	margin: 0;
	padding: 0;
}

.news {
	margin: 0;
	padding: 10px 2%;
	font-size: 1.0em;
	border-bottom: 1px solid  #c0c0c0;
}

.news h3{
	margin: 0;
	padding: 0;
	font-size: 1.0em;
	font-weight: normal;
	border-bottom: none;
	display:inline-block;
}

.news h3:before{
	background: none;
}

.news_img{
	margin: 0 8% 10px;

}


.news figure {
	border: 1px solid  #c0c0c0;
	border-radius: 5px;
	max-width: 50px;
	max-height: 50px;
}

.feature {
	margin: 0;
	padding: 0 3% 10px;
}

.invite {
	display: flex;
	flex-direction: row;
	justify-content: center;
	margin: 10px 0 0;
	padding: 0 3% 10px;
}

.ng_invite {
	margin: 10px 5%;
	padding: 0;
}

.ng2_invite {
	margin: 0 15%;
	padding: 0;
}

.ng3_invite {
	max-widht: 33%;
	margin: 0 6%;
	padding: 0;
}

/* 当院の紹介 */
.wc1 {
	position: relative;
	display: block;
	text-align: center;
	padding: 1.5rem 1rem;
	font-size: 1.2em;
	font-weight: bold;
	border-radius: 16px;
	background: #f8f4e9;
}

.wc1:before {
	content: "";
	position: absolute;
	top: 100%;
	left: 80%;
	margin-left: -15px;
	border: 15px solid transparent;
	border-top: 15px solid #f8f4e9;
}


.wc2 {
	position: relative;
	display: block;
	text-align: center;
	padding: 1.5rem 1rem;
	font-size: 1.2em;
	font-weight: bold;
	border-radius: 16px;
	background: #f8f4e9;
}

.wc2:before {
	content: "";
	position: absolute;
	top: -28px;
	left: 20%;
	margin-left: -15px;
	border: 15px solid transparent;
	border-bottom: 15px solid #f8f4e9;
}

/* 陳列 */
.lineup {
	display: flex;
	flex-direction: column;
	margin: 30px 5%;
	padding: 0 0 30px;
	border-bottom: 1px solid  #f5f5f5;
	box-shadow: 5px 0 5px -5px rgba(0,0,0,0.5), -5px 0 5px -5px rgba(0,0,0,0.5);
}

.lineup a {
	color: #333333;
}

.lineup h3 {
	position: relative;
	margin: 20 0 30px;
	padding: 0 1.2rem 10px;
	text-align: center;
	border-bottom: none;
}

.lineup h3:before {
	position: absolute;
	bottom: -10px;
	left: calc(50%);
	width: 60px;
	height: 5px;
	content: '';
	border-radius: 3px;
	background: #ffa500;
}

.product {
	display: flex;
	flex-direction: row;
	margin: 10px 3%;
}


.app {
	width: 20%;
	margin: 0;
	padding: 1%;
}

.app img {
	max-width: 50px;
}

.des {
	width: 60%;
	font-size: 1.0em;
	text-align: left;
	margin: 0;
	padding: 3px 1% 0 2%;
	border-bottom: 1px solid  #f5f5f5;

}

.des .details{
	font-size: 0.8em;
	color: #a9a9a9;
	letter-spacing : 0.1em;
	line-height: 12px;
	margin: 3px 0 0;
}

.move-outer {
	width: 20%;
	display: flex;
	justify-content: center;
	align-items: center;
	border-bottom: 1px solid  #f5f5f5;

}

.move-inner {
	font-size: 1.0em;
	text-align: center
	margin: auto;
	padding: 1px 3%;
	color: #ffffff;/*文字色*/
	background: #f5f5f5;
	border: solid 3px #f5f5f5;/*線*/
	border-radius: 10px;/*角の丸み*/
}

/********************************************* リンクボタン *********************************************/
a.button {
	display: block;
	width: 250px;
	margin: 0 auto;
	padding: 15px 30px;
	text-align: center;
	border: 1px solid #fff;
	transition: all .3s ease-out;
}

a.button:hover {
	color: #505050;
	background-color: #fff;
}

/********************************************* footer *********************************************/
footer {
	margin: 100px 0 0;
	padding: 0;
	text-align: center;
}

.web{
	text-align: center;
	margin: 0 auto 30px;
	padding: 0;
}

.web img {
	width:90%
}

.tel{
	text-align: center;
	margin: 0 auto;
	padding: 0;
}

.tel img {
	width:90%
}

.time{
	text-align: center;
	margin: 0 auto;
	padding: 20px 3% 0;
}

@media screen and (min-width: 481px) {	/* タブレット用 */

	.tel{
		text-align: center;
		margin: 0 auto;
		padding: 0 20%;
	}

	.time{
		text-align: center;
		margin: 0 auto;
		padding: 20px 20% 0;
	}

}

@media screen and (min-width: 960px) {	/* PC用 */

	.tel{
		text-align: center;
		margin: 0 auto;
		padding: 0 30%;
	}

	.time{
		text-align: center;
		margin: 0 auto;
		padding: 20px 30% 0;
	}

}

.sns{
	text-align: center;
	margin: 0 auto 50px;
}

.sns ul {
	margin: 0 10%;
	padding: 0;
} 

.sns li {
	margin: 0 5%;
	padding: 0;
	flex-direction: row;
	width:33%
}

#copyright {
	font-size: 1.0em;
	line-height: 2em;
	text-align: center;
	vertical-align: middle;
	color: #333333;
	background-color: #ffa500;
	margin: 0 auto;
	padding: 0;
	font-weight: bold;
}

#copyright a {
	color: #ffffff;
}

#address {
	font-size: 0.8em;
	line-height: 1.6em;
	text-align: center;
	margin: 20px auto;
	padding: 0 2%;
	font-style: normal;
}

#google_map {
	position: relative;
	margin: 80px 5% 0;

	padding: 30px 0 56.25%;
	height: 0;
	overflow: hidden;
	100%;
}

#google_map iframe,
#google_map object,
#google_map embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}


/********************************************* 動画 *********************************************/
video {
	width: 100%;
}

/********************************************* トーク *********************************************/
.talk {
	display: flex;
	flex-direction: column;
	overflow: visible;
}

.name {
	width: 80%;
	margin: 3px 5px 0 0;
	color: #666666;
}

.icon {
	width: 10%;
	max-width: 50px;
}

.contributor-l {
	display: flex;
	flex-direction: row;
	text-align: left;
	margin: 0;
	padding: 0;
}

.contributor-r {
	display: flex;
	flex-direction: row;
	justify-content: flex-end;
	text-align: right;
	margin: 0;
	padding: 0;
}

.question_box{
	width:95%;
	float: right;
	margin: 0 1% 10px 0;
	padding: 0;
}

.answer_box,
.announce_box{
	width:95%;
	margin: 0 0 10px 8%;
	padding: 0;
}

.question_box p,
.answer_box p,
.announce_box p{
	margin: 8px 4%;
	font-size: 1.1em;
	line-height: 1.4em;
}

.question_box a,
.answer_box a,
.announce_box a{
	color: #0000ff;
}


.question_box img{
	float: right;
	margin: 0 0 0 6%;
}

.answer_box img,
.announce_box img{
	float: left;
	margin: 0 10% 0 0;
}


img.left_image,
img.right_image{
	width:20%;
	margin-right: 0px;
}

img.left_image{float: left;}
img.right_image{float: right;}


#arrow_answer,
#arrow_announce{
	position: relative;
	display: inline-block;
	padding: 1%;
	width: 85%;
	font-size: 13px;
	margin: 0 10% 0 0;
	color: #000;
	border-radius: 10px;
}

#arrow_question {
	position: relative;
	display: inline-block;
	padding: 1%;
	width: 85%;
	font-size: 13px;
	margin: 0 5% 0 8%;
	color: #000;
	border-radius: 10px;
}

#arrow_question{
	background: #ffd700;
}

#arrow_answer{
	background: #fffacd;
}

#arrow_announce{
	background: #ffa500;
}

#arrow_answer:before,
#arrow_question:before,
#arrow_announce:before{
	content: "";
	position: absolute;
	top: 0px;
	margin-left: 0;
	display: block;
	width: 30px;
	height: 30px;
	z-index: -1;
}

#arrow_question:before{
	right: -10px;
	background: #ffd700;
	border-radius: 30px 0;
}

#arrow_answer:before{
	left: -10px;
	background: #fffacd;
	border-radius: 0px 30px;
}

#arrow_announce:before{
	left: -10px;
	background: #ffa500;
	border-radius: 0px 30px;
}



#arrow_answer:after,
#arrow_question:after,
#arrow_announce:after{
	content: "";
	position: absolute;
	top: -10px;
	margin-left: 0px;
	display: block;
	width: 25px;
	height: 25px;
	background: none repeat scroll 0% 0% #ffffff;
	z-index: -1;
}

#arrow_question:after{
	right: -12px;
	border-radius: 30px 0px;
	transform: rotate(20deg);
}

#arrow_answer:after,
#arrow_announce:after{
	left: -12px;
	transform: rotate(10deg);
	border-radius: 0px 30px;
}


/********************************************* フォト *********************************************/

.photo {
	margin: 10px 5% 30px;
	padding: 0;
}

.photo_frame {
	margin: 20px 0 0;
	padding: 0;
	border: 1px solid  #dcdcdc;
	border-radius: 8px;
	background-color: #ffffff;
}

.photo a{
	color: #0000ff;
}

.photo_contribution {
	display: flex;
	flex-direction: row;
	margin: 0;
}

.photo_icon {
	max-width: 40px;
	margin: 6px 0 5px 2%;
}


.photo_name {
	padding: 10px 1% 0;
}

.photo_comment {
	margin: 35px 4% 10px;
}

.photo_comment p {
	margin: 3px 0% 5px;
	padding: 0;
}

.photo_comment p.tag {
	margin: 0;
	padding: 0;

}

.photo_comment a{
	color: #0000ff;
}

.photo_comment ul {
	display: flex;
	flex-direction: column;
}

.photo_comment h5 {
	margin: 0;
	padding: 0;
	font-size: 1.2em;
	border-bottom: none;
}

.photo_comment h6 {
	margin: 15px 0 0;
	padding: 0;
	font-size: 1.0em;
	font-weight: normal;
	border-bottom: none;
}

.photo_response {
	margin: 0;
	padding: 0 0 10px;
	border-top: 1px solid  #dcdcdc;
}

.photo_re_contribution {
	display: flex;
	flex-direction: row;
	margin: 0;
}

.photo_re_comment {
	margin: 10px 4%;
}

.photo_response p {
	margin: 3px 4% 5px;
	padding: 0;
	font-size: 1.2em;
	line-height: 1.4em;
}

.photo_reply {
	margin: 0 0 0 12%;
	padding: 0 0 5px;
}

.photo_reply p {
	margin: 3px 4% 5px;
	padding: 0;
	font-size: 1.2em;
	line-height: 1.4em;
}

.bxslider_none {
	margin-top: 10px;
	margin-right: 0%;
	margin-bottom: 5px;
	margin-left: 0%;
}

.photo_tel {
	width: 15%;
	margin: 0 0 10px 3%;
	padding: 5px 0 5px 10%;
	font-weight: bold;
	color: #FFFFFF;
	background: #ffd700;
	background-image: url(img/icon-tel.webp);
	background-repeat: no-repeat;
	background-position: left center;
	border: solid 1px #ffd700;
	border-radius: 12px;
}

.photo_tel a {
	color: #FFFFFF;
	text-decoration: none;
	font-size:1.1em;
}

.photo_fee {
	margin: 0 0 10px;
	padding: 10px 3% 5px;
	border-bottom: 1px dotted  #dcdcdc;
}


/********************************************* スレッド *********************************************/

.thread_top {
	margin: 0;
	padding: 0;
}

.thread {
	margin: 0 0 80px;
	padding: 0;
}

.thread_box {
	margin: -10px 2% 10px;
	padding: 0;
}

.thread_box1 {
	margin: 0;
	padding: 0 2% 10px;
	font-size: 1.0em;
	border-top: 1px solid  #c0c0c0;
	border-bottom: 1px solid  #c0c0c0;
}

.thread_box2 {
	margin: 0;
	padding: 0 2% 10px;
	font-size: 1.0em;
	border-bottom: 1px solid  #c0c0c0;
}

.thread_contribution{
	display: flex;
	flex-direction: row;
	margin: 5px 0;
}

.thread_icon{
	width: 12%;
	max-width: 50px;
	margin: 5px 0 0;
}

.thread_name{
	width: 82%;
	margin: 5px 2% 0;
	color: #666666;
}

.thread_text{
	flex-direction: colum;
	margin: 0 3%;
}

.thread_text h3{
	margin: 5px 0;
	padding: 0;
	font-size: 1.0em;
	font-weight: normal;
	border-bottom: none;
	display:inline-block;
}

.thread_text h3:before{
	background: none;
}

.thread_text h5{
	margin: 0;
	font-size: 1.0em;
}

.thread_img{
	margin: 0 8% 10px;

}


.thread_text  figure {
	border: 1px solid  #c0c0c0;
	border-radius: 5px;
	max-width: 50px;
	max-height: 50px;
}

.thread_response {
	margin: 0 0 0 8%;
	padding: 10px 0;
	font-size: 1.0em;
	border-top: 1px solid  #c0c0c0;
}

@media screen and (min-width: 960px) {	/* PC用 */

	.thread {
		margin: 10px 5% 30px;
		padding: 0;
	}

	.thread_box1 {
		margin: 0;
		padding: 0 10px 10px;
		font-size: 1.0em;
		border-top: 1px solid  #c0c0c0;
		border-bottom: 1px solid  #c0c0c0;
	}

	.thread_box2 {
		margin: 0;
		padding: 0 10px 10px;
		font-size: 1.0em;
		border-top: 1px solid  #c0c0c0;
		border-bottom: 1px solid  #c0c0c0;
	}

	.thread_contribution{
		margin: 5px 0;
	}

	.thread_icon{
		margin: 5px 0 0 0;
	}

	.thread_name{
		margin: 7px 0 0 5px;
		color: #666666;
	}

	.thread_text{
		margin: 20px;
	}

}

/********************************************* ＱＡ形式アコーディオン *********************************************/

.qa-list dl {
	position: relative;
	margin: 0;
	padding: 28px 80px 28px 30px;
	cursor: pointer;
	border-bottom: 1px solid #c0c0c0;
}

.qa-list dl:first-child {
	border-top: 1px solid #c0c0c0;
}

.qa-list dl::before {
	position: absolute;
	top: 35px;
	right: 35px;
	display: block;
	width: 7px;
	height: 7px;
	margin: auto;
	content: '';
	transform: rotate(135deg);
	border-top: 2px solid #c0c0c0;
	border-right: 2px solid #c0c0c0;
}

.qa-list .open::before {
	transform: rotate(-45deg);
}

.qa-list dl dt {
	position: relative;
	margin: 0;
	padding: 0 0 0 50px;
	font-weight: bold;
	font-size: 20px;
}

.qa-list dl dt::before {
	font-size: 22px;
	line-height: 1;
	position: absolute;
	top: 3px;
	left: 0;
	display: block;
	content: 'Ｑ.';
	color: #ffa500;
}

.qa-list dl dd::before {
	font-size: 22px;
	line-height: 1;
	position: absolute;
	top: 3px;
	left: 2px;
	display: block;
	content: 'Ａ.';
	font-weight: bold;
	color: #ffa500;
}

.qa-list dl dd {
	position: relative;
	display: none;
	height: auto;
	margin: 20px 0 0;
	padding: 0 0 0 50px;
}

.qa-list dl dd p {
	margin: 0;
}

.qa-list dl dd p:first-child{
	margin-top: 0;
}

@media screen and (max-width: 767px) {
	.qa-list dl {
		position: relative;
		padding: 10px 40px 15px 0px;
	}

	.qa-list dl::before {
		top: 20px;
		right: 20px;
		width: 7px;
		height: 7px;
	}

	.qa-list dl dt {
		padding: 0 0 0 30px;
		font-size: 14px;
	}

	.qa-list dl dt::before {
		font-size: 14px;
		top: 3px;
		left: 5px;
		content: 'Q.';
	}

	.qa-list dl dd::before {
		font-size: 14px;
		top: 5px;
		left: 5px;
		content: 'A.';
	}

	.qa-list dl dd {
		margin: 10px 0 0;
		padding: 0 0 0 30px;
		font-size: 14px;
	}

	.qa-list dl dd p {
		margin: 10px 0;
	}

	.qa-list dl dd p:first-child{
		margin-top: 0;
	}
}

/********************************************* 開閉 *********************************************/

.readmore-area {
	margin: 0;
	padding: 0;
	display: none;   /* デフォルトでは非表示にしておく */
}

/********************************************* ハンバーガーメニュー *********************************************/

.pc-nav {
	display: none;
}

.sp-nav {
	z-index: 1;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	display: block;
	width: 100%;
	background: rgba(255, 255, 255, .9);
	opacity: 0;
	transform: translateY(-100%);
	transition: all .2s ease-in-out;
}


#hamburger {
	position: relative;
	display: block;
	width: 50px;
	height: 55px;
	margin: 0 0 0 auto;
	background-image: url(../img/header-menu.webp);
	background-repeat: no-repeat;
}

/********************************************* スマホメニュー *********************************************/

.sp-nav ul {
	padding: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	height: 100%;
}

.sp-nav li {
	margin: 0;
	padding: 0;
	font-size: 16px;
	color: #666;
	font-weight: bold;
}

.sp-nav li span {
	font-size: 16px;
	color: #666;
	font-weight: bold;
}

.sp-nav li a {
	display: block;
	padding: 20px 0;
}

.sp-nav li span {
	display: block;
	padding: 40px 0;
}

/*-閉じるアイコンー*/

.sp-nav .close {
	position: relative;
	padding-left: 20px;
}

.sp-nav .close::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	display: block;
	width: 16px;
	height: 1px;
	background: #666;
	transform: rotate( 45deg );
}


.sp-nav .close::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	display: block;
	width: 16px;
	height: 1px;
	background: #666;
	transform: rotate( -45deg );
}

.toggle {
	transform: translateY( 0 );
	opacity: 1;
}

@media screen and (min-width: 960px) {	/* PC用 */

	.pc-nav {
		display: inline;
	}

	.pc-nav ul {
		display: flex;
	}

	.pc-nav li {
		margin: 0 10px;
		padding: 0;
	}


	#hamburger {
		display: none;
	}
}


/********************************************* ページトップ *********************************************/

#page-top{
	width:50px;
	height:50px;
	display:none;
	position:fixed;
	right:16px;
	bottom:16px;
}
 
#page-top p{
	margin:0;
	padding:0;
	text-align:center;
	background:rgba(0,0,0,0.7);
	-webkit-transition:all 0.3s;
	-moz-transition:all 0.3s;
	transition:all 0.3s;
}
 
#page-top p:hover{
	background:rgba(0,0,0,0.3);
    　　opacity: 0.6;
}
 
#move-page-top{
	color:#fff;
	line-height:50px;
	text-decoration:none;
	display:block;
	cursor:pointer;
}


/********************************************* その他スタイル *********************************************/

.inline {
	display: inline;
}

.center {
	text-align: center;
}

.right {
	text-align: right;
}

.left {
	text-align: left;
}

.auto {
	margin-right: auto;
	margin-left: auto;
}

.relat {
	position: relative;
}

.abso {
	position: absolute;
}

.dblock {
	display: block;
}

.br {
	display: block;
}


.disc {
	margin: 0 0 0 8%;
	list-style-type: disc;
}

.circle {
	margin: 0 0 0 8%;
	list-style-type: circle;
}

.square {
	margin: 0 0 0 8%;
	list-style-type: square;
}

.number {
	margin: 0 0 0 8%;
	list-style: decimal;
}

.lnone {
	list-style: none;
}


.cl {
	clear: both;
	margin-top: 0px;
	margin-bottom: 0px;
	padding-top: 0px;
	padding-bottom: 0px;
	height: 0px;
	line-height: 0px;
}


/********************************************* 配置 *********************************************/

.mar00 {
    margin: 0;
}

.mar1tb {
    margin: 5px 0;
}

.mar2tb {
    margin: 10px 0;
}

.mar3tb {
    margin: 20px 0;
}
.mar00 {
    margin: 0;
}

.pad1tb {
    padding: 5px 0;
}

.pad2tb {
    padding: 10px 0;
}

.pad3tb {
    padding: 20px 0;
}

/* ================汎用================ */
.mar0b {
    margin-bottom: 0px;
}
.mar5b {
    margin-bottom: 5px;
}
.mar10b {
    margin-bottom: 10px;
}
.mar20b {
    margin-bottom: 20px;
}
.mar30b {
    margin-bottom: 30px;
}
.mar40b {
    margin-bottom: 40px;
}
.mar50b {
    margin-bottom: 50px;
}
.mar60b {
    margin-bottom: 60px;
}
.mar70b {
    margin-bottom: 70px;
}
.mar80b {
    margin-bottom: 80px;
}

.mar130b {
    margin-bottom: 130px;
}

/* ================汎用================ */
.mar0t {
    margin-top: 0px;
}
.mar5t {
    margin-top: 5px;
}
.mar10t {
    margin-top: 10px;
}
.mar15t {
    margin-top: 15px;
}
.mar20t {
    margin-top: 20px;
}
.mar30t {
    margin-top: 30px;
}
.mar40t {
    margin-top: 40px;
}
.mar50t {
    margin-top: 50px;
}
.mar80t {
    margin-top: 80px;
}

.mar-10t {
    margin-top: -10px;
}
.mar-20t {
    margin-top: -20px;
}
.mar-30t {
    margin-top: -30px;
}
.mar-50t {
    margin-top: -50px;
}



/* ================汎用================ */
.mar5r {
    margin-right: 5px;
}
.mar10r {
    margin-right: 10px;
}
.mar15r {
    margin-right: 15px;
}
.mar20r {
    margin-right: 20px;
}
.mar40r {
    margin-right: 40px;
}
.mar60r {
    margin-right: 60px;
}

/* ================汎用================ */
.mar0l {
    margin-left: 0px;
}
.mar5l {
    margin-left: 5px;
}
.mar10l {
    margin-left: 10px;
}
.mar15l {
    margin-left: 15px;
}
.mar20l {
    margin-left: 20px;
}
.mar25l {
    margin-left: 25px;
}
.mar30l {
    margin-left: 30px;
}
.mar40l {
    margin-left: 40px;
}

.mar70l {
    margin-left: 70px;
}
.mar80l {
    margin-left: 80px;
}
.mar320l {
    margin-left: 320px;
}

.mar-10l {
    margin-left: -10px;
}

.mar-20l {
    margin-left: -20px;
}

.mar5p {
    margin-left: 5%;
}
.mar10p {
    margin-left: 10%;
}
.mar20p {
    margin-left: 20%;
}
.mar25p {
    margin-left: 25%;
}
.mar30p {
    margin-left: 30%;
}
.mar40p {
    margin-left: 40%;
}
.mar50p {
    margin-left: 50%;
}
.mar60p {
    margin-left: 60%;
}
.mar70p {
    margin-left: 70%;
}
.mar75p {
    margin-left: 75%;
}
.mar80p {
    margin-left: 80%;
}
.mar90p {
    margin-left: 90%;
}



/* ================汎用================ */
.pad0b {
    padding-bottom: 0px;
}
.pad5b {
    padding-bottom: 5px;
}
.pad10b {
    padding-bottom: 10px;
}
.pad20b {
    padding-bottom: 20px;
}
.pad30b {
    padding-bottom: 30px;
}
.pad40b {
    padding-bottom: 40px;
}

/* ================汎用================ */
.pad0t {
    padding-top: 0px;
}
.pad5t {
    padding-top: 5px;
}
.pad10t {
    padding-top: 10px;
}
.pad15t {
    padding-top: 15px;
}
.pad20t {
    padding-top: 20px;
}
.pad25t {
    padding-top: 25px;
}
.pad30t {
    padding-top: 30px;
}
.pad40t {
    padding-top: 40px;
}
.pad50t {
    padding-top: 50px;
}
.pad70t {
    padding-top: 80px;
}


/* ================汎用================ */
.pad10l {
    padding-left: 10px;
}
.pad20l {
    padding-left: 20px;
}
.pad30l {
    padding-left: 30px;
}
.pad40l {
    padding-left: 40px;
}
.pad50l {
    padding-left: 50px;
}
.pad60l {
    padding-left: 60px;
}
.pad-10l {
    padding-left: -10px;
}

/* ================汎用================ */
.pad10r {
    padding-right: 10px;
}
.pad20r {
    padding-right: 20px;
}
.pad30r {
    padding-right: 30px;
}
.pad40r {
    padding-right: 40px;
}
.pad50r {
    padding-right: 50px;
}
.pad60r {
    padding-right: 60px;
}

/* ================汎用================ */
.par-1 {
	text-indent: -1em;
}

.par1 {
	text-indent: 1em;
}

.par2 {
	text-indent: 2em;
}

.par3 {
	text-indent: 3em;
}

.par4 {
	text-indent: 4em;
}

.par5 {
	text-indent: 5em;
}

.par6 {
	text-indent: 6em;
}

.par7 {
	text-indent: 7em;
}

/* ================汎用================ */
.em1 {
	font-size: 1.2em;
}

.em2 {
	font-size: 1.4em;
}
.em3 {
	font-size: 1.6em;
}

.em4 {
	font-size: 1.8em;
}

.em-1 {
	font-size: 0.9em;
}

.em-2 {
	font-size: 0.8em;
}

/* ================スライド：external css: flickity.css================ */
* {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
 
.gallery {
	background: #fff;
}

.gallery figcaption {
	margin: 10px 3%;
}
 
.gallery-cell {
	width: 100%;
	margin: 0;
	counter-increment: gallery-cell;
}

/* ================フェードイン用のCSS================ */

/* 上からフェードイン */
.slide-top {
	opacity: 0;
	transform: translate(0, -20px);
	transition: all 1s ease-out;
 }

.slide-top1 {
	opacity: 0;
	transform: translate(0, -20px);
	transition: all 1s ease-out;
	transition-delay: 1s;
 }

/* 下からフェードイン */
.slide-bottom {
	opacity: 0;
	transform: translate(0, 20px);
	transition: all 1s ease-out;
 }

.slide-bottom1 {
	opacity: 0;
	transform: translate(0, 20px);
	transition: all 1s ease-out;
	transition-delay: 1s;
 }

.slide-bottom2 {
	opacity: 0;
	transform: translate(0, 20px);
	transition: all 1s ease-out;
	transition-delay: 2s;
 }

 /* 左からフェードイン */
.slide-left {
	opacity: 0;
	transform: translate(-20px, 0);
	transition: all 1s ease-out;
 }

.slide-left1 {
	opacity: 0;
	transform: translate(-20px, 0);
	transition: all 1s ease-out;
	transition-delay: 0.5s;
 }

/* 右からフェードイン */
.slide-right {
	opacity: 0;
	transform: translate(20px, 0);
	transition: all 1s ease-out;
 }

.slide-right1 {
	opacity: 0;
	transform: translate(20px, 0);
	transition: all 1s ease-out;
	transition-delay: 1s;
 }

.slide-mvp {
	opacity: 0;
	transform: translate(0, 50px);
	transition: all 1.5s ease-out;
	transition-delay: 0.25s;
 }

.slide-cap {
	opacity: 0;
	transform: translate(0, 75px);
	transition: all 1.25s ease-out;
	transition-delay: 0.5s;
 }

.slide-sub {
	opacity: 0;
	transform: translate(0, 20px);
	transition: all 0.5s ease-out;
	transition-delay: 0.75s;
 }

.slide-ms {
	opacity: 0;
	transform: translate(-20px, 0);
	transition: all 1.5s ease-out;
	transition-delay: 1s;
 }

.slide-ms1 {
	opacity: 0;
	transform: translate(-20px, 0);
	transition: all 1.5s ease-out;
	transition-delay: 1.5s;
 }