@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Open+Sans&display=swap');


/* base
-------------------------------------------------------- */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font: inherit;
	font-size: 100%;
	vertical-align: baseline;
}
article, aside, details, figcaption, figure,
footer, header, main, menu, nav, section {
	display: block;
}
html {
	line-height: 1;
	scroll-behavior: smooth;/* スムーススクロール */
}
ul, ol {
	list-style-type: none;
}
table {
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
}
caption, th, td {
	text-align: left;
	font-weight: normal;
	vertical-align: middle;
}
q, blockquote {
	quotes: none;
}

q:before, q:after, blockquote:before, blockquote:after {
	content: "";
	content: none;
}
a img {
	border: none;
}
img {
	vertical-align: bottom;
	border: none;
	width: 100%;
	max-width: 100%;
	height: auto;
}
img[src*=".svg"] {
	width: 100%;
}
a {
	color: inherit;
	text-decoration: none;
}
*,
:before,
:after {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
input,
button,
select,
textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	font: inherit;
	border: none;
	border-radius: 0;
	outline: none;
}
textarea {
	resize: vertical;
}
input[type='checkbox'],
input[type='radio'] {
	display: none;
}
input[type='submit'],
input[type='button'],
label,
button,
select {
	cursor: pointer;
}
select::-ms-expand {
	display: none;
}

/************************************************************************
	フォント
**************************************************************************/
body {
	font-family: 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', Meiryo, メイリオ, '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック体', 'Yu Gothic', YuGothic, 'MS PGothic', Osaka, arial, sans-serif;
	color: #313333;
	font-size: clamp(13.5px, 0.565rem + 0.58vw, 16px);/* 769~1200 */
	font-weight: 500;/* 游ゴシック　ミディアム */
	letter-spacing: 0.025em;
	line-height: 1.75;
	background: #fff;
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	word-wrap: normal;
}
@media screen and (max-width: 768px) {
	body {
		font-size: clamp(13.5px, 0.399rem + 2.03vw, 22px);/* 350~768 */
	}
}

.en {
	font-family: "Open Sans","Helvetica Neue", Helvetica, Arial, Verdana, "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro", "游ゴシック体", "Yu Gothic", "YuGothic", "Meiryo UI", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

@media screen and (max-width: 768px) {

}

@media screen and (max-width: 480px) {

}

.b { font-weight: 700; }
.heavy { font-weight: 900; }
.tal { text-align: left; }
.tac { text-align: center; }
.tar { text-align: right; }
.taj{ text-align: justify;}


.indent{
	text-indent: 1em;
}
span.indent{
	display: inline-block;
}

.palt{
	font-feature-settings: "palt";
}

.capitalize{
	text-transform: capitalize;
}
.capitalize.no{
	text-transform: none;
}
.uppercase{
	text-transform: uppercase;
}

.i{
	font-style: italic;
}
.u{
	text-decoration: underline;
}

.marker{
	background:linear-gradient(transparent 50%, #fff2b9 80%);
}

.white{
	color: #fff;
}

/* -------------
サイズ　色　太さ
-------------------------------------------------------- */
/* 769~1200 */
.fz12{ font-size: clamp(11px, 0.576rem + 0.23vw, 12px);}
.fz14a{ font-size: clamp(13.2px, 0.736rem + 0.19vw, 14px);}
.fz14{ font-size: clamp(13.2px, 0.736rem + 0.19vw, 14px);}
.fz15{ font-size: clamp(13.4px, 0.659rem + 0.37vw, 15px);}
.fz16{ font-size: clamp(13.5px, 0.565rem + 0.58vw, 16px);}
.fz17{ font-size: clamp(13.8px, 0.506rem + 0.74vw, 17px);}
.fz18{ font-size: clamp(14px, 0.429rem + 0.93vw, 18px);}
.fz18s{ font-size: clamp(14px, 0.429rem + 0.93vw, 18px);}
.fz20{ font-size: clamp(15px, 0.38rem + 1.16vw, 20px);}
.fz22{ font-size: clamp(15.5px, 0.244rem + 1.51vw, 22px);}
.fz23{ font-size: clamp(15.8px, 0.185rem + 1.67vw, 23px);}
.fz24{ font-size: clamp(16px, 0.108rem + 1.86vw, 24px);}
.fz25{ font-size: clamp(16.25px, 0.043rem + 2.03vw, 25px);}
.fz26{ font-size: clamp(16.5px, -0.028rem + 2.2vw, 26px);}
.fz28{ font-size: clamp(18.5px, 0.097rem + 2.2vw, 28px);}
.fz30{ font-size: clamp(20px, 0.135rem + 2.32vw, 30px);}
.fz32{ font-size: clamp(20.5px, -0.001rem + 2.67vw, 32px);}
.fz34{ font-size: clamp(21px, -0.137rem + 3.02vw, 34px);}
.fz35{ font-size: clamp(21.5px, -0.162rem + 3.13vw, 35px);}
.fz36a{ font-size: clamp(22px, -0.186rem + 3.25vw, 36px);}
.fz36{ font-size: clamp(22px, -0.186rem + 3.25vw, 36px);}
.fz38{ font-size: clamp(23px, -0.235rem + 3.48vw, 38px);}
.fz40{ font-size: clamp(24px, -0.284rem + 3.71vw, 40px);}
.fz44{ font-size: clamp(26px, -0.382rem + 4.18vw, 44px);}
.fz46{ font-size: clamp(27px, -0.431rem + 4.41vw, 46px);}
.fz48{ font-size: clamp(28px, -0.034rem + 3.71vw, 48px);}
.fz50{ font-size: clamp(31px, -0.181rem + 4.41vw, 50px);}
.fz53{ font-size: clamp(33.5px, -.081rem + 4.52vw, 53px);}
.fz54{ font-size: clamp(34px, -.105rem + 4.64vw, 54px);}
.fz55{ font-size: clamp(34px, -0.217rem + 4.87vw, 55px);}
.fz56{ font-size: clamp(34.5px, -0.241rem + 4.99vw, 56px);}
.fz57{ font-size: clamp(35px, -0.266rem + 5.1vw, 57px);}
.fz58{ font-size: clamp(35.5px, -0.29rem + 5.22vw, 58px);}
.fz60{ font-size: clamp(36px, -0.426rem + 5.57vw, 60px);}
.fz68{ font-size: clamp(40.8px, .409rem + 4.45vw, 68px);}
.fz70{ font-size: clamp(42px, -0.497rem + 6.5vw, 70px);}
.fz72{ font-size: clamp(43px, -0.546rem + 6.73vw, 72px);}
.fz90{ font-size: clamp(54px, -0.64rem + 8.35vw, 90px);}

@media screen and (max-width: 768px){/* 350~768 */
	.fz12{ font-size: clamp(11px, 0.426rem + 1.2vw, 16px);}
	.fz14{ font-size: clamp(13.2px, 0.469rem + 1.63vw, 20px);}
	.fz15{ font-size: clamp(13.4px, 0.44rem + 1.82vw, 21px);}
	.fz16{ font-size: clamp(13.5px, 0.399rem + 2.03vw, 22px);}
	.fz17{ font-size: clamp(13.6px, 0.358rem + 2.25vw, 23px);}
	.fz18{ font-size: clamp(13.7px, 0.317rem + 2.46vw, 24px)}
	.fz18s{ font-size: clamp(13px, 0.237rem + 2.63vw, 24px);}
	.fz20{ font-size: clamp(14px, 0.221rem + 2.99vw, 26.5px);}
	.fz22{ font-size: clamp(14.5px, 0.201rem + 3.22vw, 28px);}
	.fz23{ font-size: clamp(14.8px, 0.182rem + 3.4vw, 29px);}
	.fz24{ font-size: clamp(15px, 0.153rem + 3.59vw, 30px);}
	.fz25{ font-size: clamp(15px, 0.153rem + 3.59vw, 30px);}
	.fz26{ font-size: clamp(15.3px, 0.187rem + 3.52vw, 30px);}
	.fz28{ font-size: clamp(15.8px, 0.035rem + 4.35vw, 34px);}
	.fz30{ font-size: clamp(16px, -0.047rem + 4.78vw, 36px);}
	.fz32{ font-size: clamp(16px, -0.047rem + 4.78vw, 36px);}
	.fz34{ font-size: clamp(16.5px, 0.011rem + 4.67vw, 36px);}
	.fz35{ font-size: clamp(16.5px, 0.011rem + 4.67vw, 36px);}
	.fz36a{ font-size: clamp(17px, 0.068rem + 4.55vw, 36px);}
	.fz36{ font-size: clamp(18px, -0.026rem + 5.26vw, 40px);}
	.fz38{ font-size: clamp(19px, 0.089rem + 5.02vw, 40px);}
	.fz40{ font-size: clamp(20px, 0.203rem + 4.78vw, 40px);}
	.fz44{ font-size: clamp(22px, 0.224rem + 5.26vw, 44px);}
	.fz46{ font-size: clamp(23px, 0.234rem + 5.5vw, 46px);}
	.fz48{ font-size: clamp(24px, 0.244rem + 5.74vw, 48px);}
	.fz50{ font-size: clamp(25px, 0.254rem + 5.98vw, 50px);}
	.fz53{ font-size: clamp(26.5px, 0.273rem + 6.32vw, 53px);}
	.fz54{ font-size: clamp(27px, 0.275rem + 6.46vw, 54px);}
	.fz55{ font-size: clamp(27.5px, 0.28rem + 6.58vw, 55px);}
	.fz56{ font-size: clamp(28px, 0.288rem + 6.68vw, 56px);}
	.fz57{ font-size: clamp(28.5px, 0.29rem + 6.82vw, 57px);}
	.fz58{ font-size: clamp(29px, 0.295rem + 6.94vw, 58px);}
	.fz60{ font-size: clamp(30px, 0.305rem + 7.18vw, 60px);}
	.fz68{ font-size: clamp(32px, 0.325rem + 7.66vw, 64px);}
	.fz70{ font-size: clamp(32.5px, 0.33rem + 7.78vw, 65px);}
	.fz72{ font-size: clamp(33px, 0.34rem + 7.88vw, 66px);}
	.fz90{ font-size: clamp(42px, 0.427rem + 10.05vw, 84px);}

	.fz16sp{ font-size: clamp(13.5px, 0.296rem + 2.51vw, 24px);}
	.fz20sp{ font-size: clamp(10px, 0.103rem + 2.39vw, 20px);}
	.fz24sp{ font-size: clamp(12px, 0.124rem + 2.86vw, 24px);}
	.fz25sp{ font-size: clamp(12.5px, 0.127rem + 2.99vw, 25px);}
	.fz26sp{ font-size: clamp(13px, 0.134rem + 3.1vw, 26px);}
	.fz27sp{ font-size: clamp(13.5px, 0.139rem + 3.22vw, 27px);}
	.fz28sp{ font-size: clamp(14px, 0.144rem + 3.34vw, 28px);}
	.fz30sp{ font-size: clamp(15px, 0.154rem + 3.58vw, 30px);}
	.fz32sp{ font-size: clamp(16px, 0.163rem + 3.83vw, 32px);}
	.fz36sp{ font-size: clamp(18px, 0.185rem + 4.3vw, 36px);}
	.fz38sp{ font-size: clamp(19px, 0.196rem + 4.53vw, 38px);}
	.fz40sp{ font-size: clamp(20px, 0.206rem + 4.77vw, 40px);}
	.fz42sp{ font-size: clamp(21px, 0.216rem + 5.01vw, 42px);}
	.fz48sp{ font-size: clamp(24px, 0.247rem + 5.73vw, 48px);}
	.fz52sp{ font-size: clamp(26px, 0.268rem + 6.21vw, 52px);}
	.fz56sp{ font-size: clamp(28px, 0.288rem + 6.68vw, 56px);}
	.fz58sp{ font-size: clamp(29px, 0.298rem + 6.92vw, 58px);}
	.fz60sp{ font-size: clamp(30px, 0.309rem + 7.16vw, 60px);}
	.fz64sp{ font-size: clamp(32px, 0.329rem + 7.64vw, 64px);}
	.fz70sp{ font-size: clamp(35px, 0.36rem + 8.35vw, 70px);}
	.fz72sp{ font-size: clamp(36px, 0.371rem + 8.59vw, 72px);}
	.fz78sp{ font-size: clamp(39px, 0.401rem + 9.31vw, 78px);}
	.fz80sp{ font-size: clamp(40px, 0.412rem + 9.55vw, 80px);}
	.fz87sp{ font-size: clamp(43.5px, 0.448rem + 10.38vw, 87px);}
}


/************************************************************************
	フレックス
**************************************************************************/
/* flex系 */
.flex {
	display: -webkit-box;
	display: flex;
}

.flex_pc{/* 768以下block */
	display: -webkit-box;
	display: flex;
}

.wrap{
	flex-wrap: wrap;
}

.nowrap {
	flex-wrap: nowrap;
}

.fd_c {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	flex-direction: column;
}

.ai_fs {
	-webkit-box-align: start;
	align-items: flex-start;
}
.ai_fe {
	-webkit-box-align: end;
	align-items: flex-end;
}
.ai_c {
	-webkit-box-align: center;
	align-items: center;
}

.jc_fs {
	-webkit-box-pack: start;
	justify-content: flex-start;
}
.jc_fe {
	-webkit-box-pack: end;
	justify-content: flex-end;
}
.jc_c {
	-webkit-box-pack: center;
	justify-content: center;
}
.jc_sb {
	-webkit-box-pack: justify;
	justify-content: space-between;
}
.jc_sa {
	justify-content: space-around;
}
.order1 {
	-ms-flex-order: 1;
	-webkit-order: 1;
	order: 1;
}
.order2 {
	-ms-flex-order: 2;
	-webkit-order: 2;
	order: 2;
}

@media screen and (max-width: 768px) {
	.flex_pc{
		display: block;
	}
}
/************************************************************************
	リンク
**************************************************************************/
a {
	color: inherit;
	transition: .5s;
}
a:hover {
	opacity: 0.5;
}

::-moz-selection {
	color: #fff;
	background: #1a1a1a;
}
::selection {
	color: #fff;
	background: #1a1a1a;
}


/************************************************************************
	インナー
**************************************************************************/
.inner_primary{
	max-width: 1200px;
	width: 96%;
	margin-left: auto;
	margin-right: auto;
}

.inner_secondary{
	max-width: 1480px;
	width: 96%;
	margin-left: auto;
	margin-right: auto;
}
.inner_tertiary{
	max-width: 860px;
	width: 92%;
	margin-left: auto;
	margin-right: auto;
}

/* padding ~1600px */
.pt20{
	padding-top: min(20px, 1.3%);
}
.pb20{
	padding-bottom: min(20px, 1.3%);
}

.pt40{
	padding-top: min(40px, 2.5%);
}
.pb40{
	padding-bottom: min(40px, 2.5%);
}

.pt50{
	padding-top: min(50px, 3.1%);
}
.pb50{
	padding-bottom: min(50px, 3.1%);
}

.pt60{
	padding-top: min(60px, 3.8%);
}
.pb60{
	padding-bottom: min(60px, 3.8%);
}

.pt70{
	padding-top: min(70px, 4.4%);
}
.pb70{
	padding-bottom: min(70px, 4.4%);
}

.pt80{
	padding-top: min(80px, 5%);
}
.pb80{
	padding-bottom: min(80px, 5%);
}

.pt90{
	padding-top: min(90px, 5.6%);
}
.pb90{
	padding-bottom: min(90px, 5.6%);
}

.pt100{
	padding-top: min(100px, 6.3%);
}
.pb100{
	padding-bottom: min(100px, 6.3%);
}

.pt110{
	padding-top: min(110px, 6.9%);
}
.pb110{
	padding-bottom: min(110px, 6.9%);
}

.pt120{
	padding-top: min(120px, 7.5%);
}
.pb120{
	padding-bottom: min(120px, 7.5%);
}

.pt130{
	padding-top: min(130px, 8.1%);
}
.pb130{
	padding-bottom: min(130px, 8.1%);
}

.pt140{
	padding-top: min(140px, 8.8%);
}
.pb140{
	padding-bottom: min(140px, 8.8%);
}

.pt150{
	padding-top: min(150px, 9.4%);
}
.pb150{
	padding-bottom: min(150px, 9.4%);
}

.pt160{
	padding-top: min(160px, 10%);
}
.pb160{
	padding-bottom: min(160px, 10%);
}

.pt180{
	padding-top: min(180px, 11.3%);
}
.pb180{
	padding-bottom: min(180px, 11.3%);
}

.pt200{
	padding-top: min(200px, 12.5%);
}
.pb200{
	padding-bottom: min(200px, 12.5%);
}


@media screen and (max-width: 768px) {
	.pt20{
		padding-top: 2.6%;
	}
	.pb20{
		padding-bottom: 2.6%;
	}
	
	.pt40{
		padding-top: 5%;
	}
	.pb40{
		padding-bottom: 5%;
	}
	
	.pt50{
		padding-top: 6.2%;
	}
	.pb50{
		padding-bottom: 6.2%;
	}
	
	.pt60{
		padding-top: 7.6%;
	}
	.pb60{
		padding-bottom: 7.6%;
	}
	
	.pt70{
		padding-top: 8.8%;
	}
	.pb70{
		padding-bottom: 8.8%;
	}
	
	.pt80{
		padding-top: 10%;
	}
	.pb80{
		padding-bottom: 10%;
	}
	
	.pt90{
		padding-top: 11.2%;
	}
	.pb90{
		padding-bottom: 11.2%;
	}
	
	.pt100{
		padding-top: 12.6%;
	}
	.pb100{
		padding-bottom: 12.6%;
	}
	
	.pt110{
		padding-top: 13.8%;
	}
	.pb110{
		padding-bottom: 13.8%;
	}
	
	.pt120{
		padding-top: 15%;
	}
	.pb120{
		padding-bottom: 15%;
	}
	
	.pt130{
		padding-top: 16.2%;
	}
	.pb130{
		padding-bottom: 16.2%;
	}
	
	.pt140{
		padding-top: 17.6%;
	}
	.pb140{
		padding-bottom: 17.6%;
	}
	
	.pt150{
		padding-top: 18.8%;
	}
	.pb150{
		padding-bottom: 18.8%;
	}
	
	.pt160{
		padding-top: 20%;
	}
	.pb160{
		padding-bottom: 20%;
	}
	
	.pt180{
		padding-top: 22.6%;
	}
	.pb180{
		padding-bottom: 22.6%;
	}
	
	.pt200{
		padding-top: 25%;
	}
	.pb200{
		padding-bottom: 25%;
	}
}

/************************************************************************
	その他
**************************************************************************/

.anchor {
	margin-top: -100px;
	padding-top: 100px;
}

span.dib{
	display: inline-block;
}

.img_bg{
	position: relative;
	background: url(../img/cmn/mail.svg) no-repeat center/cover;
}

.img_bg::before{
	content: "";
	display: block;
	padding-top: 75%;
}

.borr20{
	border-radius: clamp(15px, 0.38rem + 1.16vw, 20px);/* 769~1200 */
}
.borr15{
	border-radius: clamp(7.5px, -0.368rem + 1.74vw, 15px);/* 769~1200 */
}
.borr10{
	border-radius: clamp(7px, 0.103rem + 0.7vw, 10px);/* 769~1200 */
}

ul.attention li{
	position: relative;
	padding-left: 1.1em;
}
ul.attention li::before{
	content: "\0203B";
	position: absolute;
	left: 0;
}


.attention_mark{
	position: relative;
	padding-left: 1.1em;
}
.attention_mark::before{
	content: "\0203B";
	position: absolute;
	left: 0;
}

@media (min-width: 769px) {
	a[href*="tel:"] {
		pointer-events: none;
		cursor: default;
		text-decoration: none;
	}
}

@media screen and (max-width: 768px) {
	.borr20{
		border-radius: clamp(10px, 0.102rem + 2.39vw, 20px);/* 350~768 */
	}
	 .borr15{
		border-radius: clamp(7.5px, 0.076rem + 1.79vw, 15px);/* 350~768 */
	 }
	.borr10{
		border-radius: clamp(5px, 0.051rem + 1.2vw, 10px);/* 350~768 */
	}
}

/************************************************************************
	タイトル
**************************************************************************/



/************************************************************************
	ボタン
**************************************************************************/
.btn_primary{
	margin: auto;
}
.btn_primary a{
	font-weight: 700;
	font-size: clamp(14px, 0.429rem + 0.93vw, 18px);/* 769~1200 */
	display: block;
	text-align: center;
	color: #fff;
	padding: 1.3em .8em;
	background-color: #ff8000;
	border-radius: clamp(7.5px, -0.368rem + 1.74vw, 15px);/* 769~1200 */
	box-shadow: 0px 5px 10px -5px #777777;
	position: relative;
}
.btn_primary a:hover{
	background-color: #dc6e00;
	opacity: 1;
	box-shadow: 0px 0px 0px -5px #777777;
	transform: translateY(.1em);
}

.btn_primary a::after{
	content: "";
	display: inline-block;
	width: .5em;
	height: .8em;
	background: url(../img/cmn/arrow01_w.svg) no-repeat center/contain;
	position: absolute;
	right: 1.5em;
	top: calc(50% - .4em);
	transition: .4s;
}

.btn_primary a:hover::after{
	right: 1.7em;
}

.btn_primary a span{
	display: inline-block;
	transition: .4s;
}
.btn_primary a:hover span{
	transform: scale(.95);
}

.btn_secondary{
	width: fit-content;
	margin: auto;
}
.btn_secondary a{
	font-weight: 700;
	font-size: clamp(13.2px, 0.736rem + 0.19vw, 14px);/* 769~1200 */
	display: block;
	text-align: center;
	color: #0070b6;
	width: 20em;
	padding: 1.3em 0;
	border: .1px solid #0070b6;
	background-color: #fff;
	border-radius: clamp(7px, 0.103rem + 0.7vw, 10px);/* 769~1200 */
	box-shadow: 0px 3px 10px -3px #777777;
	position: relative;
}
.btn_secondary a:hover{
	background-color: #f5f5f5;
	opacity: 1;
	box-shadow: 0px 0px 0px -5px #777777;
	transform: translateY(.1em);
}

.btn_secondary a::after{
	content: "";
	display: inline-block;
	width: .5em;
	height: .8em;
	background: url(../img/cmn/arrow03_blue.svg) no-repeat center/contain;
	position: absolute;
	left: 1.5em;
	top: calc(50% - .4em);
	transition: .4s;
}
.btn_secondary a:hover::after{
	left: 1.7em;
}

.btn_secondary a span{
	display: inline-block;
	transition: .4s;
}
.btn_secondary a:hover span{
	transform: scale(.95);
}
.btn_primary.short a {
	max-width: 280px;
	width: 100%;
}

.link_text{
	font-weight: 700;
	color: #0070b6;
	position: relative;
	text-decoration: underline;
}
.link_text::after{
	content: "";
	display: inline-block;
	width: 1.5em;
	height: .8em;
	background: url(../img/cmn/link_text_deco.svg) no-repeat center/contain;
	margin-left: .4em;
}

.link_text:hover{
	opacity: 1;
	text-decoration: none;
}

@media screen and (max-width: 768px) {
	.btn_primary a{
		font-size: clamp(13.5px, 0.294rem + 2.51vw, 24px);/* 350~768 */
		border-radius: clamp(7.5px, 0.076rem + 1.79vw, 15px);/* 350~768 */
	}
}

/************************************************************************
	リスト
**************************************************************************/
.decimal li, p.decimal{
	position: relative;
	padding-left: 1.5em;
}
.decimal li::before, p.decimal::before{
	content: "";
	display: inline-block;
	width: 1em;
	height: 1em;
	border-radius: .5em;
	background-color: #313333;
	position: absolute;
	left: 0;
	top: .35em;
}
.decimal.decimal_blue li::before, p.decimal_blue::before{
	background-color: #4e89c3;
}
.decimal.decimal_orange li::before, p.decimal_orange::before{
	background-color: #ee883c;
}
.decimal.decimal_green li::before, p.decimal_green::before{
	background-color: #caddaa;
}

/************************************************************************
	アニメーション
**************************************************************************/
.trigger{
	opacity: 0;
}

/* フェードイン　*/
.animation{/* 下から上へ */
	animation-name: fadeup;
	animation-duration: 0.4s;
	animation-fill-mode: forwards;
	opacity: 0;
}

.animation.down{/* 上から下へ */
	animation-name: fadedown;
}
.animation.right{/* 左から右へ */
	animation-name: faderight;
}
.animation.left{/* 右から左へ */
	animation-name: fadeleft;
}

.animation.deray02{
	animation-delay: .2s;
}
.animation.deray04{
	animation-delay: .4s;
}
.animation.deray08{
	animation-delay: .8s;
}
.animation.deray12{
	animation-delay: 1.2s;
}
.animation.deray16{
	animation-delay: 1.6s;
}

.animation.duration06{
	animation-duration: 0.6s;
}
.animation.duration10{
	animation-duration: 1s;
}
	
	@keyframes fadeup{
	  from {
		opacity: 0;
	  	transform: translateY(2em);
	  }
	
	  to {
		opacity: 1;
	  	transform: translateY(0);
	  }
	}
	@keyframes fadedown{
	  from {
		opacity: 0;
	  	transform: translateY(-2em);
	  }
	
	  to {
		opacity: 1;
	  	transform: translateY(0);
	  }
	}
	@keyframes faderight{
	  from {
		opacity: 0;
	  	transform: translateX(-2em);
	  }
	
	  to {
		opacity: 1;
	  	transform: translateX(0);
	  }
	}
	@keyframes fadeleft{
	  from {
		opacity: 0;
	  	transform: translateX(2em);
	  }
	
	  to {
		opacity: 1;
	  	transform: translateX(0);
	  }
	}


/* フェードインここまで　*/


/************************************************************************
	PC/SP
**************************************************************************/
.block480, .sp, .block1024{ display: none; }

@media screen and (max-width: 1024px){
	.none1024{display: none;}
	.block1024{display: block;}
}

@media screen and (max-width: 768px) {
	.pc { display: none;}
	.sp { display: block;}
}

@media screen and (max-width: 480px) {
	.none480{ display: none;}
	.block480{ display: block;}
}

/************************************************************************
	loader
**************************************************************************/
#loader_bg {
    display: -webkit-box;
	display: flex;
	-webkit-box-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	align-items: center;
    background: #faf9f7;
	position: fixed;
	width: 100%;
	height: 100%;
	inset: 0;
	z-index: 999;
}
#loader_bg .logo{
	letter-spacing: .1em;
	animation: loader .7s ease;
}

@keyframes loader {
	0% {
		opacity: 0;
		transform: translateY(20%);
	}
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}

@media screen and (max-width: 768px) {
	#loader_bg .logo{
		width: 100%;
	}
}
/************************************************************************
	header
**************************************************************************/
header{
	width: 98%;
	max-width: 1480px;
	margin: auto;
	background-color: #fff;
	box-shadow: 0px 5px 15px -5px #555;
	position: fixed;
	top: min(30px, 1.9vw);
	left: 50%;
	z-index: 100;
	transform: translateX(-50%);
}

@media screen and (max-width: 768px) {
	header{
		width: 100%;
		padding: 1em 0;
		top: 0;
		left: auto;
		transform: none;
	}
	header.borr10{
		border-radius: 0;
	}
}

/* -----*---- ロゴ ----*----- */
.hd_logo{
	width: 21em;
	padding-left: 1em;
}

.hd_logo a{
	display: block;
	padding: .5em;
}
.hd_logo img{
	vertical-align: middle;
}

/* -----*---- ヘッダーナビ ----*----- */
.hd_nav{
	width: fit-content;
}

.hd_nav ul li{
	margin-right: 1.7em;
}
.hd_nav ul li:nth-last-of-type(1){
	margin-right: 2.7em;
}
.hd_nav ul li a{
	height: 100%;
	display: flex;
	-webkit-box-align: center;
	align-items: center;
}
.hd_nav ul li:nth-child(2) a {
	flex-direction: column;
	line-height: 1.2;
}
.hd_nav ul li:nth-child(2) a small {
	font-size: 12px;
	margin: 2px 0 0;
}
@media screen and (max-width: 1024px){
.hd_nav ul li,
.hd_nav ul li:nth-last-of-type(1){
	margin-right: 1em;
}
}
@media screen and (max-width: 768px){
	.hd_nav{
		display: none;
	}
}

/* ---- ヘッダーナビ　お問い合わせ ---- */
.hd_contact_btn a{
	display: block;
	color: #fff;
	padding: 1.25em 2em;
	background-color: #ff8000;
	border-radius: 0 clamp(7px, 0.103rem + 0.7vw, 10px) clamp(7px, 0.103rem + 0.7vw, 10px) 0;
}
.hd_contact_btn a:hover{
	background-color: #dc6e00;
	opacity: 1;
}

/* ----*---- ハンバーガー ----*---- */
.hmb{
	display: none;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	flex-direction: column;
	-webkit-box-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	align-items: center;
	width: 4em;
	height: 100%;
	position: absolute;
	right: 0;
}

.hmb_bar{
	width: 50%;
	height: 33.4%;
	position: relative;
	transition: .4s;
}
.hmb:hover .hmb_bar{
	transform: translateY(-10%);
}

.hmb_bar span{
	display: inline-block;
	width: 100%;
	height: .1em;
	background-color: #000;
	position: absolute;
	transition: .4s;
}
.hmb_bar span:nth-of-type(1){
	top: 0;
}
.hmb_bar span:nth-of-type(2){
	top: calc(50% - 1px);
}
.hmb_bar span:nth-of-type(3){
	bottom: 0;
}

.hmb_open .hmb_bar span:nth-of-type(1){
	top: 48%;
	transform: rotate(-45deg);
}
.hmb_open .hmb_bar span:nth-of-type(2){
	opacity: 0;
}
.hmb_open .hmb_bar span:nth-of-type(3){
	bottom: 48%;
	transform: rotate(45deg);
}

@media screen and (max-width: 768px){
	.hmb{
		display: -webkit-box;
		display: flex;
	}
}

/* ----*---- SP お問い合わせボタン ----*---- */
.fix_contact_btn{
	position: fixed;
	bottom: 3%;
	right: 3%;
	z-index: 100;
}

.fix_contact_btn a{
	display: block;
	color: #fff;
	padding: .5em 1em .8em;
	background-color: #ff8000;
	box-shadow: 0px 5px 15px -5px #555;
}
.fix_contact_btn a:hover{
	background-color: #dc6e00;
	opacity: 1;
	box-shadow: 0px 0px 0 -5px #555;
}

.fix_contact_btn a span{
	display: block;
	width: 2em;
}

/* ***********************************************************************
	global
************************************************************************ */
body.hmb_open{
	overflow: hidden;
}
#global{
	display: none;
	width: 100%;
	height: 100%;
	padding: 0 0 5em;
	margin: 0;
	background-color: rgba(0, 0, 0, 0.7);
	overflow-y: auto;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 90;
}
#global nav{
	display: flex;
	height: 100%;
}
#global nav ul{
	margin: auto;
}
#global nav li{
	margin-bottom: 1em;
}
#global nav li:nth-last-of-type(1){
	margin-bottom: 0;
}

#global nav li a{
	display: block;
	font-weight: 700;
	color: #fff;
	padding: .2em 0;
	position: relative;
}
#global nav li a::after{
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	background-color: #fff;
	position: absolute;
	bottom: 0;
	transition: .3s;
}
#global nav li a:hover::after{
	width: 0;
}
#global nav li:nth-child(2) a {
	display: flex;
	flex-direction: column;
	justify-content: center;
}
/************************************************************************
	footer
**************************************************************************/
footer{
	position: relative;
}

/* ----*----*---- ページトップへボタン ----*----*---- */
#to_top_wrapper{
	position: relative;
}
#to_top_wrapper a{
	display: block;
	height: min(8px, .5vw);
	background-color: #0070b6;
}
#to_top_btn{
	width: 4.2em;
	height: 2.1em;
	border-radius: 2.1em 2.1em 0 0;
	background-color: #0070b6;
	position: absolute;
	top: -2.1em;
	left: calc(50% - 1.55em);
}
#to_top_btn img{
	width: 1em;
	object-fit: contain;
	position: absolute;
	left: calc(50% - .5em);
	top: 1em;
}

/* ----*----*---- フッターのメイン部分 ----*----*---- */
.footer_contents{
	display: -webkit-box;
	display: flex;
	-webkit-box-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	align-items: center;
}

@media screen and (max-width: 768px){
	.footer_contents{
		display: block;
	}
}

/* ----*---- アドレス ----*---- */
.footer_contents address h2{
	width: 15.5em;
}
.footer_contents address h2 .main{
	display: block;
	margin-bottom: .4em;
}
.footer_contents address h2 .sub{
	display: block;
	font-weight: 700;
}

.mail, .tel{
	position: relative;
}
.mail::before, .tel::before{
	content: "";
	display: inline-block;
	width: 1em;
	height: .9em;
	margin-right: .8em;
}
.mail::before{
	background: url(../img/cmn/icon_mail_b.svg) no-repeat center/contain;
	vertical-align: middle;
}
.tel::before{
	background: url(../img/cmn/icon_tel_b.svg) no-repeat center/contain;
}

@media screen and (max-width: 768px){
	.footer_contents address{
		text-align: center;
		margin-bottom: 1.5em;
	}
	.footer_contents address h2{
		margin: auto auto .5em;
	}
}


/* ----*---- 各ボタン ----*---- */
.ft_btn_wrapper{
	display: -webkit-box;
	display: flex;
	width: fit-content;
}
.ft_btn{
	width: 11.6em;
	margin-right: 2.5%;
}
.ft_btn.ft_btn03{
	margin-right: 0;
}
.ft_btn a{
	display: -webkit-box;
	display: flex;
	-webkit-box-pack: center;
	justify-content: center;
	color: #fff;
	font-weight: 700;
	padding: 1em 0;
	background-color: #0070b6;
}
.ft_btn03 a{
	background-color: #ff8000;
}

.ft_btn a span{
	position: relative;
}
.ft_btn.ft_btn01 a span::after, .ft_btn.ft_btn02 a span::after{
	content: "";
	display: inline-block;
	margin-left: .4em;
	vertical-align: middle;
}
.ft_btn.ft_btn01 a span::after{
	width: 1.2em;
	height: 1.3em;
	background: url(../img/cmn/icon_pdf.svg) no-repeat center/contain;
}
.ft_btn.ft_btn02 a span::after{
	width: .85em;
	height: .85em;
	background: url(../img/cmn/icon_blank.svg) no-repeat center/contain;
}

@media screen and (max-width: 768px){
	.ft_btn_wrapper{
		display: block;
		width: 80%;
		margin: auto;
	}

	.ft_btn{
		width: 100%;
		margin: auto auto 5%;
	}
	.ft_btn.ft_btn03{
		margin: auto auto auto;
	}
}


/* ----*---- コピーライト ----*---- */
.copyright{
	font-size: .75em;
	color: #fff;
	text-align: center;
	padding: .5em;
	background-color: #0070b6;
}

/************************************************************************
	トップページ
**************************************************************************/
#mv {
	background: #388FC6;
	padding: 8.5em 0 4em;
}
#mv .mv_catch {
	color: #fff;
	text-align: center;
	margin: 0 0 24px;
}
@media screen and (max-width: 768px){
#mv {
	padding: 6em 0 3em;
}
}
#about .text_wrap,
#about figure {
	width: 46%;
}
#about h2 {
	margin: 0 0 0.75em;
}
#about .btn_primary {
	margin: 2.5em 0 0;
}
@media screen and (max-width: 768px){
#about .flex { display: block; }
#about .text_wrap,
#about figure {
	width: 100%;
}
#about .text_wrap {
	margin: 0 0 2.5em;
}
#about .btn_primary {
	display: -webkit-box;
	display: flex;
	-webkit-box-pack: center;
	justify-content: center;
	margin: 1.5em 0 0;
}
}
#top_course {
	background: #EDEDED;
	overflow: hidden;
}
#top_course h2 {
	margin: 0 0 2em;
}
#top_course h2 span {
	width: 8%;
}
#top_course h2 .shika01 {
	max-width: 51px;
	margin-right: 1.25em;
}
#top_course h2 .shika02 {
	max-width: 55px;
	margin-left: 1.25em;
}
#top_course .btn_primary {
	margin: 2.5em 0 0;
}
@media screen and (max-width: 768px){
#top_course .btn_primary {
	margin: 1.5em 0 0;
}
}

#news {
	background: #B2D4E9;
}
#news h2 {
	margin: 0 0 0.75em;
}
#news h2 span {
}
#news h2 span img {
	vertical-align: middle;
}
#news h2 .bubble01 {
	max-width: 53px;
	width: 10%;
	margin-right: 1.25em;
}
#news h2 .bubble02 {
	max-width: 61px;
	width: 11.5%;
	margin-left: 1.25em;
}

#news .news_list {
	background: #fff;
	border-radius: 23px;
	padding: 4%;
}
#news .news_list iframe {
	width: 100%;
	border: none;
}
#news .news_list ul li:not(:last-child) {
	border-bottom: dashed 1px #66A9D3;
}
#news .news_list a {
	display: -webkit-box;
	display: flex;
	padding: 24px 0;
}
#news .news_list a:hover {
	opacity: 1;
}
#news .news_list a:hover .news_title {
	text-decoration: none;
}
#news .news_list ul li:first-child {
	padding-top: 0;
}
#news .news_list ul li:last-child {
	padding-bottom: 0;
}
#news .news_list .news_date {
	margin: 0 3em 0 0;
}
#news .news_list .news_title {
	text-decoration: underline;
}
@media screen and (max-width: 768px){
#news .news_list a {
	display: block;
}
#news .news_list .news_date {
	margin: 0 0 0.75em;
}
}


/************************************************************************
	下層ページ共通
**************************************************************************/
.h1_wrapper{
	background-color: #388fc6;
	padding: 4.1em 1em 1.25em;
	border-bottom: min(9px, .6vw)solid #0070b6;
}
.h1_wrapper h1{
	font-weight: 700;
	text-align: center;
	color: #fff;
	letter-spacing: .1em;
	line-height: 1.25;
	position: relative;
}
.h1_wrapper h1::before{
	content: "・・・・・";
	display: block;
	color: #c9e1f0;
	letter-spacing: -.55em;
	line-height: 1;
}

.h1_wrapper h1 .sub{
	font-size: .75em;
}

@media screen and (max-width: 768px){
	.h1_wrapper{
		padding: 4.5em 1em 1.25em;
	}
}
/************************************************************************
	講義一覧ページ
**************************************************************************/


#list .intro h2{
	font-weight: 700;
	text-align: center;
	margin-bottom: 1.2em;
}

#list .intro .text{
	margin-bottom: 2.5em;
}

/* ----*---- テーブル ----*---- */

#list .intro table{
	width: 100%;
	margin-bottom: 2.5em;
}
#list .intro table tr{
	border-top: 1px dashed #808080;
}
#list .intro table tr:nth-last-of-type(1){
	border-bottom: 1px dashed #808080;
}

#list .intro table th{
	font-weight: 700;
	width: 10em;
	padding: 1.2em;
	background-color: #ebebeb;
}

#list .intro table td{
	padding: 1.2em;
}

#list .intro table ul{
	padding-top: .25em;
}

#list .intro table .strong{
	font-weight: 700;
	color: #de0015;
	padding-top: .25em;
}

@media screen and (max-width: 768px){
	#list .intro table th{
		display: block;
		width: 100%;
		padding: 1em;
	}
	#list .intro table td{
		display: block;
		padding: 1em;
	}
}
/* ----*----*---- リスト一覧セクション ----*----*---- */
.course_list{
	padding-top: 1px;
	background-color: #eee;
}


/* ----*---- リスト一覧部分 ----*---- */

.course_list h2{
	font-weight: 700;
	color: #fff;
	width: fit-content;
	padding: .5em 2.5em;
	margin: -1.5em auto 2.75em;
	background-color: #0070b6;
	border-radius: 3em;
}

.course_list .list_container {
	display: -webkit-box;
	display: flex;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	justify-content: space-between;
}
.course_list .list_wrapper {
	width: 48.3%;
	margin-bottom: 3.4%;
}
.course_list.swiper .list_wrapper {
	width: 100%;
	margin-bottom: 0;
}
.course_list.swiper {
	max-width: 580px;
	width: 96%;
	background-color: transparent;
	overflow: visible;
	padding-top: 0;
}
.course_list.swiper .swiper-button-next,
.course_list.swiper .swiper-button-prev,
.course_list.swiper .swiper-button-next::after,
.course_list.swiper .swiper-button-prev::after {
	width: 48px;
	height: 48px;
}
.course_list.swiper .swiper-button-next::after,
.course_list.swiper .swiper-button-prev::after {
	content: "";
	background-repeat: no-repeat;
	background-size: contain;
}
.course_list.swiper .swiper-button-next {
	right: -4em;
}
.course_list.swiper .swiper-button-next::after {
	background-image: url("../img/top/next.svg");
}
.course_list.swiper .swiper-button-prev {
	left: -4em;
}
.course_list.swiper .swiper-button-prev::after {
	background-image: url("../img/top/prev.svg");
}
.course_list .list_wrapper a {
	display: block;
	height: 100%;/* 横と高さ揃える */
	border-radius: clamp(7.5px, -0.368rem + 1.74vw, 15px);/* 769~1200 */
	box-shadow: 0px 0px 10px -5px #777777;
	transition: .2s;
	overflow: hidden;
}
.course_list .list_wrapper a:hover{
	opacity: .8;
	box-shadow: 0px 0px 0px -5px #777777;
	transform: translateY(.1em);
}

.course_list .list_wrapper a:hover .link_text{
	text-decoration: none;
}

@media screen and (max-width: 768px) {
	.course_list .list_container{
		display: block;
	}
	.course_list .list_wrapper{
		width: 100%;
		margin-bottom: 7%;
	}
.course_list.swiper .swiper-button-next {
	right: -0.5em;
}
.course_list.swiper .swiper-button-prev {
	left: -0.5em;
}
}

/* ---- 日付（青） ---- */
.course_list .list_wrapper .date{
	font-weight: 700;
	letter-spacing: .2em;
	text-align: center;
	color: #fff;
	background-color: #0070b6;
	padding: .5em;
}


/* ---- 白枠 ---- */
.course_list .list_wrapper .list_frame{
	height: 100%;/* 横と高さ揃える */
	padding: .8em 1.5em 1.5em;
	background-color: #fff;
}

/* ---- カテゴリー ---- */
.cat {
	text-align: center;
	color: #fff;
	font-weight: 700;
	padding: .5em 1em;
	margin-bottom: 1em;
	background-color: #9b5549;
	border-radius: 2em;
}
.cat.management{
	background-color: #ca4885;
}
.cat.area{
	background-color: #00912d;
}

/* ---- タイトル・講師 ---- */
.course_list .list_wrapper h3{
	font-weight: 700;
	margin-bottom: .5em;
}
.course_list .list_wrapper h3 .sub {
	font-size: 0.8em;
}

.course_list .list_wrapper .teacher_wrapper{
	display: -webkit-box;
	display: flex;
	flex-wrap: wrap;
	color: #636363;
	margin-bottom: 1em;
}

.course_list .list_wrapper .teacher_wrapper .teacher01{
	width: 4.4em;
	position: relative;
}
.course_list .list_wrapper .teacher_wrapper .teacher01::after{
	content: "";
	display: inline-block;
	width: 1.2em;
	height: 1px;
	margin: auto .5em;
	background-color: #7a7a7a;
	position: absolute;
	top: .79em;
}
.course_list .list_wrapper .teacher_wrapper .teacher02{
	width: calc(100% - 4.4em);
}
@media screen and (max-width: 1024px) {
	.course_list .list_wrapper .teacher_wrapper{
		display: block;
	}
	.course_list .list_wrapper .teacher_wrapper .teacher02{
		width: 100%;
	}
}

@media screen and (max-width: 768px) {
	.course_list .list_wrapper .teacher_wrapper{
		display: -webkit-box;
		display: flex;
	}
	.course_list .list_wrapper .teacher_wrapper .teacher02{
		width: calc(100% - 4.4em);
	}
}

@media screen and (max-width: 600px) {
	.course_list .list_wrapper .teacher_wrapper{
		display: block;
	}
	.course_list .list_wrapper .teacher_wrapper .teacher02{
		width: 100%;
	}
}

/* ---- サムネイル・テキスト ---- */
.course_list .list_wrapper .contents{
	display: -webkit-box;
	display: flex;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	justify-content: space-between;
}

.course_list .list_wrapper .contents .img{
	width: 44%;
}

.course_list .list_wrapper .contents .text_wrapper{
	width: 53%;
}
.course_list .list_wrapper .contents .text_wrapper .cut_text{
	overflow: hidden;/* 省略するため */
	height: 10.5em;/* line-heightが1.75で6行。1.75*6 */
	margin-bottom: 1em;
}


@media screen and (max-width: 1024px) {
	.course_list .list_wrapper .contents{
		display: block;
	}
	.course_list .list_wrapper .contents .img{
		width: 80%;
		margin: auto auto 5%;
	}
	.course_list .list_wrapper .contents .text_wrapper{
		width: 100%;
	}

	.course_list .list_wrapper .contents .text_wrapper .cut_text{
		height: 7em;/* line-heightが1.75で4行。1.75*4 */
	}
}

@media screen and (max-width: 768px) {
	.course_list .list_wrapper .contents{
		display: -webkit-box;
		display: flex;
	}
	.course_list .list_wrapper .contents .img{
		width: 44%;
		margin: 0;
	}
	.course_list .list_wrapper .contents .text_wrapper{
		width: 53%;
	}

	.course_list .list_wrapper .contents .text_wrapper .cut_text{
		height: 8.8em;/* line-heightが1.75で5行。1.75*5 */
	}
}

@media screen and (max-width: 600px) {
	.course_list .list_wrapper .contents{
		display: block;
	}
	.course_list .list_wrapper .contents .img{
		width: 80%;
		margin: auto auto 5%;
	}
	.course_list .list_wrapper .contents .text_wrapper{
		width: 100%;
	}

	.course_list .list_wrapper .contents .text_wrapper .cut_text{
		height: 5.25em;/* line-heightが1.75で4行。1.75*3 */
	}
}


/************************************************************************
	講義詳細ページ
**************************************************************************/

/* ----*---- テーブル ----*---- */
#article table{
	margin-bottom: 3em;
}
#article table tr{
	border-top: 1px dashed #c5c5c5;
}
#article table tr:nth-last-of-type(1){
	border-bottom: 1px dashed #c5c5c5;
}

#article table th{
	width: 8.3em;
	padding: .8em;
	position: relative;
}
#article table th::after{
	content: "";
	width: 1px;
	height: 75%;
	background-color: #c5c5c5;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
}

#article table td{
	padding: .8em .8em .8em 1.5em;
}

#article table .cat{
	padding: .3em 1em;
	margin-bottom: 0;
	width: 70%;
}

#article table tr:nth-of-type(3) td{
	line-height: 1.33;
	padding: .9em .8em .9em 1.5em;
}

#article table .sub{
	font-size: .75em;
}

@media screen and (max-width: 768px) {
	#article table th{
		width: 7.6em;
		padding: .5em .8em .5em .5em;
	}
	#article table td{
		padding: .5em .5em .5em .8em;
	}
	#article table .cat{
		width: auto;
	}
}

/* ----*---- サムネイル ----*---- */
#article .thumb{
	width: 92%;
	max-width: 400px;
	margin: auto auto 8%;
}

/* ----*---- 概要文 ----*---- */
#article .over_view{
	margin-bottom: 2em;
}

/* ----*---- 講師プロフィール ----*---- */
.profile_wrapper{
	background-color: #f5f5f5;
	padding: 2.5em 3em 2em;
	margin-bottom: 2em;
}

.profile_wrapper .prof_title{
	font-weight: 700;
	padding-left: 1.5em;
	margin-bottom: .75em;
	position: relative;
}
.profile_wrapper .prof_title::before{
	content: "";
	display: inline-block;
	width: 1em;
	height: 1em;
	border-radius: .5em;
	background-color: #0070b6;
	position: absolute;
	left: 0;
	top: .25em;
}

.profile_wrapper .prof_text{
	line-height: 1.8;
	padding: .5em 0;
}


.profile_wrapper .teacher_name{
	display: inline-block;
	font-size: 1.1em;
	font-weight: 700;
	padding-left: 1.5em;
	margin-bottom: .25em;
	position: relative;
}
.profile_wrapper .teacher_name::before{
	content: '\25C6';
	display: inline-block;
	position: absolute;
	left: 0;
}

.profile_wrapper .year_list{
	position: relative;
	padding-left: 4.5em;
}
.profile_wrapper .year_list.indent05{
	padding-left: 5.5em;
}
.profile_wrapper .year_list.indent06{
	padding-left: 6.5em;
}
.profile_wrapper .year_list.indent08{
	padding-left: 8.5em;
}
.profile_wrapper .year_list.indent09{
	padding-left: 9.5em;
}
.profile_wrapper .year_list .year{
	display: inline-block;
	position: absolute;
	left: 0;
}

@media screen and (max-width: 768px) {
	.profile_wrapper{
		padding: 1.5em 2em;
	}
	.profile_wrapper .year_list, .profile_wrapper .year_list.indent05, .profile_wrapper .year_list.indent06, .profile_wrapper .year_list.indent08, .profile_wrapper .year_list.indent09{
		padding-left: 0;
	}
	.profile_wrapper .year_list .year{
		display: block;
		position: relative;
		padding-left: 1.2em;
	}
	.profile_wrapper .year_list .year::before{
		content: "";
		display: inline-block;
		width: .8em;
		height: 1px;
		margin-right: .2em;
		background-color: #000;
		position: absolute;
		top: .85em;
		left: 0;
	}
}

/* ----*---- 講義一覧へ戻る ----*---- */
.back_wrapper{
	background-color: #f5f5f5;
}


.border_title {
	margin: 0 0 min(40px, 2.5%);
	position: relative;
}
.border_title::after {
	content: "";
	width: 100%;
	height: 4px;
	background: #0071BB;
	position: absolute;
	top: calc(50% - 2px);
	left: 0;
	z-index: 0;
}
.border_title span {
	color: #fff;
	min-width: 460px;
	background: #0071BB;
	border-radius: 100px;
	display: inline-block;
	padding: 6px 10px;
	position: relative;
	z-index: 1;
}
@media screen and (max-width: 768px) {
.border_title {
	margin: 0 0 5%;
}
.border_title span {
	max-width: 460px;
	width: 90%;
	min-width: inherit;
}
}