@charset "utf-8";
/*===============================================================
	
	2020/10/28
	
===============================================================*/

/* 初期化
----------------------------------------------------------------*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
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-style:normal;
	font-weight: normal;
	font-size: 100%;
	vertical-align: baseline;
	outline: none;
	box-sizing: border-box;
}
img {	width:100%; height: auto; }
blockquote, q {	quotes: none;	}
blockquote:before, blockquote:after,
q:before, q:after {	content: '';	content: none;}
input, textarea { margin: 0;	padding: 0;}
input[type="submit"], textarea { font-family: inherit; }
table{	border-collapse: collapse; border-spacing:0;	}
h1,h2,h3,h4,h5,h6,p,li,th,td,dt,dd,div { font-size:14px; line-height:1.8; }
caption,th,td { text-align:left; vertical-align:top; }
img { vertical-align:top; border:0; }
ul,li { list-style:none; }
option { padding-right:1em; }
address,caption { font-style:normal; font-weight:normal; }
a {	outline:none;	text-decoration:underline; }
a:focus {	outline:none;	}
ul a ,li a {	zoom:1;	}
strong{ font-weight: bold; }
em{ font-style: italic; }

/* HTML5
----------------------------------------------------------------*/
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}

/* フロート関係
----------------------------------------------------------------*/
.cf {
  display: flow-root;
}
.flol {
	float:left;
}
.flor {
	float:right;
}

/*===============================================================
	
	pc_aligncenter
	
===============================================================*/
.pc_aligncenter {
  text-align: center;
}

/* タブレット以下 */
@media screen and (max-width: 1070px) {
}	/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～640px */
@media only screen and (max-width: 800px) {
.pc_aligncenter {
  text-align: left;
}

}	/* for SP max-width: 800px */

/*===============================================================
	
	webフォント
	
===============================================================*/
.noto_sans {
  font-family: 'Noto Sans JP', sans-serif;
  /*font-feature-settings: 'palt';
  letter-spacing: .1em;*/
  font-display: swap;
}
.noto_serif {
  font-family: 'Noto Serif JP', serif;
  /*font-feature-settings: 'palt';
  letter-spacing: .1em;*/
  font-display: swap;
}
.pinyon {
  font-family: 'Pinyon Script', cursive; 
}
.allura {
  font-family: 'Allura', cursive;
}

/* html/body設定
----------------------------------------------------------------*/
html {
}
body {
	width: 100%;
	color:#333;
	background:#fff;
	text-align:left;
	-webkit-text-size-adjust:none; /* 縦横文字サイズ同じ */
	-webkit-font-smoothing: antialiased;
}
a {
	color:#D79B00;
  -webkit-transition: background-color 0.1s linear, color 0.1s linear, border-color 0.1s linear, border-width 0.1s linear, opacity 0.1s linear;
	transition: background-color 0.1s linear, color 0.1s linear, border-color 0.1s linear, border-width 0.1s linear, opacity 0.1s linear;
  text-decoration: none;
}
a:hover {
  color:#D79B00;
}

/* タブレット以下 */
@media screen and (max-width: 1070px) {
}	/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～640px */
@media only screen and (max-width: 800px) {
body {
	overflow-x: hidden;
}

}	/* for SP max-width: 800px */


/*===============================================================
	
	基本文字サイズ
	
===============================================================*/
h2 {
	/*font-size:172%;	/* 24px */
}
h3 {
	/*font-size:172%;	/* 24px */
}
h4 {
	/*font-size:115%;	/* 16px */
	line-height:1.4;
}
li,	
p {
	font-size: 16px;
	line-height: 1.8;
	font-weight: 400;
}
sup {
	margin: 0;
	padding: 0;
	font-size: 11px;
	line-height: 15px;
}

/* タブレット以下 */
@media screen and (max-width: 1070px) {

}/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {
li,	
p {
	font-size: 4vw;
	line-height: 1.8;
}

}/* for SP max-width: 800px */


/*===============================================================
	
	PC/SP/TABLET
	
===============================================================*/
.sp {
	display:none;
}
.pc {
}
.tablet {
	display:none;
}
.sp {
	display:none;
}
.sp_tablet {
	display:none;
}
.none {
	display:none !important;
}
/* タブレット以下 */
@media screen and (max-width: 1070px) {
.pc {
	display:none;
}
.tablet,
.pc_tablet,
.sp_tablet {
	display:block;
}
}	/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {
.sp {
	display:block;
}
.pc_tablet,
.tablet {
	display:none;
}
}	/* for SP max-width: 800px */

/*===============================================================
	
	img youtube hover
	
===============================================================*/
.fitimg img, 
.photo img {
	width: 100%;
	height: auto;
}
.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}
.content * + .youtube {
	margin-top: 30px;
}
.hover a {
  display: block;
}
.hover a:hover {
  opacity: 0.7;
}

/* タブレット以下 */
@media screen and (max-width: 1070px) {

}	/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {
.content * + .youtube {
	margin-top: 5vw;
}
}	/* for SP max-width: 800px */

/*===============================================================
	
	レイアウト
	
===============================================================*/
.wrapper {
}
.wide_width {
  width: auto;
	max-width: 1300px;
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
}
.content_width {
	width: auto;
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
}
.narrow_width {
	width: auto;
	max-width: 960px;
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
}
.narrow_width2 {
	width: auto;
	max-width: 800px;
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
}

/* タブレット以下 */
@media screen and (max-width: 1200px) {

}	/* for tablet max-width: 1200px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {

}	/* for SP max-width: 800px */

/*===============================================================
	
	header
	
===============================================================*/
.wrapper {
	/*padding-top: 100px;*/
}
.header {
	position: fixed;
	z-index: 1000;
	top: 0;
	left: 0;
	width: 100%;
	height: 100px;
	background: rgba(255,255,255,0.9);
}
.header .title {
	position: absolute;
	height: 60px;
	left: 20px;
	top: 0; bottom: 0;
	margin: auto;
}
.header .title a {
  display: block;
  height: 60px;
  color: #333;
	font-size: 20px;
  line-height: 1;
  text-align: center;
  padding-left: 70px;
  background: url("../images/asset/logo.png") no-repeat center left / 60px 60px;
}
.header .title a .en {
  display: block;
  color: #D79B00;
	font-size: 30px;
  line-height: 1;
  padding-bottom: 5px;
}

/* タブレット以下 */
@media screen and (max-width: 1070px) {

}/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {
.wrapper {
	padding-top: 13vw;
}
.header {
	position: fixed;
	z-index: 1000;
	width: 100%;
	height: 13vw;
	padding: 3vw;
}
.header .title {
	height: 6.5vw;
	left: 3vw;
}
.header .title a {
  height: 6.5vw;
	font-size: 4vw;
  line-height: 6.5vw;
  padding-left: 8vw;
  background: url("../images/asset/logo.png") no-repeat center left / 6.5vw 6.5vw;
}
.header .title a .en {
  display: none;
}

}/* for SP max-width: 800px */

/*===============================================================
	
	header_menu
	
===============================================================*/
.header_menu {
}
.header_menu .humberger {
	position: fixed;
	top: 32.5px;
	right: 30px;
	z-index: 1020;
	width: 40px;
	height: 35px;
	cursor: pointer;
	transition: all 0.3s;
}
.header_menu .humberger span {
	position: relative;
	width: 40px;
	height: 20px;
	display: block;
	transition: all 0.1s;
	/*transform: translateY(5px);*/
	cursor: pointer;
}
.header_menu .humberger span::before,
.header_menu .humberger span::after {
	content:'';
	position:absolute;
	top: 0; bottom: 0; left: 0; right: 0;
	width: 40px;
	height: 1px;
	background: #333;
	transition: all 0.3s;
}
.header_menu .humberger span::before {
	transform: translateY(10px);
}
/* hover	*/
.header_menu .humberger:hover span {
}
.header_menu .humberger:hover span:after {
	transform: translateY(10px);
}
.header_menu .humberger:hover span:before {
	transform: translateY(0px);
}
/* active	*/
.header_menu.opend .humberger span {
	width: 0;
}
.header_menu.opend .humberger span::after {
	transform: translateY(5px) rotate(135deg);
	background: #fff;
}
.header_menu.opend .humberger span::before {
	transform: translateY(5px) rotate(-135deg);
	background: #fff;
}
.header_menu.opend .humberger:hover span::after,
.header_menu.opend .humberger:hover span::before,
.header_menu.opend .humberger:hover span {
	background: #fff;
}
.header_menu.opend .humberger:hover span::after {
	transform: translateY(5px) rotate(0deg);
}
.header_menu.opend .humberger:hover span::before {
	transform: translateY(5px) rotate(0deg);
}
.scrolled .header_menu .humberger {
	position: fixed;
	top: 15px;
}
.header_menu .humberger .txt {
  color: #D79B00;
	font-size: 15px;
  line-height: 1;
  font-weight: 300;
	text-align: center;
	z-index: -1;
	position: relative;
	transition: all 0.3s;
}
.header_menu.opend .humberger .txt {
	opacity: 0;
}
/* タブレット以下 */
@media screen and (max-width: 1300px) {

}/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {
.header_menu .humberger {
	top: 4vw;
	right: 3vw;
	width: 10vw;
	height: 6vw;
	display:flex;
	flex-direction:row;
	flex-wrap:wrap;
	justify-content:center;
	align-items: center;
}
.header_menu.opend .humberger {
	right: 3vw;
}
.header_menu .humberger span {
	width: 10vw;
  height: 3vw;
	background: rgba(255,255,255,0);
	transform: translateY(0vw);
}
.header_menu .humberger span::before,
.header_menu .humberger span::after {
	width: 10vw;
	height: 1px;
	transform: translateY(0);
}
.header_menu .humberger span::before {
	transform: translateY(2vw);
}
/* hover	*/
.header_menu .humberger:hover span {
}
.header_menu .humberger:hover span:after {
	transform: translateY(0);
}
.header_menu .humberger:hover span:before {
	transform: translateY(2vw);
}
/* active	*/
.header_menu.opend .humberger span {
	width: 0;
}
.header_menu.opend .humberger span::after {
	transform: translateY(1vw) rotate(135deg);
}
.header_menu.opend .humberger span::before {
	transform: translateY(1vw) rotate(-135deg);
}
.header_menu.opend .humberger:hover span::after {
	transform: translateY(1vw) rotate(135deg);
}
.header_menu.opend .humberger:hover span::before {
	transform: translateY(1vw) rotate(-135deg);
}
.header_menu .humberger .txt {
	font-size: 3vw;
}
}/* for SP max-width: 800px */

/*===============================================================
	
	header_menu .menu_panel
	
===============================================================*/
.header_menu .menu_panel {
	position: fixed;
	top: 0;
	right: -400px;
	width: 400px;
	height: 100vh;
	z-index: 1010;
	box-sizing: border-box;
	padding: 70px 50px 80px 50px;
	overflow-y: scroll;
	transition: all 0.3s;
	background: #E6BA4A;
}
.header_menu.opend .menu_panel {
	top: 0;
	right: 0;
}
.header_menu .menu_panel .head {
  width: 100%;
  height: 150px;
  display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
  align-items: center;
  background: url("../images/asset/frame_sitetitle_nav.svg") no-repeat center / contain;
}
.header_menu .menu_panel .head p {
  display: block;
  color: #fff;
	font-size: 20px;
  line-height: 1;
  text-align: center;
}
.header_menu .menu_panel .head p .en {
  display: block;
	font-size: 30px;
  line-height: 1;
  padding-bottom: 5px;
}
.header_menu .menu_panel .head + * {
  margin-top: 20px;
}
.header_menu .menu_panel .menu {
  padding: 20px 0;
  border-bottom: dashed 1px rgba(255,255,255,0.5);
}
.header_menu .menu_panel .menu li {
	font-size: 15px;
}
.header_menu .menu_panel .menu li + li {
	margin-top: 5px;
}
.header_menu .menu_panel .menu a {
	color: #fff;
	text-decoration: none;
}
.header_menu .menu_panel .menu a:hover {
	opacity: 0.5;
}

/* タブレット以下 */
@media screen and (max-width: 1070px) {

}/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {
.header_menu .menu_panel {
	right: -100%;
	width: 100%;
	padding: 15vw 5vw 30vw 5vw;
}
.header_menu .menu_panel .head {
  height: 35vw;
  margin: 0 auto;
}
.header_menu .menu_panel .head p {
	font-size: 5vw;
}
.header_menu .menu_panel .head p .en {
	font-size: 7vw;
  padding-bottom: 1vw;
}
.header_menu .menu_panel .head + * {
  margin-top: 5vw;
}
.header_menu .menu_panel .menu {
  padding: 5vw 0;
}  
.header_menu .menu_panel .menu li {
	font-size: 4vw;
	line-height: 1.5;
}  
.header_menu .menu_panel .menu li + li {
	margin-top: 3vw;
}
.header_menu .menu_panel .menu a {
}
.header_menu .closebtn {
	padding:12vw 0 8vw;
}
.header_menu .closebtn a {
	display:block;
	border:solid 1px #fff;
	width:40vw;
	color:#fff;
  font-size: 4vw;
	line-height:1;
	text-align:center;
  text-decoration:none;
  padding: 4vw 0;
	margin:0 auto;
}
}/* for SP max-width: 800px */

/*-------------------------------------------------------------
	sns_share	
-------------------------------------------------------------*/
.sns_share {
  line-height: 0;
  margin-top: 40px;
}
.sns_share p {
  color: #fff;
  font-size: 14px;
  line-height: 1;
	text-align: center;
}
.sns_share ul {
	text-align: center;
  letter-spacing: -.4em;
  margin-top: 15px;
}
.sns_share li {
  display: inline-block;
	width: 36px;
  height: 36px;
  letter-spacing: normal; 
  margin: 0 5px;
}
.sns_share li a {
  display: block;
	width: 100%;
  height: 100%;
  overflow: hidden;
	text-indent: 1000%;
	white-space: nowrap;
  border: 1px solid #fff;
  border-radius: 50%;
  box-sizing: border-box;
}
.sns_share li a:hover {
 opacity: 0.5;
}
.sns_share .facebook a {
  background: url("../images/asset/sns_icon_facebook_white.svg") no-repeat center / auto 30px;
}
.sns_share .twitter a {
  background: url("../images/asset/sns_icon_twitter_white.svg") no-repeat center / 30px auto;
}
.sns_share .line a {
  background: url("../images/asset/sns_icon_line_white.svg") no-repeat center / 30px auto;
}

/* タブレット以下 */
@media screen and (max-width: 1070px) {

}/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {
.sns_share {
  margin-top: 10vw;
}
.sns_share p {
  font-size: 4vw;
}  
.sns_share ul {
  margin-top: 4vw;
}
.sns_share li {
	width: 10vw;
  height: 10vw;
  margin: 0 1vw;
}
.sns_share li a {
}
.sns_share .facebook a {
  background-size: auto 8vw;
}
.sns_share .twitter a {
  background-size: 8vw auto;
}
.sns_share .line a {
  background-size: 8vw auto;
}

}/* for SP max-width: 800px */

/*-------------------------------------------------------------
	menu背景	
-------------------------------------------------------------*/
.menu_panel_bg {
	position: fixed;
  top: 0;
	right: 0;
	background: none;
	z-index: 1001;
	width: 100vw;
	height: 100vh;
	transition: all 0.3s;
	pointer-events: none;
}
.menu_panel_bg.active {
	background: rgba(0,0,0,0.2);
	pointer-events: inherit;
}
.blur {
	-ms-filter: blur(3px);
  filter: blur(3px);
}
/* タブレット以下 */
@media screen and (max-width: 1300px) {

}/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {

}/* for SP max-width: 800px */
/*-------------------------------------------------------------
	blank_link	
-------------------------------------------------------------*/
.blank_link a {
	position: relative;
	display: inline-block;
}
.blank_link a::after,
.blank_link a::before {
	content:'';
	position:absolute;
	top: 0; bottom: 0;
	right: -1.5em;
	margin: auto;
	border:solid 1px #fff;
	width:9px;
	height:5px;
}
.blank_link a::before {
	transform: translate(-2px,2px);
}

.blank_link_brown a::after,
.blank_link_brown a::before {  
	border:solid 1px #D79B00;
}
.blank_link_red a::after,
.blank_link_red a::before {  
	border:solid 1px #E40011;
}


/* タブレット以下 */
@media screen and (max-width: 1070px) {

}/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {
.blank_link a::after,
.blank_link a::before {
	right: -1.2em;
	width: 2.5vw;
	height: 1.5vw;
}
.blank_link a::before {
	transform: translate(-0.6vw,0.5vw);
}  

}/* for SP max-width: 800px */

/*===============================================================
	
	フッタ
	
===============================================================*/
.footer_wrp {
	position: relative;
	z-index: 100;
	background: #fff;
}

/* タブレット以下 */
@media screen and (max-width: 1070px) {

}	/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {

}	/* for SP max-width: 800px */

/*-------------------------------------------------------------
	footer_body	
-------------------------------------------------------------*/
.footer_body {
	background: #E6BA4A;
	padding: 80px 0;
}
.footer_body .inner {
  position: relative;
	display:flex;
	flex-direction:row;
	flex-wrap:wrap;
	justify-content:space-between;
	align-items: center;
}
.footer_body .head {
  width: 360px;
  height: 180px;
  margin: 0 auto;
  display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
  align-items: center;
  background: url("../images/asset/frame_sitetitle_footer.svg") no-repeat center / contain;
}
.footer_body .head p {
  display: block;
  color: #fff;
	font-size: 24px;
  line-height: 1;
  text-align: center;
}
.footer_body .head p .en {
  display: block;
	font-size: 36px;
  line-height: 1;
  padding-bottom: 5px;
}
.footer_body .sitemap {
	flex: 1;
	display:flex;
	flex-direction:row;
	flex-wrap:wrap;
	justify-content: flex-start;
}
.footer_body .sitemap .menu {
  margin-top: 5px;
  padding-left: 50px;
}
.footer_body .sitemap .menu li {
	font-size: 18px;
  line-height: 1;
}
.footer_body .sitemap .menu li + li {
	margin-top: 21px;
}
.footer_body .sitemap .menu li a {
	color: #fff;
}
.footer_body .sitemap .menu li a:hover {
	opacity: 0.5;
}
.footer_body .sitemap .menu .blank_link a::after,
.footer_body .sitemap .menu .blank_link a::before {
	right: -1em;
}
.footer_body .sitemap .menu .sub {
  display: inline-block;
  margin-right: 2em;
}
.footer_body .sns_share {
  width: 100%;
}
.footer_body .sns_share p {
  font-size: 16px;
}

/* タブレット以下 */
@media screen and (max-width: 1200px) {
.footer_body {
	padding: 60px 100px;
}
.footer_body .inner {
	display: block;
}  
.footer_body .sitemap {
  justify-content: space-between;
  margin-top: 30px;
}
.footer_body .sitemap .menu {
  margin-top: 0;
  padding-left: 0;
}
.footer_body .sitemap .menu li {
	font-size: 16px;
  line-height: 1;
}
.footer_body .sitemap .menu li + li {
	margin-top: 20px;
}  

}/* for tablet max-width: 1200px */

/* タブレット以下 */
@media screen and (max-width: 1070px) {
.footer_body {
	padding: 60px 60px;
}  

}/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {
.footer_body {
	padding: 8vw 0 8vw;
}
.footer_body .inner {
	flex-direction:column;
}
.footer_body .head {
  width: 100%;
  height: 35vw;
}
.footer_body .head p {
	font-size: 5vw;
}
.footer_body .head p .en {
	font-size: 7vw;
  padding-bottom: 1vw;
}   
.footer_body .sitemap {
	width: 100%;
	flex-direction:column;
	margin-top: 8vw;
	border-bottom: dashed 1px #D79B00;
} 
.footer_body .sitemap .menu li a {
	display: block;
	font-size: 4vw;
	padding: 4vw 5vw;
	border-top: dashed 1px #D79B00;
}
.footer_body .sitemap .menu li + li {
	margin-top: 0;
}
.footer_body .sitemap .menu .blank_link a::before,
.footer_body .sitemap .menu .blank_link a::after {
	right: 5vw;
}
.footer_body .sitemap .menu .sub {
  display: block;
  margin-right: 0;
}  
.footer_body .sns_share {
  margin-top: 8vw;
}  
  
}/* for SP max-width: 800px */

/*-------------------------------------------------------------
	footer_bottom	
-------------------------------------------------------------*/
.footer_bottom {
	padding: 20px 0;
}
.footer_bottom .inner {
}
.footer_bottom .copyright {
	font-size: 12px;
  line-height: 1;
  text-align: center;
}
/* タブレット以下 */
@media screen and (max-width: 1070px) {

}/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {
.footer_bottom {
	padding: 5vw;
}
.footer_bottom .copyright {
	font-size: 3vw;
}
}/* for SP max-width: 800px */

/*===============================================================
	
	grid
	
===============================================================*/
.gridconatiner {
	margin-top:-50px;
}
.gridconatiner .grid {
	float:left;
}
.grid {
	margin-top:50px;
}
/*	gridSize :445 gutterSize :50 column :2 */
.gridwrp_2 { width:105.319%;}
.gridwrp_2 .grid_2 { width:94.949%; margin-right:5.051%; }
.gridwrp_2 .grid_1 { width:44.949%; margin-right:5.051%; }
.gridwrp_2 .grid:nth-child(2n+1) {
	clear:both;
}

/*	gridSize :280 gutterSize :50 column :3 */
.gridwrp_3 { width:105.319%;}
.gridwrp_3 .grid_3 { width:94.949%; margin-right:5.051%; }
.gridwrp_3 .grid_2 { width:61.616%; margin-right:5.051%; }
.gridwrp_3 .grid_1 { width:28.283%; margin-right:5.051%; }
.gridwrp_3 .grid:nth-child(3n+1) {
	clear:both;
}

/*	gridSize :210 gutterSize :40 column :4 */
.gridwrp_4 { width:104.167%;}
.gridwrp_4 .grid_4 { width:96.000%; margin-right:4.000%; }
.gridwrp_4 .grid_3 { width:71.000%; margin-right:4.000%; }
.gridwrp_4 .grid_2 { width:46.000%; margin-right:4.000%; }
.gridwrp_4 .grid_1 { width:21.000%; margin-right:4.000%; }
.gridwrp_4 .grid:nth-child(4n+1) {
	clear:both;
}

.column + .gridconatiner {
	margin-top:-20px;
} 

/* タブレット以下 */
@media screen and (max-width: 1070px) {

}	/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {
.gridconatiner {
	margin-top:-20px;
}
.gridwrp_3,
.gridwrp_3 .grid_1,
.gridwrp_2,
.gridwrp_2 .grid_1 {
	width:100%; margin-right:0;
}
.gridwrp_4 { width:105.000%;}
.gridwrp_4 .grid_1 { width:45.238%; margin-right:4.762%; }

.grid {
	margin-top:20px;
}
.grid:first-child {
	/*margin-top:0px;*/
}
.gridwrp_4 .grid:nth-child(2) {
	/*margin-top:0;*/
}

.sp_gridwrp2 .gridwrp_3 { width:105.319%;}
.sp_gridwrp2 .gridwrp_3 .grid_2 { width:94.949%; margin-right:5.051%; }
.sp_gridwrp2 .gridwrp_3 .grid_1 { width:44.949%; margin-right:5.051%; }
.sp_gridwrp2 .gridwrp_3 .grid:nth-child(2n+1) {
	clear:both;
}
.sp_gridwrp2 .gridwrp_3 .grid:nth-child(3n+1) {
	clear:none;
}
.sp_gridwrp2 .gridwrp_2 { width:105.319%;}
.sp_gridwrp2 .gridwrp_2 .grid_2 { width:94.949%; margin-right:5.051%; }
.sp_gridwrp2 .gridwrp_2 .grid_1 { width:44.949%; margin-right:5.051%; }
.sp_gridwrp2 .gridwrp_2 .grid:nth-child(2n+1) {
	clear:both;
}
.sp_gridwrp2 .gridwrp_2 .grid:nth-child(3n+1) {
	clear:none;
}
.sp_gridwrp2 .linkarea p {
	padding: 0;
}
.column + .gridconatiner {
	margin-top:0;
} 
}	/* for SP max-width: 800px */

/*===============================================================
	
	flex_container
	
===============================================================*/
.flex_container {
	display:flex;
	flex-direction:row;
	flex-wrap:wrap;
	justify-content:flex-start;
}
.flex_container_mt0 {
	margin-top: -60px;
}
.flex_container .item {
	flex-basis:auto;
  margin-top: 60px;
}

/* タブレット以下 */
@media screen and (max-width: 1070px) {

}	/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {
.flex_container_mt0 {
	margin-top: -8vw;
}
.flex_container .item {
  margin-top: 8vw;
}  

}	/* for SP max-width: 800px */

/*----------------------------------------------------------------
アイテム比率
----------------------------------------------------------------*/
.flex_container .item_2_1 {
	width:48%;
	margin-right:4%;
}
.flex_container .item_3_1 {
	width:31%;
	margin-right:3.5%;
}
.flex_container .item_4_1 {
	width:23.5%;
	margin-right:2%;
}
.flex_container .item_4_3_1 {
	width:22.6%;
	margin-right:3.2%;
}
.flex_container .item_4_3_2 {
	width:22.6%;
	margin-right:3.2%;
}
.flex_container .item_5_1 {
	width:18.75%;
	margin-right:1.5625%;
}
.flex_container .item_2_1:nth-child(2n),
.flex_container .item_3_1:nth-child(3n),
.flex_container .item_4_1:nth-child(4n),
.flex_container .item_4_3_1:nth-child(4n),
.flex_container .item_4_3_2:nth-child(4n),
.flex_container .item_5_1:nth-child(5n) {
	margin-right:0;
}
.flex_container_r {
	flex-direction:row-reverse;
}
.flex_container_r .item_2_1 {
  margin-right: 0;
	margin-left: 4%;
}
.flex_container_r .item_2_1:nth-child(2n) {
	margin-left: 0;
}

/* タブレット以下 */
@media screen and (max-width: 1070px) {
/*4→2カラム*/  
.flex_container .item_4_1,
.flex_container .item_4_1:nth-child(4n) {	
	width:48%;
	margin-right:4%;
}	 
.flex_container .item_4_1:nth-child(2n) {
	margin-right:0;
}
/*4→3カラム*/ 
.flex_container .item_4_3_1,
.flex_container .item_4_3_1:nth-child(4n) {	
	width:31%;
	margin-right:3.5%;
}
.flex_container .item_4_3_1:nth-child(3n) {
	margin-right:0;
}
.flex_container .item_4_3_2,
.flex_container .item_4_3_2:nth-child(4n) {	
	width:31%;
	margin-right:3.5%;
}
.flex_container .item_4_3_2:nth-child(3n) {
	margin-right:0;
}  
/*5→4カラム*/		
.flex_container .item_5_1,
.flex_container .item_5_1:nth-child(5n) {	
	width:23%;
	margin-right:2.6666%;
}
.flex_container .item_5_1:nth-child(4n) {
	margin-right:0;
}

}	/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {
/*2→1カラム*/	
/*3→1カラム*/
/*4→1カラム*/
.flex_container .item_2_1,
.flex_container .item_3_1,
.flex_container .item_4_1,
.flex_container .item_4_3_1 {
	width:100%;
	margin-right:0;
}
.flex_container .item_4_1:nth-child(4n),
.flex_container .item_4_3_1:nth-child(4n) {	
	width:100%;
	margin-right:0%;
}
/*4→2カラム*/		
.flex_container .item_4_3_2,
.flex_container .item_4_3_2:nth-child(3n),
.flex_container .item_4_3_2:nth-child(4n) {	
	width:48%;
	margin-right:4%;
}	
.flex_container .item_4_3_2:nth-child(2n) {
	margin-right:0;
}
/*5→2カラム*/		
.flex_container .item_5_1,
.flex_container .item_5_1:nth-child(4n),
.flex_container .item_5_1:nth-child(5n) {	
	width:48%;
	margin-right:4%;
}	
.flex_container .item_5_1:nth-child(2n) {
	margin-right:0;
}	

.flex_container_r .item_2_1 {
	margin-left: 0;
}

}	/* for SP max-width: 800px */

/*===============================================================
	
	fixed
	
===============================================================*/
.fixed {
	position: fixed;
	top: 0;
}
.bg_fixed {
	background-attachment: fixed;
}
/* タブレット以下 */
@media screen and (max-width: 940px) {
.fixed {
	position: fixed;
	top: 0;
}
}	/* for tablet max-width: 940px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {

}	/* for SP max-width: 800px */


/*===============================================================
	
	PAGETOP
	
===============================================================*/
#btn_pagetop {
	width: 100%;
	overflow: hidden;
}
#btn_pagetop a {
	display: block;
	right: -300px; top:0;
	width: 50px; height: 50px;
	color: #fff;
	background-color: none;
	border: solid 1px #D79B00;
	text-indent: 100%;
	overflow: hidden;
	white-space: nowrap;
	z-index: 101;
	position: fixed;
}
#btn_pagetop a:hover {
	background:#D79B00;
}
#btn_pagetop a::after {
	position:absolute;
	content:" ";
	width:14px; height:14px;
	top:20px; left:0; right:0; bottom:auto;
	margin:auto;
	border-top:solid 1px #D79B00;
	border-left:solid 1px #D79B00;
	transform: rotate(45deg) translate(2px,2px);
	transition: all 0.3s;
}
#btn_pagetop a:hover::after {
  border-top:solid 1px #fff;
	border-left:solid 1px #fff;
	transform: rotate(45deg) translate(-2px,-2px);
}

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {
#btn_pagetop a {
	width:40px;
	height:40px;
}
#btn_pagetop a:after {
	width:12px; height:12px;
	top:17px; left:0; right:0; bottom:auto;
}
}	/* for SP max-width: 800px */


/*===============================================================
	
	btn_detail
	
===============================================================*/
.btn_detail {
  width: auto;
	max-width: 240px;
	margin: 0 auto;
	margin-top: 40px;
}
.btn_detail a {
  position: relative;
	display: block;
	color: #D79B00;
	font-size: 16px;
	line-height: 20px;
  text-align: center;
  text-decoration: none;
	padding: 15px 0;
	border: 1px solid #D79B00;
}
.btn_detail a:hover {
	background: #FFF6DE;
}
.btn_red a {
  color: #E40011 !important;
	border-color: #E40011 !important;
}
.btn_red a:hover {
	background: #ffedee !important;
}
.btn_white a {
  color: #fff !important;
	border-color: #fff !important;
}
.btn_white a:hover {
	background: rgba(255,255,255,0.3) !important;
}
.btn_blue a {
  color: #65CCDE !important;
	border-color: #65CCDE !important;
}
.btn_blue a:hover {
	background:#e3fbff !important;
}
.btn_pink a {
  color: #FF9AA2 !important;
	border-color: #FF9AA2 !important;
}
.btn_pink a:hover {
	background: #ffeef0 !important;
}
.btn_green a {
  color: #65DE86 !important;
  border-color: #65DE86 !important;
}
.btn_green a:hover {
  background: #e0ffe9 !important;
}
.btn_purple a {
  color: #b688ff !important;
  border-color: #b688ff !important;
}
.btn_purple a:hover {
  background: #f2ebff !important;
}
.btn_hotpink a {
  color: #ff90ff !important;
  border-color: #ff90ff !important;
}
.btn_hotpink a:hover {
  background: #ffecff !important;
}
.btn_darkbrown a {
  color:#713D36 !important;
	border-color:#713D36 !important;
}
.btn_darkbrown a:hover {
  background: #ffebe8 !important;
}

.btn_winered a {
  color: #D17E94 !important;
  border-color: #D17E94 !important;
}
.btn_winered a:hover {
  background: #fff0f4 !important;
}

/* タブレット以下 */
@media screen and (max-width: 1070px) {
.btn_detail {
	/*max-width:100%;*/
}
}	/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {
.btn_detail {
	max-width: 100%;
	margin-top: 4vw;
}
.btn_detail a {
	font-size: 4vw;
  line-height: 1;
  padding: 4vw 0px;
}

}	/* for SP max-width: 800px */

/*-------------------------------------------------------------
	btn_blank
-------------------------------------------------------------*/
.btn_blank a::after,
.btn_blank a::before {
	content:'';
	position:absolute;
	top: 0; bottom: 0;
	right: 10px;
	margin: auto;
	border: solid 1px #D79B00;
	width: 9px;
	height: 5px;
  transition: border .1s;
}
.btn_blank a::before {
	transform: translate(-2px,2px);
}
.btn_blank.btn_red a::after,
.btn_blank.btn_red a::before {
	border-color: #E40011;
}
.btn_blank.btn_white a::after,
.btn_blank.btn_white a::before {
	border-color: #fff;
}
.btn_blank.btn_blue a::after,
.btn_blank.btn_blue a::before {
	border-color: #65CCDE;
}
.btn_blank.btn_pink a::after,
.btn_blank.btn_pink a::before {
	border-color: #FF9AA2;
}
.btn_blank.btn_green a::after,
.btn_blank.btn_green a::before {
	border-color: #65DE86;
}
.btn_blank.btn_purple a::after,
.btn_blank.btn_purple a::before {
	border-color: #b688ff !important;
}
.btn_blank.btn_hotpink a::after,
.btn_blank.btn_hotpink a::before {
	border-color: #ff90ff !important;
}
.btn_blank.btn_darkbrown a::after,
.btn_blank.btn_darkbrown a::before {
	border-color: #713D36;
}

.btn_blank.btn_winered a::after,
.btn_blank.btn_winered a::before {
	border-color: #D17E94 !important;
}

/* 1200px以下 */
@media screen and (max-width: 1200px) {

}/* for tablet max-width: 1200px */

/* タブレット以下 */
@media screen and (max-width: 1070px) {

}/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {
.btn_blank a::after,
.btn_blank a::before {
	right: 2vw;
	width: 2.5vw;
	height: 1.5vw;
}
.btn_blank a::before {
	transform: translate(-0.6vw,0.5vw);
}  

}/* for SP max-width: 800px */

/*===============================================================
	
	catch
	キャッチ
	
===============================================================*/
.catch {
  text-align: center;
}
.catch .inner {
  display: inline-block;
}
.catch .box {
  display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	justify-content: center;
  align-items: center;
  text-align: center;
  background: url("../images/asset/frame_catch_left.svg"), url("../images/asset/frame_catch_right.svg");
  background-repeat: no-repeat;
  background-position: left center, right center;
  -webkit-background-size: contain, contain;
  height: 120px;
  padding: 0 80px;
}
.catch p {
	font-size: 24px;
  line-height: 1.5;
}
.catch .title {
	font-size: 35px;
	line-height: 1.5;
	font-weight: 500;
}
.catch .title .color {
  color: #D79B00;
}
.catch .red {
  color: #ff0000;
}
.catch + * {
	margin-top: 60px;
}

/* タブレット以下 */
@media screen and (max-width: 1070px) {
.catch p {
	font-size: 20px;
}  

}	/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {
.catch {
}
.catch .inner {
  display: block;
}  
.catch .box {
  height: 20vw;
  padding: 0 10vw;
}
.catch p {
	font-size: 3.5vw;
}
.catch .title {
	font-size: 5vw;
}
.catch + * {
	margin-top: 6vw;
}  
  
}	/* for SP max-width: 800px */

/*===============================================================
	
	headline
	見だし
	
===============================================================*/
.headline {
}
.headline .title {
  color: #D79B00;
	font-size: 30px;
	line-height: 1.5;
	font-weight: 500;
  padding-bottom: 15px;
  border-bottom: 1px solid #D79B00;
}
.headline .title .s {
	font-size: 20px;
  margin-left: 10px;
}
.headline + * {
	margin-top: 40px;
}
.headline_center .title {
  color: #D79B00;
	font-size: 30px;
	line-height: 1.5;
	font-weight: 500;
  text-align: center;
}
.headline_center + * {
	margin-top: 40px;
}
.headline_en .en {
  color: #eee;
	font-size: 120px;
	line-height: 1;
  text-align: center;
}
.headline_en .title {
  color: #D79B00;
	font-size: 35px;
	line-height: 1;
	font-weight: 500;
  text-align: center;
  /*letter-spacing: .1em;*/
  margin-top: -40px;
}
.headline_en + * {
	margin-top: 60px;
}

/* タブレット以下 */
@media screen and (max-width: 1070px) {

}	/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {
.headline .title {
	font-size: 5.5vw;
  padding-bottom: 2vw;
}
.headline .title .s {
	font-size: 4vw;
  margin-left: 2vw;
} 
.headline + * {
	margin-top: 6vw;
}
.headline_center .title {
  font-size: 5.5vw;
} 
.headline_center + * {
	margin-top: 6vw;
}
.headline_en .en {
	font-size: 12vw;
}
.headline_en .title {
	font-size: 6vw;
  margin-top: -4vw;
}
.headline_en + * {
	margin-top: 6vw;
}
  
}	/* for SP max-width: 800px */


/*===============================================================
	
	subhead
	小見出し
	
===============================================================*/

/* タブレット以下 */
@media screen and (max-width: 1070px) {

}	/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {

}	/* for SP max-width: 800px */


/*===============================================================
	
	section
	headlineとcontentなど、複数の要素、機能を取りまとめるコンテナ的な親要素。
	幅はsection_innerに記述する
	
===============================================================*/
.section_wrp {
  overflow: hidden;
}
.section {
	width:100%;
}
.section_inner {
	margin:0 auto;
	padding-top: 100px;
	padding-bottom: 140px;
	padding-left: 0;
	padding-right: 0;
	box-sizing: border-box;
}
.section_inner2 {
	margin:0 auto;
	padding-top: 70px;
	padding-bottom: 70px;
	padding-left: 0;
	padding-right: 0;
	box-sizing: border-box;
}
.section_inner3 {
	margin:0 auto;
	padding-top: 30px;
	padding-bottom: 70px;
	padding-left: 0;
	padding-right: 0;
	box-sizing: border-box;
}

/* タブレット以下 */
@media screen and (max-width: 1300px) {
.section_inner {
	padding-left: 50px;
	padding-right: 50px;
}
.section_inner2 {
	padding-left: 50px;
	padding-right: 50px;
}
.section_inner3 {
	padding-left: 50px;
	padding-right: 50px;
}

}	/* for tablet max-width: 1070px */

/* タブレット以下 */
@media screen and (max-width: 1070px) {
.section_inner {
	padding-left: 30px;
	padding-right: 30px;
}
.section_inner2 {
	padding-left: 30px;
	padding-right: 30px;
}
.section_inner3 {
	padding-left: 30px;
	padding-right: 30px;
}

}	/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {
.section_inner {
	margin:0 auto;
	padding: 10vw 5vw;
}
.section_inner2 {
	margin:0 auto;
	padding: 10vw 5vw;
}
.section_inner3 {
	margin:0 auto;
	padding: 2vw 5vw;
}

}	/* for SP max-width: 800px */


/*===============================================================
	
	content 
	個別のコンテンツ
	
===============================================================*/
.content {
}
.content + .content {
	margin-top: 100px;
}
.content p {
	font-size: 18px;
  line-height: 2;
  font-weight: 300;
}
.content p + p {
	margin-top: 20px;
}
.content p .l {
	font-size: 20px;
  font-weight: 400;
}

/* タブレット以下 */
@media screen and (max-width: 1070px) {
.content {
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
}
.content p {
	font-size: 16px;
}

}	/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {
.content {
}
.content + .content {
	margin-top: 10vw;
}
.content p {
	font-size: 4vw;
  line-height: 1.8;
}
.content p + p {
	margin-top: 4vw;
}
.content p .l {
	font-size: 4vw;
}  
  
}	/* for SP max-width: 800px */

/*===============================================================
	
	modal 2020/11/10
		
===============================================================*/
.modal_bg {
	position: absolute;
	top: 0;
	left: 0;
	background: #000;
	display: none;
	z-index: 9998;
}
.modal {
	position: absolute;
	top: 0;
	left: 0;
	width: 900px;
	display: none;
	z-index: 9999;
	-webkit-transition: top 0.2s linear, left 0.1s linear;
	transition: top 0.2s linear, left 0.1s linear;
	color: #fff;
}
.modal .close {
	position: absolute;
	width: 50px;
	height: 50px;
	top: 0;
	right: 0;
	text-indent: 100%;
	overflow: hidden;
	white-space: nowrap;
	cursor: pointer;
	z-index: 9999;
  transition: .1s linear;
}
.modal .close:before ,
.modal .close:after {
	content: "";
	position: absolute;
	width: 40px;
	height: 1px;
	background: #fff;
	top: 25px;
	right: 5px;
}
.modal .close:before {
	transform: rotate(45deg);
}
.modal .close:after {
	transform: rotate(-45deg);
}
.modal .close:hover {
	opacity: 0.5;
}
.modal .modal_container {
	padding: 0;
	position: relative;
}
.modal .modal_contents_wrp {
	position: relative;
	padding: 50px;
	width: 100%;
	height: 100%;
	box-sizing: border-box;
}
.modal .modal_inner {
	padding: 50px;
  background: #fff;
}
.modal .modal_contents_wrp::-webkit-scrollbar {
	display: none;
}
/* タブレット以下 */
@media screen and (max-width: 1070px) {

} /* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～900px */
@media only screen and (max-width: 900px) {
.modal {
	width: 100%;
}
.modal .modal_contents_wrp {
	padding: 5vw;
}
.modal .modal_inner {
  padding: 5vw;
}
.modal .close {
	top: -3vw;
	right: 5vw;
	width: 8vw;
	height: 8vw;
}
.modal .close:before ,
.modal .close:after {
	width: 8vw;
	height: 1px;
	top: 4vw;
	right: 0;
}
} /* for SP max-width: 900px */

/*-------------------------------------------------------------
	.modal_content
-------------------------------------------------------------*/
.modal .modal_container .modal_content p {
  color: #333;
	font-size: 16px;
	line-height: 1.8;
  font-weight: 300;
  text-align: center;
  margin-top: 20px;
}
.modal .modal_container .modal_content .year {
  font-weight: 400;
  margin-right: 15px;
}

/* タブレット以下 */
@media screen and (max-width: 1070px) {

} /* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {
.modal .modal_container .modal_content p {
	font-size: 4vw;
  margin-top: 2vw;
}
.modal .modal_container .modal_content .year {
  margin-right: 2vw;
}  

} /* for SP max-width: 800px */

/*===============================================================
	
	slick_slider
	
===============================================================*/
/*
.slick_slider {
	opacity: 0;
	height: 0;
	-webkit-transition: all .2s linear;
	transition: all .2s linear;
  border: 1px solid #ddd;
  box-sizing: border-box;
}
.slick-initialized {
	opacity: 1;
	height: auto;
}
*/

/* タブレット以下 */
@media screen and (max-width: 1070px) {

}/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {

}/* for SP max-width: 800px */

/*-------------------------------------------------------------
	.slick-dots
-------------------------------------------------------------*/
.slick-dotted.slick-slider {
  margin-bottom: 20px;
}
.slick-dots {
  position: static;
}
.slick-dots li {
  margin: 0;
}

/* タブレット以下 */
@media screen and (max-width: 1070px) {

}/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {
.slick-dotted.slick-slider {
  margin-bottom: 2vw;
}  

}/* for SP max-width: 800px */
/*-------------------------------------------------------------
	.slick_slider .slick-arrow
-------------------------------------------------------------*/
/* Arrows */
.slick-prev,
.slick-next {
	font-size: 0;
	line-height: 0;
	position: absolute;
	top: 50%;
	display: block;
	width: 40px;
	height: 40px;
	padding: 0;
	-webkit-transform: translate(0, -50%);
	-ms-transform: translate(0, -50%);
	transform: translate(0, -50%);
	cursor: pointer;
	color: transparent;
	border: none;
	outline: none;
	/*background: #000;*/
}
.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
	color: #000;
	outline: none;
	/*background: #000;*/
}
.slick-prev:hover:before,
.slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before {
	opacity: 1;
}
.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
	opacity: 1;
}
.slick-prev:before {
	font-family: none;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	content:'';
	position:absolute;
	top:0; bottom:0; left:0; right:0; margin:auto;
	border-right:solid 1px #333;
	border-bottom:solid 1px #333;
	width:20px;
	height:20px;
	transform: rotate(135deg);
	transition: all .1s linear;
	opacity: 1;
}
.slick-prev:hover:before {
	opacity: 0.5;
}
.slick-next:before {
	font-family: none;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	content:'';
	position:absolute;
	top:0; bottom:0; left:0; right:0; margin:auto;
	border-right:solid 1px #333;
	border-bottom:solid 1px #333;
	width:20px;
	height:20px;
	transform: rotate(-45deg);
	transition: all .1s linear;
	opacity: 1;
}
.slick-next:hover:before {
	opacity: 0.5;
}
.slick-prev {
	z-index:1001;
	left: -35px;
}
.slick-next {
	z-index:1001;
	right: -35px;
}

/* タブレット以下 */
@media screen and (max-width: 1070px) {

}	/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～900px */
@media only screen and (max-width: 900px) {	
/* Arrows */
.slick-prev,
.slick-next {
	width: 5vw;
	height: 5vw;
}
.slick-prev:before {
	width:3vw;
	height:3vw;
}
.slick-next:before {
	width:3vw;
	height:3vw;
}
.slick-prev {
	left: -4vw;
}
.slick-next {
	right: -4vw;
}  

}	/* for SP max-width: 900px */

/*===============================================================
	
	pager_txt：数字のページング
	
===============================================================*/
.pager_txt {
	position: relative;
	overflow: hidden;
	margin-top: 80px;
}
.pager_txt ul {
	display:flex;
	flex-direction:row;
	flex-wrap:wrap;
	justify-content:center;
}
.pager_txt ul li {
	padding: 0 10px;
}
.pager_txt li a {
	display:block;
	margin:0 auto;
	text-decoration:none;
	text-align:center;
	font-weight:bold;
	font-size:18px;
	line-height:60px;
	color:#EB7494;
	border:solid 1px #EB7494;
	border-radius: 30px;
}
.pager_txt li.to_list a {
	width: 200px;
}
.pager_txt li.prev a,
.pager_txt li.next a {
	width: 60px;
	position: relative;
	white-space: nowrap;
	overflow: hidden;
	text-indent: 100%;
}
.pager_txt li.prev a::after,
.pager_txt li.next a::after {
	content:'';
	position:absolute;
	top: 0; bottom: 0; left: 0; right: 0;
	margin: auto;
	border:solid 1px #EB7494;
	width:10px;
	height:10px;
	border-top:none;
	border-left:none;
	transform: rotate(135deg) translate(-1px,-1px);
	transition: all 0.3s;
}
.pager_txt li.next a::after {
	transform: rotate(-45deg) translate(-1px,-1px);
}
.pager_txt li a:hover {
	background:rgba(235,116,148,0.1);
}


/* タブレット以下 */
@media screen and (max-width: 1070px) {
.pager_txt {
	margin-top: 8vw;
}
.pager_txt ul li {
	padding: 0 1vw;
}
.pager_txt li a {
	width:5.61vw;
	font-size:1.68vw;
	line-height:5.61vw;
}
.pager_txt li.prev a,
.pager_txt li.next a {
	width:5.61vw;
}
}	/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {
.pager_txt {
	margin-top: 8vw;
}
.pager_txt ul {
}
.pager_txt ul li {
	padding: 0 1.25vw;
}
.pager_txt li a {
	font-size:4vw;
	line-height:10vw;
	width:10vw;
}
.pager_txt li.to_list a {
	width: 40vw;
}
.pager_txt li.prev a,
.pager_txt li.next a {
	width:10vw;
}
.pager_txt li.prev a::after,
.pager_txt li.next a::after {
	width:8px;
	height:8px;
}
}	/* for SP max-width: 800px */

/*===============================================================
	
	mainvisual
	
===============================================================*/
.mainvisual {
  position: relative;
  width: 100%;
  height: 65vw;
}
.mainvisual:after {
  content: '';
  position: absolute;
  z-index: 1;
  bottom: 0;
  right: 0;
  width: 50%;
  height: 44.4444%;
  background: url("../images/bg_pattern_01.jpg") repeat center center / 250px 444px;
}
.mainvisual .img {
  position: relative;
  z-index: 2;
  width: 70%;
}
.mainvisual .txt {
  position: absolute;
  z-index: 2;
  top: 11vw;
  right: 3.5vw;
  width: 46.4285%;
  padding: 3.8vw 6vw;
  background: url("../images/visual/frame_read.svg") no-repeat center / contain;
}
.mainvisual .txt .read {
  font-size: 2.8vw;
  line-height: 1.5;
  letter-spacing: .15em;
}
.mainvisual .txt .en {
  position: relative;
  display: inline-block;
  color: #D79B00;
  font-size: 2vw;
  line-height: 1;
  letter-spacing: .12em;
  margin-top: 1.5vw;
}
.mainvisual .txt .en:after {
  content: '';
  position: absolute;
  top: 0; bottom: 0;
  right: -7vw;
  margin: auto;
  width: 6vw;
  height: 1px;
  background: #D79B00;
}
.mainvisual .name {
  position: absolute;
  z-index: 2;
  bottom: 3.5vw;
  right: 0;
  color: #aaa;
  font-size: 10vw;
  line-height: 1;
}

/* 1200px以下 */
@media screen and (max-width: 1200px) {

}/* for tablet max-width: 1200px */

/* タブレット以下 */
@media screen and (max-width: 1070px) {
.mainvisual .txt {
  top: 14vw;
}  

}/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {
.mainvisual {
  height: 125vw;
}  
.mainvisual:after {
  height: 30%;
  background: url("../images/bg_pattern_01.jpg") repeat center center / 125px 222px;
}
.mainvisual .img {
  width: 80%;
  padding-top: 48vw;
}  
.mainvisual .txt {
  top: 5vw;
  right: 5%;
  width: 90%;
  padding: 6vw 10vw;
}
.mainvisual .txt .read {
  font-size: 5.8vw;
}
.mainvisual .txt .en {
  font-size: 4.5vw;
  margin-top: 3vw;
}
.mainvisual .name {
  bottom: 7vw;
}  

}/* for SP max-width: 800px */

/*===============================================================
	
	subvisual
	
===============================================================*/
.subvisual {
  text-align: center;
  padding: 145px 0 100px;
  box-sizing: border-box;
  background: #eee;
}
/*プロフィール*/
.subvisual_profile {
  background: url("../images/visual/subvisual_profile.jpg") no-repeat center / cover;
}
/*スローセックスとは*/
.subvisual_learn {
  background: url("../images/visual/subvisual_learn.jpg") no-repeat center / cover;
}
/*プライベート講習*/
.subvisual_traning {
  background: url("../images/visual/subvisual_traning.jpg") no-repeat center / cover;
}
/*単独男性講習の感想*/
.subvisual_man {
  background: url("../images/visual/subvisual_man.jpg") no-repeat center / cover;
}
/*カップル講習*/
.subvisual_couple {
  background: url("../images/visual/subvisual_couple.jpg") no-repeat center / cover;
}
/*受講生のスローセックスレポート*/
.subvisual_student {
  background: url("../images/visual/subvisual_student.jpg") no-repeat center / cover;
}
/*アダム徳永とのスローセックスレポート*/
.subvisual_adam {
  background: url("../images/visual/subvisual_adam.jpg") no-repeat center / cover;
}
/*女神セッションレポート*/
.subvisual_session {
  background: url("../images/visual/subvisual_session.jpg") no-repeat center / cover;
}
/*著書*/
.subvisual_work {
  background: url("../images/visual/subvisual_work.jpg") no-repeat center / cover;
}
/*メルマガ登録*/
.subvisual_mmagazine {
  background: url("../images/visual/subvisual_mmagazine.jpg") no-repeat center / cover;
}
/*スローセックス教材DVD・ストリーミング配信*/
.subvisual_dvd_streaming {
  background: url("../images/visual/subvisual_dvd_streaming.jpg") no-repeat center / cover;
}
/*会社概要*/
.subvisual_outline {
  background: url("../images/visual/subvisual_outline.jpg") no-repeat center / cover;
}
/*お問い合わせ*/
.subvisual_contact {
  background: url("../images/visual/subvisual_contact.jpg") no-repeat center / cover;
}
/*申し込みフォーム*/
.subvisual_form {
  background: url("../images/visual/subvisual_form.jpg") no-repeat center / cover;
}
/*女神覚醒セッション*/
.subvisual_session2 {
  background: url("../images/visual/subvisual_session2.jpg") no-repeat center / cover;
}
/*ジョイバー愛撫講座*/
.subvisual_movie01 {
  background: url("../images/visual/subvisual_movie01.jpg") no-repeat center / cover;
}
/*ジョイバーヒーリング講座*/
.subvisual_movie02 {
  background: url("../images/visual/subvisual_movie02.jpg") no-repeat center / cover;
}
/*セックスセラピスト一覧*/
.subvisual_sextherapist {
  background: url("../images/visual/subvisual_sextherapist.png") no-repeat center / cover;
}

.subvisual .en {
  color: rgba(255,255,255,0.8);
  font-size: 120px;
  line-height: 1;
}
.subvisual .head {
  font-size: 35px;
  line-height: 1;
  font-weight: 500;
  letter-spacing: .1em;
  margin-top: -40px;
}

/* 1200px以下 */
@media screen and (max-width: 1200px) {

}/* for tablet max-width: 1200px */

/* タブレット以下 */
@media screen and (max-width: 1070px) {

}/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {
.subvisual {
  padding: 6vw 0 10vw;
}
.subvisual .en {
  font-size: 12vw;
}
.subvisual .head {
  font-size: 6vw;
  line-height: 1.2;
  margin-top: -5vw;
}  

}/* for SP max-width: 800px */

/*===============================================================
	
	pankuzu
	
===============================================================*/
.pankuzu {
  padding: 0;
  box-sizing: border-box;
}
.pankuzu ul {
  padding: 10px 0;
}
.pankuzu li {
	display: inline-block;
  font-size: 14px;
  line-height: 1.4;
  font-weight: 300;
	padding-left: 5px;
}
.pankuzu li:first-child {
	padding-left: 0;
}
.pankuzu li a {
  position: relative;
	color: #333;
	text-decoration: none;
	padding-right: 15px;
}
.pankuzu li a:hover {
	color: #D79B00;
}
.pankuzu li a:after {
	content: '';
	position: absolute;
  top: 0; bottom: 0; right: 0;
	margin: auto;
  width: 4px;
	height: 4px;
	border-right: solid 1px #333;
	border-bottom: solid 1px #333;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

/* 1200px以下 */
@media screen and (max-width: 1300px) {
.pankuzu {
	padding: 0 50px;
}
.pankuzu ul {
	overflow-x: auto;
  overflow-y: hidden;
  white-space: nowrap;
}
/*スクロールバー全体*/
.pankuzu ul::-webkit-scrollbar {
	height: 2px;
}
/*スクロールバーの軌道*/
.pankuzu ul::-webkit-scrollbar-track {
  background: #eee;
}
/*スクロールバーの動く部分*/
.pankuzu ul::-webkit-scrollbar-thumb {
  background-color: #ccc;
}   

}/* for tablet max-width: 1200px */

/* タブレット以下 */
@media screen and (max-width: 1070px) {
.pankuzu {
	padding: 0 30px;
}  

}	/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {
.pankuzu {
	padding: 0 5vw;
}
.pankuzu ul {
  padding: 3vw 0;
}  
.pankuzu li {
	display: inline-block;
  font-size: 3.5vw;
	padding-left: 1.5vw;
}
.pankuzu li a {
	padding-right: 3vw;
}
.pankuzu li a:after {
  width: 1.5vw;
	height: 1.5vw;
} 

}	/* for SP max-width: 800px */

/*===============================================================
	
	section_intro
	
===============================================================*/

/* 1200px以下 */
@media screen and (max-width: 1200px) {

}/* for tablet max-width: 1200px */

/* タブレット以下 */
@media screen and (max-width: 1070px) {

}/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {

}/* for SP max-width: 800px */

/*-------------------------------------------------------------
	content_intro	
-------------------------------------------------------------*/
.content_intro {
}
.content_intro .item {
  display: flex;
	flex-direction: column;
}
.content_intro .item .img {
  min-height: 0%;
}
.content_intro .item .txt {
  margin: 20px 0 20px;
}
.content_intro .item .txt .head {
  font-size: 22px;
  line-height: 1.5;
  font-weight: 500;
  text-align: center;
}
.content_intro .item .txt p {
  font-size: 16px;
  line-height: 1.8;
  margin-top: 10px;
}
.content_intro .item .btn_detail {
  width: 240px;
  margin-top: auto;
}

/* 1200px以下 */
@media screen and (max-width: 1200px) {
.content_intro .item .btn_detail {
  width: 90%;
}  

}/* for tablet max-width: 1200px */

/* タブレット以下 */
@media screen and (max-width: 1070px) {
.content_intro .item .btn_detail {
  width: 240px;
}  

}/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {
.content_intro .item {
}
.content_intro .item:nth-child(1) {
  padding-top: 0;
  border-top: none;
}
.content_intro .item .txt {
  margin: 4vw 0 4vw;
}
.content_intro .item .txt .head {
  font-size: 5vw;
}
.content_intro .item .txt p {
  font-size: 4vw;
  margin-top: 1vw;
}
.content_intro .item .btn_detail {
  width: 100%;
}  

}/* for SP max-width: 800px */

/*===============================================================
	
	section_greeting
	
===============================================================*/
.section_greeting .section_inner {
  padding-top: 0;
}
.section_greeting .content + .content {
  margin-top: 140px;
}

/* 1200px以下 */
@media screen and (max-width: 1200px) {

}/* for tablet max-width: 1200px */

/* タブレット以下 */
@media screen and (max-width: 1070px) {

}/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {
.section_greeting .content + .content {
  margin-top: 10vw;
}  

}/* for SP max-width: 800px */

/*-------------------------------------------------------------
	content_greeting	
-------------------------------------------------------------*/
.content_greeting {
  position: relative;
  display: flex;
	flex-direction: row-reverse;
	flex-wrap: wrap;
	justify-content: space-between;
}
.content_greeting:nth-child(even) {
	flex-direction: row;
}
.content_greeting:nth-child(1):after {
  content: '';
  position: absolute;
  z-index: 1;
  top: 0; left: 0;
  width: 50vw;
  height: 100%;
  background: url("../images/bg_pattern_01.jpg") repeat center / 250px 444px;
  margin-left: calc(50% - 50vw);
}
.content_greeting .img {
  position: relative;
  z-index: 2;
  width: 39%;
}
.content_greeting:nth-child(1) .img img {
  transform: scale(1.2);
  transform-origin: left bottom;
  position: absolute;
  bottom: 0;
}
.content_greeting:nth-child(2) .img {
  transform: translateX(-50px);
}
.content_greeting .txt {
  position: relative;
  z-index: 2;
  width: 60%;
}
.content_greeting:nth-child(1) .txt {
  padding-bottom: 100px;
}
.content_greeting:nth-child(1) .txt .title {
  font-size: 35px;
  margin-top: -50px;
}
.content_greeting:nth-child(1) .txt .en {
  color: #fff;
  font-size: 120px;
  line-height: 1;
  margin-top: -5px;
  margin-left: -100px;
}
.content_greeting:nth-child(2) .txt {
  /*margin-top: 50px;*/
}

/* 1200px以下 */
@media screen and (max-width: 1200px) {
.content_greeting:nth-child(1) .txt .en {
  margin-left: -50px;
}

}/* for tablet max-width: 1200px */

/* タブレット以下 */
@media screen and (max-width: 1070px) {
.content_greeting .img {
  width: 29%;
}
.content_greeting .txt {
  width: 70%;
}  

}/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {
.content_greeting {
}
.content_greeting:nth-child(1):after {
  display: none;
}
.content_greeting .img {
  position: relative;
  z-index: 2;
  width: 70%;
}
.content_greeting:nth-child(1) .img {
  margin-left: 0;
  margin-right: auto;
}  
.content_greeting:nth-child(1) .img img {
  transform: none;
  position: relative;
  margin-top: 6vw;
}
.content_greeting:nth-child(1) .img:after {
  content: '';
  position: absolute;
  z-index: -1;
  top: 0; left: auto; right: -60vw;
  margin: auto;
  width: 80vw;
  height: 80%;
  background: url("../images/bg_pattern_01.jpg") repeat center / 125px 222px; margin-left: calc(50% - 50vw);
}  
.content_greeting:nth-child(2) .img {
  transform: none;
  margin-left: auto;
  margin-right: 0;
}
.content_greeting:nth-child(2) .img img {
  margin-top: 6vw;
}
.content_greeting:nth-child(2) .img:after {
  content: '';
  position: absolute;
  z-index: -1;
  top: 0; left: -60vw; right: auto;
  margin: auto;
  width: 80vw;
  height: 80%;
  background: url("../images/bg_pattern_01.jpg") repeat center / 125px 222px; margin-right: calc(50% - 50vw);
}  
.content_greeting .txt {
  position: relative;
  z-index: 2;
  width: 100%;
  margin-top: 6vw;
}
.content_greeting:nth-child(1) .txt {
  padding-bottom: 0;
}  
.content_greeting .txt .title {
  font-size: 5.5vw;
  margin-top: 0;
}
.content_greeting:nth-child(1) .txt .title {
  font-size: 5.5vw;
  margin-top: -6vw;
}  
.content_greeting:nth-child(1) .txt .en {
  color: #eee;
  font-size: 12vw;
  margin-left: 0;
  margin-top: 0;
} 
.content_greeting:nth-child(2) .txt {
  margin-top: 6vw;
}  

}/* for SP max-width: 800px */

/*-------------------------------------------------------------
	content_model	
-------------------------------------------------------------*/
.content_model {
  position: relative;
  z-index: 2;
  display: flex;
	flex-direction: row-reverse;
	flex-wrap: wrap;
	justify-content: space-between;
}
.content_model:after {
  content: '';
  position: absolute;
  z-index: 1;
  top: 0; right: 0;
  width: 25vw;
  height: 480px;
  background: url("../images/bg_pattern_01.jpg") repeat center / 250px 444px;
  margin-right: calc(50% - 50vw);
}
.content_model .img {
  position: relative;
  z-index: 2;
  width: 31.66%;
  transform: scale(1.26315);
  transform-origin: left top;
}
.content_model .img img {
  position: relative;
  z-index: 2;
  margin-top: 80px;
}
.content_model .txt {
  position: relative;
  z-index: 2;
  width: 62.5%;
  padding: 40px 40px 50px;
  margin-top: 50px;
  background: #FFF6F5;
  border: 1px solid #E97594;
}
.content_model .txt .head {
  color: #E97594;
  font-size: 30px;
  line-height: 1.5;
  font-weight: 500;
  text-align: center;
}
.content_model .txt p {
  font-size: 16px;
  line-height: 1.8;
  margin-top: 20px;
}
.content_model .txt p a {
  color: #E97594;
}
.content_model .txt p a:hover {
  text-decoration: underline;
}
.content_model .txt .s {
  font-size: 14px;
  text-align: right;
}

/* 1200px以下 */
@media screen and (max-width: 1200px) {

}/* for tablet max-width: 1200px */

/* タブレット以下 */
@media screen and (max-width: 1070px) {
.content_model:after {
  width: 20vw;
}  
.content_model .img {
  width: 24%;
}
.content_model .txt {
  width: 70%;

}  
 

}/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) { 
.content_model {
}
.content_model:after {
  display: none;
}
.content_model .img {
  position: relative;
  z-index: 2;
  width: 70%;
  margin-left: 0;
  margin-right: auto;
  transform: none;
}
.content_model .img:after {
  content: '';
  position: absolute;
  z-index: -1;
  top: 0; left: auto; right: -60vw;
  margin: auto;
  width: 80vw;
  height: 80%;
  background: url("../images/bg_pattern_01.jpg") repeat center / 125px 222px;
  margin-left: calc(50% - 50vw);
}
.content_model .img img {
  transform: none;
  margin-top: 6vw;
}
.content_model .txt {
  width: 100%;
  padding: 4vw 4vw 5vw;
  margin-top: 6vw;
}
.content_model .txt .head {
  font-size: 5vw;
}
.content_model .txt p {
  font-size: 4vw;
  margin-top: 2vw;
}
.content_model .txt .s {
  font-size: 3.5vw;
}  

}/* for SP max-width: 800px */

/*-------------------------------------------------------------
	content_topbnr	
-------------------------------------------------------------*/
.content_topbnr {
}
.content_topbnr .img {
  position: relative;
}
.content_topbnr .img:after {
  content: '';
  position: absolute;
  z-index: -1;
  top: 90px; right: 500px;
  width: 50vw;
  height: 390px;
  background: url("../images/bg_pattern_01.jpg") repeat center / 250px 444px;
}

/* 1200px以下 */
@media screen and (max-width: 1200px) {

}/* for tablet max-width: 1200px */

/* タブレット以下 */
@media screen and (max-width: 1070px) {

}/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {
.content_topbnr .img {
  margin: 0 calc(50% - 50vw) 0;
}  
.content_topbnr .img:after {
  display: none;
} 

}/* for SP max-width: 800px */

/*===============================================================
	
	section_university
	
===============================================================*/
.section_university {
  position: relative;
  z-index: 1;
  background: url("../images/top/bg_university.jpg") no-repeat center / cover;
}

/* 1200px以下 */
@media screen and (max-width: 1200px) {

}/* for tablet max-width: 1200px */

/* タブレット以下 */
@media screen and (max-width: 1070px) {

}/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {

}/* for SP max-width: 800px */


/*-------------------------------------------------------------
	content_university	
-------------------------------------------------------------*/
.content_university {
}
.content_university .flex_container {
  align-items: center;
}
.content_university .video_wrp {
}
.content_university .video_wrp video {
  width: 100%;
  vertical-align: bottom;
}
.content_university .txt {
  text-align: center;
}
.content_university .txt .head {
  color: #713D36;
  font-size: 46px;
  line-height: 1;
  font-weight: 700;
  background: url("../images/top/frame_leaf_left.svg"), url("../images/top/frame_leaf_right.svg");
  background-repeat: no-repeat;
  background-position: center left, center right;
  background-size: contain;
  padding: 10px 0 30px;
}
.content_university .txt .head .ja {
  display: inline-block;
  font-size: 28px;
  font-weight: 500;
  padding-left: 46px;
  background: url("../images/asset/sns_icon_youtube_darkbrown.svg") no-repeat top 2px left / 36px auto;
  padding-bottom: 10px;
}
.content_university .txt p {
  font-weight: 400;
  margin-top: 10px;
}
.content_university .txt .btn_detail {
  margin-top: 20px;
}

/* 1200px以下 */
@media screen and (max-width: 1200px) {
.content_university .txt .head {
  font-size: 3.5vw;
  padding: 10px 0 30px;
}
.content_university .txt .head .ja {
  font-size: 2.1vw;
  padding-left: 3.5vw;
  background: url("../images/asset/sns_icon_youtube_darkbrown.svg") no-repeat top 0.1vw left / 3vw auto;
}   

}/* for tablet max-width: 1200px */

/* タブレット以下 */
@media screen and (max-width: 1070px) {

}/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {
.content_university .txt .head {
  font-size: 7.5vw;
  padding: 1vw 0 4vw;
  letter-spacing: -0.02em;
}
.content_university .txt .head .ja {
  font-size: 4.6vw;
  padding-left: 6.5vw;
  background: url("../images/asset/sns_icon_youtube_darkbrown.svg") no-repeat top 0.2vw left / 5.5vw auto;
  padding-bottom: 1vw;
}  
.content_university .txt p {
  text-align: left;
  margin-top: 4vw;
}
.content_university .txt .btn_detail {
  margin-top: 4vw;
}  

}/* for SP max-width: 800px */


/*===============================================================
	
	section_movie
	
===============================================================*/


/* PC向けレイアウトの指定 */
@media only screen and (min-width:761px){
	.section_movie {
	  background: url("../images/top/bg_otokojuku.jpg") no-repeat center / cover;
/*		padding-top:100px;*/
		padding-bottom:100px;
	}
	.section_movie .video_wrp01 img {
	  vertical-align: bottom;
		width: 320px;
		margin-top:50px;
		padding-left:10px;
	}
	.section_movie .video_wrp02 img {
	  vertical-align: bottom;
		width: 440px;
		margin-top:50px;
		padding-right:60px;
	}
	.section_movie p {
		margin-top:30px;
		margin-bottom:0px;
	}
}
/* SP向けレイアウトの指定 */
@media only screen and (max-width:760px){
	.section_movie {
	  background: url("../images/top/bg_otokojuku.jpg") no-repeat center / cover;
		padding-bottom:50px;
	}
	.section_movie .video_wrp01 img {
		margin-top:20px;
		margin-left:2%;
		margin-right:2%;
	  width: 96%;
		height: 100%;
	}
	.section_movie .video_wrp02 img {
		margin-top:20px;
		margin-left:2%;
		margin-right:2%;
	  width: 96%;
		height: 100%;
	}
	.section_movie p {
		margin-left:4%;
		margin-right:4%;
		margin-top:20px;
		margin-bottom:10px;
	}
	.video_wrp01 video {
		margin-top:20px;
		margin-left:2%;
		margin-right:2%;
	  width: 96%;
		height: 100%;
	}
	.video_wrp02 video {
		margin-top:20px;
		margin-left:2%;
		margin-right:2%;
	  width: 96%;
		height: 100%;
	}
}



/*===============================================================
	
	section_music
	
===============================================================*/
.section_music {
  background: url("../images/top/bg_music.jpg") no-repeat center / cover;
}

/* 1200px以下 */
@media screen and (max-width: 1200px) {

}/* for tablet max-width: 1200px */

/* タブレット以下 */
@media screen and (max-width: 1070px) {

}/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {

}/* for SP max-width: 800px */


/*-------------------------------------------------------------
	content_music	
-------------------------------------------------------------*/
.content_music {
}
.content_music .flex_container {
  align-items: center;
}
.content_music .video_wrp {
}
.content_music .video_wrp video {
  width: 100%;
  vertical-align: bottom;
}
.content_music .txt {
  text-align: center;
}
.content_music .txt .head {
  color: #9F2446;
  font-size: 35px;
  line-height: 1;
  font-weight: 500;
}
.content_music .txt .head .en {
  display: block;
  color: #ED7797;
  font-size: 60px;
}
.content_music .txt p {
  font-weight: 400;
  margin-top: 40px;
}


/* 1200px以下 */
@media screen and (max-width: 1200px) {
.content_music .txt .head {
  font-size: 3vw;
}
.content_music .txt .head .en {
  font-size: 5.5vw;
}  

}/* for tablet max-width: 1200px */

/* タブレット以下 */
@media screen and (max-width: 1070px) {

}/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {
.content_music .txt .head {
  font-size: 6vw;
}
.content_music .txt .head .en {
  font-size: 10vw;
}  
.content_music .txt p {
  text-align: left;
  margin-top: 4vw;
}  

}/* for SP max-width: 800px */

/*===============================================================
	
	section_topic
	
===============================================================*/
.section_topic {
}

/* 1200px以下 */
@media screen and (max-width: 1200px) {

}/* for tablet max-width: 1200px */

/* タブレット以下 */
@media screen and (max-width: 1070px) {

}/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {

}/* for SP max-width: 800px */

/*-------------------------------------------------------------
	content_topic	
-------------------------------------------------------------*/
.content_topic {
  
}
.content_topic .flex_container_mt0 {
  margin-top: -80px;
}
.content_topic .item {
  margin-top: 80px;
}
.content_topic .item .head {
  font-size: 25px;
  line-height: 1.5;
  font-weight: 500;
}
.content_topic .item .head .s {
  font-size: 16px;
}
.content_topic .item ul {
  margin-top: 20px;
  border-top: 1px solid #ddd;
}
.content_topic .item li {
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  font-size: 16px;
  line-height: 1.8;
  font-weight: 300;
  padding: 20px 0;
  border-bottom: 1px solid #ddd;
}
.content_topic .item li a {
  color: #333;
  text-decoration: none;
}
.content_topic .item li a:hover {
  color: #D79B00;
}

/* 1200px以下 */
@media screen and (max-width: 1200px) {
 

}/* for tablet max-width: 1200px */

/* タブレット以下 */
@media screen and (max-width: 1070px) {

}/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {
.content_topic .flex_container_mt0 {
  margin-top: -8vw;
}
.content_topic .item {
  margin-top: 8vw;
}
.content_topic .item .head {
  font-size: 4.5vw;
}
.content_topic .item .head .s {
  font-size: 3.5vw;
}
.content_topic .item ul {
  margin-top: 4vw;
}
.content_topic .item li {
  font-size: 4vw;
  padding: 3vw 0;
}

}/* for SP max-width: 800px */


/*===============================================================
	
	section_work
	
===============================================================*/
.section_work {
}

/* 1200px以下 */
@media screen and (max-width: 1200px) {

}/* for tablet max-width: 1200px */

/* タブレット以下 */
@media screen and (max-width: 1070px) {

}/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {

}/* for SP max-width: 800px */

/*-------------------------------------------------------------
	content_work	
-------------------------------------------------------------*/
.content_work .flex_container_mt0 {
  margin-top: -100px;
}
.content_work .item {
  display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
  margin-top: 100px;
}
.content_work .item .inner {
  display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
  align-items: flex-start;
}
.content_work .item .img {
  width: 33.5%;
  border: 1px solid #ddd;
  box-sizing: border-box;
}
.content_work .item .txt {
  width: 62%;
}
.content_work .item .txt .head {
  font-size: 25px;
  line-height: 1.5;
  font-weight: 500;
  padding-bottom: 10px;
  border-bottom: 1px solid #333;
}
.content_work .item .txt .head .s {
  font-size: 16px;
  margin-left: 5px;
}
.content_work .item .txt p {
  font-size: 16px;
  line-height: 1.8;
  margin-top: 20px;
}
.content_work .item .txt p + p {
  margin-top: 10px;
}
.content_work .item .txt .btn_detail {
  margin-top: 30px;
} 

/* 1200px以下 */
@media screen and (max-width: 1200px) {
.content_work .item .txt .head .s {
  /*display: block;
  margin-left: 0;*/
}  

}/* for tablet max-width: 1200px */

/* タブレット以下 */
@media screen and (max-width: 1070px) {

}/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {
.content_work .flex_container_mt0 {
  margin-top: -8vw;
}
.content_work .item {
  margin-top: 8vw;
}  
.content_work .item .img {
  width: 50%;
  margin: 0 auto;
}  
.content_work .item .txt {
  width: 100%;
  margin-top: 6vw;
}  
.content_work .item .txt .head {
  font-size: 5vw;
  padding-bottom: 2vw;
}
.content_work .item .txt .head .s {
  font-size: 4vw;
}
.content_work .item .txt p {
  font-size: 4vw;
  margin-top: 3vw;
}
.content_work .item .txt p + p {
  margin-top: 2vw;
}  
.content_work .item .txt .btn_detail {
  margin-top: 4vw;
}
.content_work .flex_container + .btn_detail {
  margin-top: 6vw;
}  

}/* for SP max-width: 800px */

/*===============================================================
	
	section_otokojuku
	
===============================================================*/
.section_otokojuku {
  background: url("../images/top/bg_otokojuku.jpg") no-repeat center / cover;
}

/* 1200px以下 */
@media screen and (max-width: 1200px) {

}/* for tablet max-width: 1200px */

/* タブレット以下 */
@media screen and (max-width: 1070px) {

}/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {

}/* for SP max-width: 800px */

/*-------------------------------------------------------------
	content_otokojuku	
-------------------------------------------------------------*/
.content_otokojuku .txt {
  text-align: center;
}
.content_otokojuku .flex_container {
  align-items: center;
}
.content_otokojuku .txt .head {
  width: auto;
  max-width: 490px;
  margin: 0 auto;
}
.content_otokojuku .txt .read {
  color: #E40011;
  font-size: 25px;
  line-height: 1.5;
  font-weight: 500;
  margin-top: 30px;
}
.content_otokojuku .txt p {
  font-weight: 400;
  margin-top: 10px;
}
.content_otokojuku .txt .btn_detail {
  margin-top: 30px;
} 

/* 1200px以下 */
@media screen and (max-width: 1200px) {

}/* for tablet max-width: 1200px */

/* タブレット以下 */
@media screen and (max-width: 1070px) {

}/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {
.content_otokojuku .txt .head {
  max-width: 80%;
}  
.content_otokojuku .txt .read {
  font-size: 5vw;
  margin-top: 6vw;
}
.content_otokojuku .txt p {
  text-align: left;
  margin-top: 1vw;
}
.content_otokojuku .txt .btn_detail {
  margin-top: 4vw;
}  

}/* for SP max-width: 800px */

/*===============================================================
	
	section_sns
	
===============================================================*/
.section_sns {
}

/* 1200px以下 */
@media screen and (max-width: 1200px) {

}/* for tablet max-width: 1200px */

/* タブレット以下 */
@media screen and (max-width: 1070px) {

}/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {

}/* for SP max-width: 800px */

/*-------------------------------------------------------------
	content_sns	
-------------------------------------------------------------*/
.content_sns .flex_container {
  align-items: center;
}
.content_sns .twitter_widget iframe {
  width: 100% !important;
  height: 365px !important;
  box-sizing: border-box;
}
.content_sns.timeline {
	max-width: 100% !important;
	width: 100% !important;
	box-sizing: border-box;
}
.content_sns .txt {
  text-align: right;
}
.content_sns .txt .head {
  color: #D79B00;
  font-size: 26px;
  line-height: 1.5;
  font-weight: 500;
  text-align: center;
}
.content_sns .txt .btns .btn_detail {
  width: 100%;
  max-width: 100%;
  margin-top: 30px;
}
.content_sns .txt .btns .btn_detail a {
  padding: 20px 0;
}
.content_sns .txt .btns .btn_twitter a {
  background-image: url("../images/asset/sns_icon_twitter_brown.svg");
  background-repeat: no-repeat;
  background-position: right 15px center;
  background-size: 26px auto;
}
.content_sns .txt .btns .btn_facebook a {
  background-image: url("../images/asset/sns_icon_facebook_brown.svg");
  background-repeat: no-repeat;
  background-position: right 23px center;
  background-size: auto 26px;
}
/*2行ver*/
/*
.content_sns .txt .btns .btn_youtube a {
  background-image: url("../images/asset/sns_icon_youtube_brown.svg");
  background-repeat: no-repeat;
  background-position: right 15px center;
  background-size: 26px auto;
  padding: 10px 0;
}
*/
/*長体ver*/
.content_sns .txt .btns .btn_youtube a {
  background-image: url("../images/asset/sns_icon_youtube_brown.svg");
  background-repeat: no-repeat;
  background-position: right 15px center;
  background-size: 26px auto;
  text-align: left;
}
.content_sns .txt .btns .btn_youtube a span {
  display: block;
  transform: scale(0.90, 1);
  padding-left: 1em;
}
.content_sns .txt .facebook_like {
  height: 20px;
  margin-top: 30px;
  overflow: hidden;
}
.content_sns .txt .facebook_like iframe {
  width: 135px;
  height: 20px;
}

/* 1200px以下 */
@media screen and (max-width: 1200px) {

}/* for tablet max-width: 1200px */

/* タブレット以下 */
@media screen and (max-width: 1070px) {
.content_sns .txt .btns .btn_youtube a span {
  padding-left: 0.75em;
}  

}/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {
.content_sns .twitter_widget iframe {
  height: 100vw !important;
}   
.content_sns .txt .head {
  font-size: 5vw;
}
.content_sns .txt .btns .btn_detail {
  margin-top: 4vw;
}
.content_sns .txt .btns .btn_detail a {
  padding: 4vw 0;
}
.content_sns .txt .btns .btn_twitter a {
  background-position: right 2vw center;
  background-size: 4vw auto;
}
.content_sns .txt .btns .btn_facebook a {
  background-position: right 3.5vw center;
  background-size: auto 4vw;
}
/*2行ver*/  
/*
.content_sns .txt .btns .btn_youtube a {
  background-position: right 2vw center;
  background-size: 4vw auto;
  line-height: 1.2;
  padding: 2vw 0;
}
*/
/*長体ver*/  
.content_sns .txt .btns .btn_youtube a {
  background-position: right 2vw center;
  background-size: 4vw auto;
}
.content_sns .txt .btns .btn_youtube a span {
  padding-left: 0.6em;
}  
.content_sns .txt .facebook_like {
  margin-top: 4vw;
}  

.content_sns .txt .btns .btn_youtube a {
	font-size:14px;
}  

}/* for SP max-width: 800px */

/*===============================================================
	
	content_2column
	
===============================================================*/
.content_2column {
  display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
}
.content_2column .img {
  position: relative;
  width: 33.3333%;
}
.content_2column .img:after {
  content: '';
  z-index: 1;
  position: absolute;
  top: 0;
  right: -40px;
  width: 100vw;
  height: 440px;
  background: url("../images/bg_pattern_01.jpg") repeat center / 250px 444px;
}
.content_2column .img .box {
  position: relative;
  z-index: 2;
}
.content_2column .img .box img {
  margin-top: 60px;
}
.content_2column .txt {
  width: 58.3333%;
  margin-top: 60px;
}

.content_2column_r {
  flex-direction: row-reverse;
}
.content_2column_r .img:after {
  left: -40px;
  right: auto;
}
/*横長画像*/
.content_2column .img_horizon img {
  width: 125%;
  transform: translateX(-20%);
}
.content_2column .img_horizon:after {
  height: 340px;
}
.content_2column_r .img_horizon img {
  width: 125%;
  transform: none;
}
.content_2column_r .img_horizon:after {
  height: 340px;
}

/* 1200px以下 */
@media screen and (max-width: 1200px) {

}/* for tablet max-width: 1200px */

/* タブレット以下 */
@media screen and (max-width: 1070px) {
.content_2column .img:after {
  right: -3vw;
}
.content_2column .txt {
  margin-top: 40px;
}
  
.content_2column_r .img:after {
  left: -3vw;
}

}/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {
.content_2column {
  display: block;
  /*overflow: hidden;*/
}
.content_2column .img {
  width: 70%;
}
.content_2column .img:after {
  right: -60vw;
  left: auto;
  margin: auto;
  width: 80vw;
  height: 80%;
  background: url("../images/bg_pattern_01.jpg") repeat center / 125px 222px;
}
.content_2column .img .box {
}
.content_2column .img .box img {
  margin-top: 6vw;
}  
.content_2column .txt {
  width: 100%;
  margin-top: 6vw;
}

.content_2column_r .img {
  width: 70%;
  margin-left: auto;
  margin-right: 0;
}  
.content_2column_r .img:after {
  left: -60vw;
  right: auto;
}
/*横長画像*/
.content_2column .img_horizon img {
  width: 100%;
  transform: none;
}
.content_2column .img_horizon:after {
  height: 80%;
}
.content_2column_r .img_horizon img {
  width: 100%;
  transform: none;
}
.content_2column_r .img_horizon:after {
  height: 80%;
}  

}/* for SP max-width: 800px */

/*-------------------------------------------------------------
	list	
-------------------------------------------------------------*/
.content_2column .list .head {
  font-size: 20px;
  line-height: 1.5;
  padding-left: 1.7em;
  text-indent: -1.7em;
}
.content_2column .list .head .num {
  color: #D79B00;
  font-size: 30px;
  margin-right: .2em;
}
.content_2column .list * + .head {
  margin-top: 30px;
}
.content_2column .list p {
  margin-top: 5px;
}

/* 1200px以下 */
@media screen and (max-width: 1200px) {

}/* for tablet max-width: 1200px */

/* タブレット以下 */
@media screen and (max-width: 1070px) {

}/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {
.content_2column .list .head {
  font-size: 4.5vw;
}
.content_2column .list .head .num {
  font-size: 6vw;
  margin-right: 1vw;
}
.content_2column .list * + .head {
  margin-top: 6vw;
}
.content_2column .list p {
  font-size: 4vw;
  margin-top: 2vw;
}  

}/* for SP max-width: 800px */

/*===============================================================
	
	content_career
	
===============================================================*/
.content_career {

}

/* 1200px以下 */
@media screen and (max-width: 1200px) {

}/* for tablet max-width: 1200px */

/* タブレット以下 */
@media screen and (max-width: 1070px) {

}/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {

}/* for SP max-width: 800px */


/*-------------------------------------------------------------
	career	
-------------------------------------------------------------*/
.career {
  position: relative;
  display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
  align-items: flex-start;
  margin-top: 80px;
  padding-bottom: 80px;
}
.career:after {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  margin: auto;
  width: 4px;
  height: 100%;
  background: #ddd;
}
.career .item {
  position: relative;
  width: 50%;
  margin-top: 80px;
}
.career .item:before {
  content: '';
  position: absolute;
  z-index: 1;
  top: 80px; left: 0;
  background: #D7BE00;
  width: 100%;
  height: 2px;
}
.career .item:after {
  content: '';
  position: absolute;
  z-index: 1;
  top: 72px; right: -8px;
  background: #D7BE00;
  width: 16px;
  height: 16px;
  border-radius: 50%;
}
.career .item .inner {
  position: relative;
  z-index: 2;
  width: 84%;
  padding: 30px;
  box-sizing: border-box;
  background: #FFFAE2;
}
.career .item:nth-child(even):before {
  top: auto; bottom: 100px;
}
.career .item:nth-child(even):after {
  top: auto; bottom: 92px; right: auto; left: -8px;
}
.career .item:nth-child(even) .inner { 
  margin-left: auto;
  margin-right: 0;
}
.career .item .year {
  color: #D7BE00;
  font-size: 60px;
  line-height: 1;
  text-align: center;
  letter-spacing: -0.1em;
  margin-top: -60px;
}
.career .item .img + .txt {
  margin-top: 10px;
}
.career .item .txt .head {
  font-size: 16px;
  line-height: 1.8;
  font-weight: 400;
}
.career .item .txt p {
  font-size: 16px;
  line-height: 1.8;
}
.career .item .txt p + p {
  margin-top: 10px;
}
.career .item .btn_detail {
  margin-top: 20px;
}
/*
.career .item .btn_detail a:hover {
  background: #fff;
}
*/
.career .item .box {
  display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
  align-items: center;
}
.career .item .box .img {
  width: 48%;
}
.career .item .box .txt {
  width: 48%;
}
.career .item_1987 {
  margin-top: 180px;
}
.career .item_1991 {
  margin-top: 40px;
}
.career .item_1995 {
  margin-top: 70px;
}
.career .item_1996 {
  margin-top: 90px;
}
.career .item_2002 {
  margin-top: 10px;
}
.career .item_2004 {
  margin-top: 90px;
}
.career .item_2006 {
  margin-top: 90px;
}

/* 1200px以下 */
@media screen and (max-width: 1200px) {

}/* for tablet max-width: 1200px */

/* タブレット以下 */
@media screen and (max-width: 1070px) {
.career .item .inner {
  width: 90%;
}  

}/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {
.career {
  margin-top: 4vw;
  padding-bottom: 12vw;
}
.career:after {
  width: 2px;
}
.career .item {
  width: 100%;
  margin-top: 12vw !important;
}
.career .item:before {
  display: none;
}
.career .item:after {
  display: none;
}
.career .item .inner {
  width: 100%;
  padding: 4vw;
}
.career .item .year {
  font-size: 10vw;
  text-align: right;
  margin-top: -10vw;
}
.career .item .img + .txt {
  margin-top: 2vw;
}
.career .item .txt .head {
  font-size: 4vw;
}
.career .item .txt p {
  font-size: 4vw;
}
.career .item .txt p + p {
  margin-top: 1vw;
}
.career .item .btn_detail {
  margin-top: 4vw;
} 

}/* for SP max-width: 800px */

/*===============================================================
	
	content_bg_box
	
===============================================================*/
.content_bg_box {
  padding: 50px;
  background: url("../images/bg_pattern_01.jpg") repeat center / 250px 444px;
}
.content_bg_box .head {
  font-size: 30px;
  line-height: 1.5;
  font-weight: 500;
  text-align: center;
}
.content_bg_box .read {
  font-size: 20px;
  line-height: 1.8;
  font-weight: 300;
  text-align: center;
}
.content_bg_box * + .read {
  margin-top: 20px;
}

/* 1200px以下 */
@media screen and (max-width: 1200px) {

}/* for tablet max-width: 1200px */

/* タブレット以下 */
@media screen and (max-width: 1070px) {

}/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {
.content_bg_box {
  padding: 5vw;
  background: url("../images/bg_pattern_01.jpg") repeat center / 125px 222px;
}
.content_bg_box .head {
  font-size: 5.5vw;
} 
.content_bg_box .read {
  font-size: 4vw;
  text-align: left;
}
.content_bg_box * + .read {
  margin-top: 2vw;
}  

}/* for SP max-width: 800px */

/*===============================================================
	
	content_bg_box2
	
===============================================================*/
.content_bg_box2 {
  padding: 50px;
  background: #fff8e5;
}
.content_bg_box2 .head {
  font-size: 26px;
  line-height: 1.5;
  font-weight: 500;
  text-align: center;
}
.content_bg_box2 .read {
  font-size: 20px;
  line-height: 1.5;
  font-weight: 300;
  text-align: center;
}
.content_bg_box2 * + .read {
  margin-top: 10px;
}

/* 1200px以下 */
@media screen and (max-width: 1200px) {

}/* for tablet max-width: 1200px */

/* タブレット以下 */
@media screen and (max-width: 1070px) {

}/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {
.content_bg_box2 {
  padding: 5vw;
}
.content_bg_box2 .head {
  font-size: 5vw;
} 
.content_bg_box2 .read {
  font-size: 4vw;
  text-align: left;
}
.content_bg_box2 * + .read {
  margin-top: 2vw;
}  

}/* for SP max-width: 800px */

/*===============================================================
	
	メールフォーム
	
===============================================================*/
/*-------------------------------------------------------------
	form_content	
-------------------------------------------------------------*/
.form_content {
	text-align: left;
}
 * + .form_content {
	margin-top: 40px;
}
.form_content .check_postalcode .logo {
  line-height: 50px;
  font-weight: 300;
}

/* 1200px以下 */
@media screen and (max-width: 1200px) {

}/* for tablet max-width: 1200px */

/* タブレット以下 */
@media screen and (max-width: 1070px) {
	
}	/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {
.form_content {
}
 * + .form_content {
	margin-top: 4vw;
}
.form_content .check_postalcode .logo {
  line-height: 3;
}  
	
}	/* for SP max-width: 800px */


/*-------------------------------------------------------------
	form dl	
-------------------------------------------------------------*/
.form_content dl {
	margin: 0;
	/*border-top: solid 1px rgba(0,0,0,0.1);*/
}
.form_content dt {
	font-size: 16px;
	line-height: 20px;
	padding: 0 0 10px;
}
.form_content dd {
	float: right;
	width: 100%;
	font-size: 15px;
	line-height: 2;
  font-weight: 300;
	padding: 0 0 25px;
}
.form_content .red {
	color: #D79B00;
	font-size: 12px;
  padding-left: 10px;
}

/* 1200px以下 */
@media screen and (max-width: 1200px) {

}/* for tablet max-width: 1200px */

/* タブレット以下 */
@media screen and (max-width: 1070px) {
	
}	/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {
.form_content dt {
	float: none;
	width: 100%;
	font-size: 4vw;
	line-height: 1.8;
	padding: 0;
}
.form_content dd {
	float: left;
	width: 100%;
	font-size: 4vw;
	line-height: 1.8;
	padding: 1.5vw 0 4vw 0;
}
.form_content .red {
	font-size: 3vw;
  padding-left: 1vw;
}

}	/* for SP max-width: 800px */


/*-------------------------------------------------------------
	テキスト入力
-------------------------------------------------------------*/
.txtinput {
	vertical-align: bottom;
	width: 100%;
	-webkit-appearance: none;
	outline: 0;
	font-size: 16px;
	line-height: 1.8;
  font-weight: 300;
	margin: 0;
	padding: 10px;
	border: solid 1px #ccc;
  border-radius: 0;
	box-sizing: border-box;
	transition: all 0.1s linear;
}
.txtinput_postal {
	width: 150px;
}
.txtinput:focus,
.txtinput_postal:focus {
	border-color: #333;
}

/* 1200px以下 */
@media screen and (max-width: 1200px) {

}/* for tablet max-width: 1200px */

/* タブレット以下 */
@media screen and (max-width: 1070px) {
	
}	/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {  
.txtinput{
	font-size: 4.3vw;
	padding: 2vw;
}
.txtinput_postal {
	width: 40%;
}  

}	/* for SP max-width: 800px */

/*-------------------------------------------------------------
	ラジオボタン
-------------------------------------------------------------*/
.radio li input {
	width: auto;
  display: none;
  border: 0;
  margin: 0;
}
.radio li {
	padding: 0;
}
.radio li + li {
	margin-top: 10px;
}
/* ラジオボタンの装飾 */
.radio li label {
	display: inline-block;
	vertical-align: middle; 
	position: relative;
	font-size: 16px;
	line-height: 20px;
  font-weight: 300;
	padding-left: 24px;
	cursor: pointer; 
}
.radio li label:before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	width: 16px;
	height: 16px;
	background: #fff;
	border: 1px solid #333;
	border-radius: 50%;
	box-sizing: border-box;
}
.radio li label:after {
  content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 4px;
	margin: auto;
	width: 8px;
	height: 8px;
	background: #333;
	border-radius: 50%;
	transition: all 0.1s linear;
	transform: scale(0);
}
.radio li input:checked + label:after {
	transform: scale(1);
}

/* 1200px以下 */
@media screen and (max-width: 1200px) {

}/* for tablet max-width: 1200px */

/* タブレット以下 */
@media screen and (max-width: 1070px) {
	
}	/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {
.radio li label {
	font-size: 4vw;
	line-height: 1.5;
}
.radio li + li {
	margin-top: 2vw;
}

}	/* for SP max-width: 800px */

/*-------------------------------------------------------------
	チェックボックス
-------------------------------------------------------------*/
.checkbox li {
	float: left;
	width: 33.3333%;
	padding: 0;
}
.checkbox li:nth-child(4),
.checkbox li:nth-child(5),
.checkbox li:nth-child(6) {
	margin-top: 10px;
}
.agreebox {
	font-size: 16px; 
	line-height: 20px;
  font-weight: 300;
	text-align: center;
	padding-top: 20px;
}
.checkbox li input,
.agreebox input {
	width: auto;
	display: none;
  border: 0;
  margin: 0;
}
/* チェックボックスの装飾 */
.checkbox li label,
.agreebox label {
	display: inline-block;
	vertical-align: middle; 
	position: relative;
	font-size: 16px; 
	line-height: 20px;
  font-weight: 300;
	padding-left: 24px;
	cursor: pointer;
}
.checkbox li label:before,
.agreebox label:before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	width: 16px;
	height: 16px;
	background: #fff;
	border-radius: 10%;
	border: 1px solid #333;
	box-sizing: border-box;
}
.checkbox li label:after,
.agreebox label:after {
  content: "";
	position: absolute;
	top: -3px;
  left: 5px;
	margin: auto;
  width: 6px;
  height: 14px;
  border-right: 2px solid transparent;
  border-bottom: 2px solid transparent;
  transform: rotate(40deg);
	transition: border-bottom-color, border-right-color .2s linear;
}
.checkbox li input:checked + label:after,
.agreebox input:checked + label:after {
	border-color: #333;
}

.agreebox label a:hover {
	text-decoration: underline;
}

/* 1200px以下 */
@media screen and (max-width: 1200px) {

}/* for tablet max-width: 1200px */

/* タブレット以下 */
@media screen and (max-width: 1070px) {

}	/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {
.checkbox li {
	width: 100%;
}	
.checkbox li + li {
	margin-top: 2vw;
}
.checkbox li label,
.agreebox label {
	font-size: 4vw;
  line-height: 1.5;
}	
.agreebox {
	font-size: 4vw; 
	text-align: left;
	padding-top: 3vw;
}
.checkbox li label:after,
.agreebox label:after {
	top: -9px; bottom: 0;
}  

}	/* for SP max-width: 800px */


/*-------------------------------------------------------------
	.セレクト 
-------------------------------------------------------------*/
.select {
	background: #fff;
}
.select option {
	color: #333;
	background: #fff;
}
.select optgroup.area {
	color: #333;
	background: #eee;
}
/* セレクタの装飾 */
.select_wrap {
	position: relative;
	overflow: hidden;
	display: inline-block;
	min-width: 30em;
	color: #333;
	background-color: #fff;
	background-image: -webkit-linear-gradient(top, #fff 0%, #eee 100%);
	background-image: linear-gradient(top, #fff 0%, #eee 100%);
	border: 1px solid #ccc;
	box-sizing: border-box;
	transition: all 0.1s linear;
}
.select_wrap:hover {
	border: 1px solid #333;
}
.select_wrap2 {
	min-width: 20em;
}
.select_wrap3 {
	min-width: 10em;
	margin-right: 5px;
}
.select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	position: relative;
	z-index: 2;
	display: block;
	width: 200%;
	/* fallback non calc support */
	width: -webkit-calc(100% + 5em);
	width: calc(100% + 5em);
	margin: 0;
	padding: 10px;
	font-size: 16px;
	line-height: 1.6;
  font-weight: 300;
	background: transparent;
	border: 0;
	outline: none;
	cursor: pointer; 
}
.select_wrap:after {
	content: '';
	position: absolute;
	bottom: 10px;
	right: 10px;
	width: 5px;
	height: 5px;
	border-top: 4px solid rgba(0,0,0,0.5);
	border-right: 4px solid transparent;
	border-bottom: 4px solid transparent;
	border-left: 4px solid transparent;
	box-sizing: border-box;
}
.select_wrap:before {
	content: '';
	position: absolute;
	top: 10px;
	right: 10px;
	width: 5px;
	height: 5px;
	border-top: 4px solid transparent;
	border-right: 4px solid transparent;
	border-bottom: 4px solid rgba(0,0,0,0.5);
	border-left: 4px solid transparent;
	box-sizing: border-box;
}

/* 1200px以下 */
@media screen and (max-width: 1200px) {

}/* for tablet max-width: 1200px */

/* タブレット以下 */
@media screen and (max-width: 1070px) {
	
}	/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {
/* セレクタの装飾 */
.select_wrap {
	min-width: auto;
	width: 100%;
	padding: 0;
	margin: 0;
}
.select_wrap + .select_wrap {
	margin-top: 10px;
}	
.select {
	font-size: 4.5vw;
	padding: 2vw;
}
.select_wrap:after {
	content: '';
	position: absolute;
  top: 0;
	bottom: 0;
	right: 10px;
  margin: auto;
	width: 5px;
	height: 5px;
	border-top: 4px solid rgba(0,0,0,0.5);
	border-right: 4px solid transparent;
	border-bottom: 4px solid transparent;
	border-left: 4px solid transparent;
	box-sizing: border-box;
  -webkit-transform: translateY(7px);
  transform: translateY(7px);
}
.select_wrap:before {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	right: 10px;
  margin: auto;
	width: 5px;
	height: 5px;
	border-top: 4px solid transparent;
	border-right: 4px solid transparent;
	border-bottom: 4px solid rgba(0,0,0,0.5);
	border-left: 4px solid transparent;
	box-sizing: border-box;
  -webkit-transform: translateY(-7px);
  transform: translateY(-7px);
}
}	/* for SP max-width: 800px */

/*-------------------------------------------------------------
	サブミット
-------------------------------------------------------------*/
.submit {
	margin: 0;
  padding-top: 15px;
}
.agreebox + .submit {
	padding-top: 40px;
}
.submit input {
  display: block;
	width: 240px;
	color: #D79B00;
	font-size: 16px;
	line-height: 20px;
  text-align: center;
	text-decoration: none;
	border: 1px solid #D79B00;
  border-radius: 0;
	background: transparent;
  margin: 0 auto;
	padding: 15px 0;
	cursor: pointer;
  outline: none;
	-webkit-appearance: none;
  -webkit-transition: all 0.1s linear;
}
.submit input:hover {
	background: #FFF6DE;
}
.submit .caption {
	font-size: 14px;
	line-height: 1.8;
	margin-top: 40px;
}
.submit .caption .sub {
  display: block;
  font-weight: 400;
  margin-top: 10px;
}

/* 1200px以下 */
@media screen and (max-width: 1200px) {

}/* for tablet max-width: 1200px */

/* タブレット以下 */
@media screen and (max-width: 1070px) {

}	/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {
.submit {
  padding-top: 2vw;
}
.agreebox + .submit {
	padding-top: 4vw;
}  
.submit input {
	width: 100%;
	font-size: 4vw;
  line-height: 1;
  padding: 4vw 0;
}
.submit .caption {
	font-size: 3.5vw;
	margin-top: 4vw;
}
.submit .caption .sub {
  margin-top: 2vw;
}

}	/* for SP max-width: 800px */

/*-------------------------------------------------------------
	サブミット2
-------------------------------------------------------------*/
.submit_two {
	width: auto;
	display: flex;
	justify-content: center;
	margin: 0 auto;
}
.submit_two .btn + .btn {
	margin-left: 20px;
}
.submit_two .btn.back input {
  font-family: 'Hannari', serif;
  font-weight: normal;
  font-feature-settings: normal;
  letter-spacing: -0.05em;
	color: #6D9B76;
	background: #F9FAF2;
	border: solid 1px #6D9B76;
}
/*windowsのみ*/
.os_windows .submit_two .btn.back input {
  font-family: "Yu Mincho", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
  font-weight: normal;
  font-feature-settings: 'palt';
  letter-spacing: 0.05em;
}
.submit_two .btn.back input:hover {
	color: #88BF93;
	border: solid 1px #88BF93;	
}
.submit_two .btn.send input {
}
.submit_two .btn.send input:hover {
}

/* 1200px以下 */
@media screen and (max-width: 1200px) {

}/* for tablet max-width: 1200px */

/* タブレット以下 */
@media screen and (max-width: 1070px) {

}	/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {
.submit_two .btn {
	width: 48%;
}
.submit_two .btn + .btn {
	margin-left: 4%;
}
  
}	/* for SP max-width: 800px */

/*-------------------------------------------------------------	
	jquery mailform バリデート
-------------------------------------------------------------*/
.validate {
	margin-bottom: 10px;
  display: none;
}
.validate p {
	color: #E40011;
	font-size: 12px;
	line-height: 1.2;
	padding: 8px;
	background: #ffe7e9;
}
.validate_submit {
	text-align: center;
	margin: 0 auto;
	padding-bottom: 20px;
}

/* 1200px以下 */
@media screen and (max-width: 1200px) {

}/* for tablet max-width: 1200px */

/* タブレット以下 */
@media screen and (max-width: 1070px) {

}	/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {
.validate {
	margin-bottom: 3vw;
}
.validate p {
	font-size: 3vw;
	padding: 2vw;
}	
.validate_submit {
	text-align: left;
	margin: 0 auto;
}

}	/* for SP max-width: 800px */

/*===============================================================
	
	blog_list
	
===============================================================*/
.blog_list {
}
.blog_list dl {
  display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
  border-top: 1px solid #ddd;
}
.blog_list dt {
  width: 180px;
  font-size: 18px;
  line-height: 1.8;
  font-weight: 300;
  padding: 20px 0;
  border-bottom: 1px solid #ddd;
}
.blog_list dd {
  width: calc(100% - 180px);
  /*white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;*/
  font-size: 18px;
  line-height: 1.8;
  font-weight: 300;
  padding: 20px 0;
  border-bottom: 1px solid #ddd;
}
.blog_list dd a {
  color: #333;
  text-decoration: none;
}
.blog_list dd a:hover {
  color: #D79B00;
}

/* 1200px以下 */
@media screen and (max-width: 1200px) {

}/* for tablet max-width: 1200px */

/* タブレット以下 */
@media screen and (max-width: 1070px) {

}/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {
.blog_list {
} 
.blog_list dl {
}
.blog_list dt {
  width: 100%;
  font-size: 4vw;
  padding: 3vw 0 0;
  border: none;
}  
.blog_list dd {
  width: 100%;
  font-size: 4vw;
  padding: 0 0 3vw;
}

}/* for SP max-width: 800px */

/*===============================================================
	
	pager_num
	
===============================================================*/
.pager_num {
  margin-top: 60px;
}
.pager_num ul {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
  margin-top: -10px;
}
.pager_num li {
  font-size: 18px;
	line-height: 50px;
  text-align: center;
  margin: 0 5px;
  margin-top: 10px;
}
.pager_num li a {
	display: block;
  width: 50px;
  color: #D79B00;
	font-size: 18px;
	line-height: 50px;
  text-align: center;
  text-decoration: none;
	border: solid 1px #D79B00;
}
.pager_num li a:hover {
	background: #FFF6DE;
}
.pager_num li.current a {
  pointer-events: none;
	color: #333;
	border:solid 1px #333;
}

.pager_num li .current {
	display: block;
  width: 50px;
  color: #333;
	font-size: 18px;
	line-height: 50px;
  text-align: center;
  text-decoration: none;
	border: solid 1px #333;
}

/* タブレット以下 */
@media screen and (max-width: 960px) {

}	/* for tablet max-width: 960px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
.pager_num {
  margin-top: 8vw;
}
.pager_num ul {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
  margin-top: -2vw;
}
.pager_num li {
  font-size: 4vw;
	line-height: 10vw;
  margin: 0 1vw;
  margin-top: 2vw;
}
.pager_num li a {
  width: 10vw;
	font-size: 4vw;
	line-height: 10vw;
}

}	/* for SP max-width: 736px */

/*===============================================================
	
	blog_detail
	
===============================================================*/
.blog_detail {

}

/* 1200px以下 */
@media screen and (max-width: 1200px) {

}/* for tablet max-width: 1200px */

/* タブレット以下 */
@media screen and (max-width: 1070px) {

}/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {
.blog_detail {
}

}/* for SP max-width: 800px */

/*===============================================================
	
	content_link
	
===============================================================*/
.content_link {

}
.content_link .btns {
  display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
  margin-top: -30px;
}
.content_link * + .btns {
  margin-top: 20px;
}
.content_link .btns .btn {
  width: 48%;
  margin-top: 30px;
}
.content_link .btns .btn a {
  position: relative;
  display: block;
  font-size: 18px;
  line-height: 30px;
  text-align: center;
  border: 1px solid #000;
  padding: 20px 0;
}
.content_link .btns a:hover {
}

/* 1200px以下 */
@media screen and (max-width: 1200px) {

}/* for tablet max-width: 1200px */

/* タブレット以下 */
@media screen and (max-width: 1070px) {

}/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {
.content_link .btns {
  margin-top: -4vw;
}
.content_link * + .btns {
  margin-top: 2vw;
}  
.content_link .btns .btn {
  width: 100%;
  margin-top: 4vw;
}
.content_link .btns .btn a {
  font-size: 4vw;
  line-height: 1;
  padding: 4vw 0;
} 

}/* for SP max-width: 800px */


/*-------------------------------------------------------------
	bnr_mmagazine	
-------------------------------------------------------------*/
.content_link .bnr_mmagazine {
  margin-top: 60px;
}
.content_link .bnr_mmagazine a {
  display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
  align-items: center;
  padding: 45px 40px;
  background: url("../images/bg_bnr_mmagazine.jpg") no-repeat center / 100% auto;
  box-sizing: border-box;
  transition: background .3s;
}
.content_link .bnr_mmagazine a:hover {
  background: url("../images/bg_bnr_mmagazine.jpg") no-repeat center / 110% auto;
}
.content_link .bnr_mmagazine p {
  flex: 1;
  color: #fff;
  font-size: 18px;
  line-height: 30px;
  font-weight: 400;
}
.content_link .bnr_mmagazine .btn {
  width: 220px;
  color: #fff;
  font-size: 18px;
  line-height: 20px;
  text-align: center;
  padding: 20px 0;
  background: #D79B00;
  transition: background .3s;
}
.content_link .bnr_mmagazine a:hover .btn {
  background: #E6BA4A;
}

/* 1200px以下 */
@media screen and (max-width: 1200px) {

}/* for tablet max-width: 1200px */

/* タブレット以下 */
@media screen and (max-width: 1070px) {
.content_link .bnr_mmagazine p {
  font-size: 1.9vw;
}
  
}/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {
.content_link .bnr_mmagazine {
  margin-top: 8vw;
}
.content_link .bnr_mmagazine a {
  padding: 4vw 3vw;
  background: url("../images/bg_bnr_mmagazine.jpg") no-repeat center / cover;
}
.content_link .bnr_mmagazine a:hover {
  background: url("../images/bg_bnr_mmagazine.jpg") no-repeat center / cover;
}
.content_link .bnr_mmagazine p {
  font-size: 3.5vw;
  line-height: 1.6;
}
.content_link .bnr_mmagazine .btn {
  width: 100%;
  font-size: 4vw;
  line-height: 1;
  padding: 4vw 0;
  margin-top: 3vw;
}  

}/* for SP max-width: 800px */

/*===============================================================
	
	content_report
	
===============================================================*/
.content_report {
  position: relative;
  padding: 50px 90px 90px; 
  background: #eee;
}
.content_report:after {
  content: '';
  position: absolute;
	bottom: 0;
	right: 0;
	width: 36px;
	height: 36px;
	border-top: 18px solid rgba(0,0,0,0.15);
	border-right: 18px solid #fff;
	border-bottom: 18px solid #fff;
	border-left: 18px solid rgba(0,0,0,0.15);
	box-sizing: border-box;
}
.content_report .head {
  font-size: 30px;
  line-height: 1.5;
  font-weight: 500;
  text-align: center;
}
.content_report .read {
  font-size: 20px;
  line-height: 1.8;
  font-weight: 400;
  text-align: center;
  margin-top: 20px;
}
.content_report .caption {
  color: #E40011;
  text-align: center;
  margin-top: 20px;
}
/*単独男性講習の感想*/
.content_report_man {
  background: #EFFCFF;
}
.content_report_man .head {
  color: #65CCDE;
}
/*カップル講習の感想*/
.content_report_couple {
  background: #FFF4F4;
}
.content_report_couple .head {
  color: #FF9AA2;
}
/*受講生のスローセックスレポート*/
.content_report_student {
  background: #ecfff1;
}
.content_report_student .head {
  color: #65DE86;
}
/*アダム徳永とのスローセックスレポート*/
.content_report_adam {
  background: #fff4ff;
}
.content_report_adam .head {
  color: #ff90ff;
}
/*女神セッションレポート*/
.content_report_session {
  background: #f9f4ff;
}
.content_report_session .head {
  color: #b688ff;
}

/* 1200px以下 */
@media screen and (max-width: 1200px) {

}/* for tablet max-width: 1200px */

/* タブレット以下 */
@media screen and (max-width: 1070px) {
.content_report {
  padding: 50px 60px 70px; 
}  

}/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {
.content_report {
  padding: 4vw 4vw 6vw; 
}
.content_report:after {
	width: 3.5vw;
	height: 3.5vw;
	border-top: 1.75vw solid rgba(0,0,0,0.15);
	border-right: 1.75vw solid #fff;
	border-bottom: 1.75vw solid #fff;
	border-left: 1.75vw solid rgba(0,0,0,0.15);
}  
.content_report .head {
  font-size: 5.5vw;
}
.content_report .read {
  font-size: 4vw;
  text-align: left;
  margin-top: 2vw;
} 
.content_report .caption {
  font-size: 3.5vw;
  text-align: left;
  margin-top: 2vw;
}  

}/* for SP max-width: 800px */

/*-------------------------------------------------------------
	item	
-------------------------------------------------------------*/
.content_report .item {
  margin-top: 40px;
}
.content_report .item .name {
  position: relative;
  font-size: 30px;
  line-height: 2;
  padding-left: 60px;
  padding-bottom: 5px;
  border-bottom: 1px solid #ddd;
}
.content_report .item .name .s {
  font-size: 16px;
}
.content_report .item .name:after {
  content: '';
  position: absolute;
  bottom: -1px; right: -53px;
  width: 54px;
  height: 60px;
}
.content_report .item p {
  margin-top: 20px;
}
.content_report .item .txt_clamp_3 {
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  font-size: 18px;
  line-height: 2;
}
/*トリミングIE対応*/
@media all and (-ms-high-contrast: none) {
  .content_report .item .txt_clamp_3 {  
    display: block;
    overflow: hidden;
    height: 108px; /* 18px 2 * 3lines */
  }
}
.content_report .item .btn_mini {
  max-width: 180px;
  margin-top: 30px;
  margin-right: 0;
}
.content_report .item .btn_mini a {
  padding: 9px 0;
}
/*単独男性講習の感想*/
.content_report_man .item .name {
  color: #65CCDE;
  border-color: #65CCDE;
  background: url("../images/report/icon_man_blue.svg") no-repeat left center / 42px auto;
}
.content_report_man .item .name:after {
  background: url("../images/report/icon_feather_blue.svg") no-repeat center / contain;
}
/*カップル講習の感想*/
.content_report_couple .item .name {
  color: #FF9AA2;
  border-color: #FF9AA2;
}
.content_report_couple .item .name_man {
  background: url("../images/report/icon_man_pink.svg") no-repeat left center / 42px auto;
}
.content_report_couple .item .name_woman {
  background: url("../images/report/icon_woman_pink.svg") no-repeat left center / 42px auto;
}
.content_report_couple .item .name:after {
  background: url("../images/report/icon_feather_pink.svg") no-repeat center / contain;
}
/*受講生のスローセックスレポート*/
.content_report_student .item .name {
  color: #65DE86;
  border-color: #65DE86;
}
.content_report_student .item .name_man {
  background: url("../images/report/icon_man_green.svg") no-repeat left center / 42px auto;
}
.content_report_student .item .name_woman {
  background: url("../images/report/icon_woman_green.svg") no-repeat left center / 42px auto;
}
.content_report_student .item .name:after {
  background: url("../images/report/icon_feather_green.svg") no-repeat center / contain;
}
/*アダム徳永とのスローセックスレポート*/
.content_report_adam .item .name {
  color: #ff90ff;
  border-color: #ff90ff;
  background: url("../images/report/icon_woman_hotpink.svg") no-repeat left center / 42px auto;
}
.content_report_adam .item .name:after {
  background: url("../images/report/icon_feather_hotpink.svg") no-repeat center / contain;
}
/*女神セッションレポート*/
.content_report_session .item .name {
  color: #b688ff;
  border-color: #b688ff;
  background: url("../images/report/icon_woman_purple.svg") no-repeat left center / 42px auto;
}
.content_report_session .item .name:after {
  background: url("../images/report/icon_feather_purple.svg") no-repeat center / contain;
}

/* 1200px以下 */
@media screen and (max-width: 1200px) {

}/* for tablet max-width: 1200px */

/* タブレット以下 */
@media screen and (max-width: 1070px) {

}/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {
.content_report .item {
  margin-top: 6vw;
}
.content_report .item .name {
  font-size: 5.5vw;
  padding-left: 9vw;
  padding-bottom: 1vw;
  background-size: 7vw auto !important;
}
.content_report .item .name .s {
  font-size: 3vw;
}
.content_report .item .name:after {
  bottom: -0.3vw; right: -6.80vw;
  width: 6.88vw;
	height: 7.50vw;
}
.content_report .item p {
  margin-top: 4vw;
}
.content_report .item .txt_clamp_3 {
  font-size: 4vw;
  line-height: 1.8;
}
/*トリミングIE対応*/
@media all and (-ms-high-contrast: none) {
  .content_report .item .txt_clamp_3 {  
    display: block;
    overflow: hidden;
    height: 21.6vw; /* 4vw 1.8 * 3lines */
  }
}
.content_report .item .btn_mini {
  max-width: 100%;
  margin-top: 4vw;
  margin-right: auto;
}
.content_report .item .btn_mini a {
  padding: 4vw 0;
} 

}/* for SP max-width: 800px */

/*===============================================================
	
	section_report_link
	
===============================================================*/
.section_report_link {
  background: url("../images/bg_pattern_02.jpg") repeat center / 250px 444px;
}

/* 1200px以下 */
@media screen and (max-width: 1200px) {

}/* for tablet max-width: 1200px */

/* タブレット以下 */
@media screen and (max-width: 1070px) {

}/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {
.section_report_link {
  background: url("../images/bg_pattern_02.jpg") repeat center / 125px 222px;
}  

}/* for SP max-width: 800px */


/*===============================================================
	
	content_report_link
	
===============================================================*/
.content_report_link .head {
  color: #D79B00;
  font-size: 30px;
  line-height: 1.5;
  font-weight: 500;
  text-align: center;
}
.content_report_link .read {
  font-size: 20px;
  line-height: 1.8;
  font-weight: 400;
  text-align: center;
  margin-top: 10px;
}
.content_report_link .box {
  display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
  margin-top: 60px;
}
.content_report_link .item {
  display: flex;
	flex-direction: column;
  width: 48%;
  color: #fff;
}
.content_report_link .item_man {
  background: #65CCDE;
}
.content_report_link .item_couple {
  background: #FF9AA2;
}
.content_report_link .item_woman {
  background: #ffbfe8;
}
.content_report_link .item_session {
  background: #ffa07a;
}
.content_report_link .item_school {
  background: #B088B4;
}
.content_report_link .item .img {
  /*IE対応*/
  min-height: 0%;
}
.content_report_link .item .txt {
  padding: 20px 30px 30px;
}
.content_report_link .item .title {
  font-size: 24px;
  line-height: 1.5;
  font-weight: 500;
  text-align: center;
}
.content_report_link .item p {
  line-height: 1.8;
  font-weight: 400;
  margin-top: 10px;
}
.content_report_link .item .btns {
  display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
  margin: 20px 30px 30px;
  margin-top: auto;
}
.content_report_link .item .btns .btn_detail {
  width: 48%;
  max-width: 100%;
  margin: 0;
}
.content_report_link .item .btns .btn_detail a {
  font-size: 20px;
}

.content_report_link .item .btns02 {
  margin-left: 15%;
  margin-bottom: 40px;
}
.content_report_link .item .btns02 .btn_detail {
  width: 80%;
  max-width: 100%;
  margin: 0;

}
.content_report_link .item .btns02 .btn_detail a {
  font-size: 20px;
}


/* 1200px以下 */
@media screen and (max-width: 1200px) {

}/* for tablet max-width: 1200px */

/* タブレット以下 */
@media screen and (max-width: 1070px) { 

}/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {
.content_report_link .head {
  font-size: 5.5vw;
}
.content_report_link .read {
  font-size: 4vw;
  margin-top: 2vw;
}
.content_report_link .box {
  margin-top: 6vw;
}
.content_report_link .item {
  width: 100%;
}
.content_report_link .item + .item {
  margin-top: 6vw;
} 
.content_report_link .item .txt {
  padding: 4vw 4vw 4vw;
}
.content_report_link .item .title {
  font-size: 5vw;
}
.content_report_link .item p {
  margin-top: 2vw;
}
.content_report_link .item .btns {
  margin: 4vw;
  margin-top: 0;
}
.content_report_link .item .btns .btn_detail {
  width: 100%;
}
.content_report_link .item .btns .btn_detail + .btn_detail {
  margin-top: 2vw;
}
.content_report_link .item .btns .btn_detail a {
  font-size: 4vw;
}
.content_report_link .item .btns02 .btn_detail {
  width: 85%;
}
.content_report_link .item .btns02 .btn_detail + .btn_detail {
  margin-top: 2vw;
}
.content_report_link .item .btns02 .btn_detail a {
  font-size: 3.5vw;
}
 
}/* for SP max-width: 800px */

/*===============================================================
	
	content_course
	
===============================================================*/

/* 1200px以下 */
@media screen and (max-width: 1200px) {

}/* for tablet max-width: 1200px */

/* タブレット以下 */
@media screen and (max-width: 1070px) {

}/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {

}	/* for SP max-width: 800px */

/*-------------------------------------------------------------
	course item_wrp	
-------------------------------------------------------------*/
.course .item_wrp {
  padding: 50px;
  /*background: #fff9eb;*/
  background: url("../images/bg_pattern_02.jpg") repeat center / 250px 444px;
}
.course .item_wrp + .item_wrp {
  margin-top: 40px;
}
.course .item_wrp .head {
  display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
  align-items: center;
  color: #D79B00;
}
.course .item_wrp .head .name {
  font-size: 26px;
  line-height: 1.5;
  font-weight: 500;
}
.course .item_wrp .head .price {
  font-size: 18px;
  line-height: 1.5;
  font-weight: 500;
  margin-top: 0;
}
.course .item_wrp p {
  line-height: 1.8;
  margin-top: 20px;
}
.course .item_wrp .subhead {
  font-size: 18px;
  line-height: 1.5;
  font-weight: 500;
  margin-top: 30px;
}
.course .item_wrp .list {
  column-count: 2;
  margin-top: 10px;
}
.course .item_wrp .list li {
  font-size: 14px;
  line-height: 1.5;
  font-weight: 300;
  padding-left: 1em;
  text-indent: -1em;
  margin-top: 2px;
}
.course .caption {
  margin-top: 20px;
}
.course .item_wrp + .caption,
.course .txt + .caption {
  margin-top: 40px;
}
.course .caption li {
  font-size: 14px;
  line-height: 1.5;
  font-weight: 300;
  padding-left: 1em;
  text-indent: -1em;
  margin-top: 0;
}

.course .item_wrp .list2 {
  column-count: 2;
  margin-top: 10px;
}
.course .item_wrp .list2 li {
  font-size: 18px;
  line-height: 1.5;
  font-weight: 500;
  padding-left: 1em;
  text-indent: -1em;
  margin-top: 2px;
}

/* 1200px以下 */
@media screen and (max-width: 1200px) {

}/* for tablet max-width: 1200px */

/* タブレット以下 */
@media screen and (max-width: 1070px) {
.course .item_wrp .list {
  column-count: 1;
}  

}/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {
.course .item_wrp {
  padding: 5vw;
  background: url("../images/bg_pattern_02.jpg") repeat center / 125px 222px;
}
.course .item_wrp + .item_wrp {
  margin-top: 4vw;
}
.course .item_wrp .head {
  display: block;
}
.course .item_wrp .head .name {
  font-size: 5vw;
}
.course .item_wrp .head .price {
  font-size: 4vw;
  margin-top: 2vw;
}
.course .item_wrp p {
  margin-top: 4vw;
}
.course .item_wrp .subhead {
  font-size: 4vw;
  margin-top: 3vw;
}
.course .item_wrp .list {
  margin-top: 1vw;
}
.course .item_wrp .list li {
  font-size: 3.5vw;
  margin-top: 1vw;
}
.course .caption {
  margin-top: 4vw;
}
.course .item_wrp + .caption,
.course .txt + .caption {
  margin-top: 4vw;
} 
.course .caption li {
  font-size: 3.5vw;
}  
.course .item_wrp .list2 {
  margin-top: 1vw;
}
.course .item_wrp .list2 li {
  font-size: 1.8vw;
  margin-top: 1vw;
	white-space: nowrap;
}

}	/* for SP max-width: 800px */

/*-------------------------------------------------------------
	course txt	
-------------------------------------------------------------*/
.course .txt {
  border-bottom: 1px solid #ddd;
}
.course .txt .box {
  padding: 30px 0;
  border-top: 1px solid #ddd;
}
.course .txt .title {
  font-size: 20px;
  line-height: 1.5;
  font-weight: 400;
}
.course .txt * + .title {
  margin-top: 40px;
}
.course .txt p {
  font-size: 16px;
  line-height: 1.8;
  margin-top: 10px;
}
.course .txt p a:hover {
  text-decoration: underline;
}

/* 1200px以下 */
@media screen and (max-width: 1200px) {

}/* for tablet max-width: 1200px */

/* タブレット以下 */
@media screen and (max-width: 1070px) { 

}/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {
.course .txt {
}
.course .txt .box {
  padding: 4vw 0;
}
.course .txt .title {
  font-size: 4vw;
}
.course .txt * + .title {
  margin-top: 2vw;
}
.course .txt p {
  font-size: 4vw;
  margin-top: 1vw;
}

}	/* for SP max-width: 800px */

/*===============================================================
	
	flowbox
	
===============================================================*/
.flowbox {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: flex-start;
}
.flowbox .item {
	position: relative;
  display: flex;
	flex-direction: column;
	flex-wrap: wrap;
  width: 32%;
  margin-right: 2%;
  margin-top: 20px;
  padding: 20px;
  background: rgba(254,209,113,0.2);
  height: 150px;
}
.flowbox .item:nth-child(3n) {
  margin-right: 0;
}
.flowbox .item:after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	right: -20px;
	margin: auto;
	width: 10px;
	height: 10px;
	border-top: 10px solid transparent;
	border-right: 10px solid transparent;
	border-bottom: 10px solid transparent;
	border-left: 10px solid rgba(254,209,113,0.2);
	box-sizing: border-box;
}
.flowbox .item .name {
	font-size: 16px;
  line-height: 1;
  font-weight: 400;
}
.flowbox .item p {
	margin-top: 10px;
}
.flowbox .item:nth-child(2) {
  background: rgba(254,209,113,0.35);
}
.flowbox .item:nth-child(3) {
  background: rgba(254,209,113,0.5);
}
.flowbox .item:nth-child(4) {
  background: rgba(254,209,113,0.65);
}
.flowbox .item:nth-child(5) {
  background: rgba(254,209,113,0.8);
}
.flowbox .item:nth-child(6) {
  background: rgba(254,209,113,1);
}
.flowbox .item:nth-child(2):after {
  border-left: 10px solid rgba(254,209,113,0.35);
}
.flowbox .item:nth-child(3):after {
  border-left: 10px solid rgba(254,209,113,0.5);
}
.flowbox .item:nth-child(4):after {
  border-left: 10px solid rgba(254,209,113,0.65);
}
.flowbox .item:nth-child(5):after {
  border-left: 10px solid rgba(254,209,113,0.8);
}
.flowbox .item:nth-child(6):after {
  border-left: 10px solid rgba(254,209,113,1);
}
.flowbox .item:nth-child(6) {
  justify-content: center;
  align-items: center;
}
.flowbox .item:nth-child(6):after {
  display: none;
}
.flowbox .item:nth-child(6) .name {
	font-size: 20px;
}

/* 1200px以下 */
@media screen and (max-width: 1200px) {

}/* for tablet max-width: 1200px */

/* タブレット以下 */
@media screen and (max-width: 1070px) {

}/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {
.flowbox {
}
.flowbox .item {
  width: 100%;
  margin-right: 0;
  margin-top: 20px;
  padding: 4vw;
  height: auto;
}
.flowbox .item:after {
	content: '';
	position: absolute;
	top: auto;
	bottom: -20px;
  left: 0;
	right: 0;
	margin: auto;
	width: 10px;
	height: 10px;
	border-top: 10px solid rgba(254,209,113,0.2);
	border-right: 10px solid transparent;
	border-bottom: 10px solid transparent;
	border-left: 10px solid transparent;
	box-sizing: border-box;
}
.flowbox .item .name {
	font-size: 4vw;
}
.flowbox .item p {
  font-size: 4vw;
	margin-top: 2vw;
}
.flowbox .item:nth-child(2):after {
  border-top: 10px solid rgba(254,209,113,0.35);
	border-left: 10px solid transparent;
}
.flowbox .item:nth-child(3):after {
  border-top: 10px solid rgba(254,209,113,0.5);
	border-left: 10px solid transparent;
}
.flowbox .item:nth-child(4):after {
  border-top: 10px solid rgba(254,209,113,0.65);
	border-left: 10px solid transparent;
}
.flowbox .item:nth-child(5):after {
  border-top: 10px solid rgba(254,209,113,0.8);
	border-left: 10px solid transparent;
}
.flowbox .item:nth-child(6):after {
  border-top: 10px solid rgba(254,209,113,1);
	border-left: 10px solid transparent;
}
.flowbox .item:nth-child(6) .name {
	font-size: 4.5vw;
}

}/* for SP max-width: 800px */

/*===============================================================
	
	faqlist
	
===============================================================*/
.faqlist {
  border-bottom: solid 1px #ddd;
}
.faqlist dt, .faqlist dd {
	position: relative;
	width: 100%;
	box-sizing: border-box;
	padding: 30px;
  padding-left: 40px;
	text-align: left;
}
.faqlist dt {
  color: #D79B00;
	font-size: 20px;
	line-height: 1.8;
  font-weight: 400;
	border-top: solid 1px #ddd;
	padding-bottom: 10px;
}
.faqlist dd {
	padding-top :0;
	font-size: 16px;
	line-height: 1.8;
  font-weight: 300;
}
.faqlist dt:before,
.faqlist dd:before {
	position: absolute;
	margin: auto;
	top: 0;
	left: 0;
	width: 1em;
	font-size: 30px;
	line-height: 30px;
	text-align: center;
  font-weight: 300;
}
.faqlist dt:before {
	content: 'Q';
	color: #D79B00;
	top: 30px;
}
.faqlist dd:before {
	content: 'A';
	color: #333;
}
.faqlist dd .sub {
  display: block;
  font-weight: 400;
  margin-top: 10px;
}

/* タブレット以下 */
@media screen and (max-width: 960px) {

}	/* for tablet max-width: 960px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
.faqlist {
}
.faqlist dt, .faqlist dd {
	padding: 4vw 4vw 4vw 6vw;
}
.faqlist dt {
	font-size: 4vw;
	padding-bottom: 0;
}
.faqlist dd {
	padding-top: 0;
	font-size: 4vw;
}
.faqlist dt:before,
.faqlist dd:before {
	font-size: 5vw;
	line-height: 1.5;
}
.faqlist dt:before {
	top: 3vw;
}
.faqlist dd:before {
}
.faqlist dd .sub {
  margin-top: 2vw;
} 

}	/* for SP max-width: 736px */

/*===============================================================
	
	tab
	
===============================================================*/
/*-------------------------------------------------------------
	.tabhead	
-------------------------------------------------------------*/
.tabhead {
	text-align: center;
}
.tabhead ul {
  font-size: 0;
}
.tabhead li {
	display: inline-block;
  width: 50%;
  text-align: center;
}
.tabhead li a {
	display: block;
  color: #333;
  font-size: 20px;
  line-height: 1;
  border: solid 1px #fff;
  border-bottom: solid 1px #333;
  padding: 30px 0;
	box-sizing: border-box;
}
.tabhead li.active a {
	color: #D79B00;
  border: solid 1px #333;
	border-bottom: solid 1px #fff;
}

/* 1200px以下 */
@media screen and (max-width: 1200px) {

}/* for tablet max-width: 1200px */

/* タブレット以下 */
@media screen and (max-width: 1070px) {

}/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {
.tabhead li a {
	padding: 5vw 0;
	font-size: 4vw;
}

}	/* for SP max-width: 800px */

/*-------------------------------------------------------------
	.tabfoot	
-------------------------------------------------------------*/
.tabfoot {
	text-align: center;
  margin-top: 60px;
}
.tabfoot ul {
  font-size: 0;
}
.tabfoot li {
	display: inline-block;
  width: 50%;
  text-align: center;
}
.tabfoot li a {
	display: block;
  color: #333;
  font-size: 20px;
  line-height: 1;
  border: solid 1px #fff;
  border-top: solid 1px #333;
  padding: 30px 0;
	box-sizing: border-box;
}
.tabfoot li.active a {
	color: #D79B00;
  border: solid 1px #333;
	border-top: solid 1px #fff;
}

/* 1200px以下 */
@media screen and (max-width: 1200px) {

}/* for tablet max-width: 1200px */

/* タブレット以下 */
@media screen and (max-width: 1070px) {

}/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {
.tabfoot {
  margin-top: 10vw;
}  
.tabfoot li a {
	padding: 5vw 0;
	font-size: 4vw;
}

}	/* for SP max-width: 800px */

/*-------------------------------------------------------------
	.tabbody
-------------------------------------------------------------*/
.tabbody {
}

/* 1200px以下 */
@media screen and (max-width: 1200px) {

}/* for tablet max-width: 1200px */

/* タブレット以下 */
@media screen and (max-width: 1070px) {

}/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {

}	/* for SP max-width: 800px */

/*===============================================================
	
	linkarea
	
===============================================================*/
.linkarea {
  position: relative;
	transition: all 0.1s linear;
}
.linkarea:hover {
	opacity: 0.7;
}
.haslink {
	cursor: pointer;
}

/* 1200px以下 */
@media screen and (max-width: 1200px) {

}/* for tablet max-width: 1200px */

/* タブレット以下 */
@media screen and (max-width: 1070px) {

}/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {
/*.linkarea:hover {
	opacity: 1;
}*/

.linkarea {
display: flex;
}


}	/* for SP max-width: 800px */

/*-------------------------------------------------------------
	content_dvd linkarea	
-------------------------------------------------------------*/

/* 1200px以下 */
@media screen and (max-width: 1200px) {

}/* for tablet max-width: 1200px */

/* タブレット以下 */
@media screen and (max-width: 1070px) {

}/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {
.content_dvd .linkarea:after {
  content: '';
	position: absolute;
  z-index: 2;
	width: 3vw; height: 3vw;
	bottom: 1.3vw; right: 1vw;
	border-top: solid 1px #333;
	border-left: solid 1px #333;
	transform: rotate(135deg);
}  

}	/* for SP max-width: 800px */

/*===============================================================
	
	content_dvd
	
===============================================================*/
.content_dvd {
}
.content_dvd .item {
  display: flex;
	flex-direction: column;
}
.content_dvd .item .img {
  min-height: 0%;
}
.content_dvd .item .img a {
  display: block;
}
.content_dvd .item .txt {
  padding: 20px 0;
}
.content_dvd .item .head {
  font-size: 20px;
  line-height: 1.5;
  font-weight: 500;
}
.content_dvd .item p {
  font-size: 14px;
  line-height: 1.6;
  margin-top: 10px;
}
.content_dvd .item .price {
  color: #E40011;
  font-size: 18px;
  line-height: 1.5;
  font-weight: 500;
  margin-top: auto;
}

/* 1200px以下 */
@media screen and (max-width: 1200px) {

}/* for tablet max-width: 1200px */

/* タブレット以下 */
@media screen and (max-width: 1070px) {

}/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {
.content_dvd .item {
  margin-top: 10vw;
}
.content_dvd .item + .item {
  margin-top: 6vw;
  padding-top: 6vw;
  border-top: 1px solid #ddd;
}  
.content_dvd .item .img {
  width: 60%;
  margin: 0 auto;
}  
.content_dvd .item .txt {
  padding: 4vw 0 2vw;
}
.content_dvd .item .head {
  font-size: 4.5vw;
}
.content_dvd .item p {
  font-size: 3.5vw;
  margin-top: 2vw;
}
.content_dvd .item .price {
  font-size: 4vw;
} 

}/* for SP max-width: 800px */

/*===============================================================
	
	content_streaming
	
===============================================================*/
.content_streaming {
}
.content_streaming .item {
  display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
  margin-top: 60px;
}
.content_streaming .item .img {
  width: 23.6%;
}
.content_streaming .item .txt {
  width: 73%;
}
.content_streaming .item .head {
  font-size: 26px;
  line-height: 1.5;
  font-weight: 500;
}
.content_streaming .item p {
  margin-top: 10px;
}
.content_streaming .item .box {
  position: relative;
  margin-top: 20px;
}
.content_streaming .item .price {
  color: #E40011;
  font-size: 20px;
  line-height: 1.5;
  font-weight: 500;
  margin-top: 0;
}
.content_streaming .item .caption {
  font-size: 14px;
  margin-top: 0;
}
.content_streaming .item .btn_detail {
  position: absolute;
  top: 0; right: 0;
  width: 240px;
  margin-top: 0;
}

/* 1200px以下 */
@media screen and (max-width: 1200px) {

}/* for tablet max-width: 1200px */

/* タブレット以下 */
@media screen and (max-width: 1070px) {

}/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {
.content_streaming .item {
  margin-top: 10vw;
}
.content_streaming .item + .item {
  margin-top: 6vw;
  padding-top: 6vw;
  border-top: 1px solid #ddd;
}  
.content_streaming .item .img {
  width: 60%;
  margin: 0 auto;
}
.content_streaming .item .txt {
  width: 100%;
  margin-top: 4vw;
}
.content_streaming .item .head {
  font-size: 4.5vw;
}
.content_streaming .item p {
  font-size: 3.5vw;
  margin-top: 2vw;
}
.content_streaming .item .box {
  margin-top: 2vw;
}
.content_streaming .item .price {
  font-size: 4vw;
}
.content_streaming .item .caption {
  font-size: 3vw;
}
.content_streaming .item .btn_detail {
  position: static;
  width: 100%;
  margin-top: 4vw;
}

}/* for SP max-width: 800px */


/*===============================================================
	
	accordion
	
===============================================================*/
.accordion {
	margin-top: 40px;
}
.accordion + .accordion {
	margin-top: 10px;
}
.accordion .accordion_header,
.accordion .accordion_body {
	padding: 20px;
	border: solid 1px #ddd;
}
.accordion .accordion_header {
	position: relative;
	padding-right: 50px;
	transition: all 0.3s;
}
.accordion .accordion_header:hover {
  cursor: pointer;
	background: #fafafa;
}
.accordion .accordion_body {
	border-top: dotted 1px #ddd;
}
.accordion .accordion_header.active {
	border-bottom: 0;
}
.accordion .accordion_header::before,
.accordion .accordion_header::after{
	content: '';
	position: absolute;
	top: 0; bottom: 0;
	right: 20px;
	margin: auto;
	width: 25px;
	height: 1px;
	background: #333;
	transition: all 0.3s;
}
.accordion .accordion_header::after{
	transform: rotate(90deg);
}
.accordion .accordion_header.active::after{
	transform: rotate(0deg);
}
.accordion .accordion_header .title {
	font-size: 16px;
}
.accordion .accordion_body p {
	font-size: 14px;
  line-height: 1.8;
}

/* タブレット以下 */
@media screen and (max-width: 1070px) {

}/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {
.accordion {
	margin-top: 4vw;
}
.accordion + .accordion {
	margin-top: 2vw;
}  
.accordion .accordion_header,
.accordion .accordion_body {
	padding: 4vw;
}
.accordion .accordion_header {
	position: relative;
	padding-right: 10vw;
}
.accordion .accordion_header::before,
.accordion .accordion_header::after{
	right: 3vw;
	width: 4vw;
}
.accordion .accordion_header .title {
	font-size: 3.5vw;
  line-height: 1.4;
}
.accordion .accordion_body p {
	font-size: 3.5vw;
}  
  
}/* for SP max-width: 800px */

/*===============================================================
	
	tablelist
	
===============================================================*/
.tablelist {
}
.tablelist table {
  width: 100%;
  text-align: left;
  border-collapse: separate;
  border-spacing: 0;
  border-bottom: solid 1px #ddd;
}
.tablelist table th {
  width: 250px;
  font-size: 16px;
  line-height: 1.8;
  font-weight: 400;
  padding: 15px;
  border: solid 1px #ddd;
  border-right: 0;
  border-bottom: 0;
  background: #fafafa;
  box-sizing: border-box;
}
.tablelist table td {
  font-size: 16px;
  line-height: 1.8;
  font-weight: 300;
  padding: 15px;
  border: solid 1px #ddd;
  border-bottom: 0;
  background: #fff;
  box-sizing: border-box;
}
.tablelist table td + td {
  border-left: 0;
}
.tablelist table a:hover {
  text-decoration: underline;
}

/* 1200px以下 */
@media screen and (max-width: 1200px) {

}/* for tablet max-width: 1200px */

/* タブレット以下 */
@media screen and (max-width: 1070px) {

}/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {
.tablelist table {
}
.tablelist table th {
  display: block;
  width: 100%;
  font-size: 4vw;
  padding: 2vw 3vw;
  border-right: solid 1px #ddd;
}
.tablelist table td {
  display: block;
  width: 100%;
  font-size: 4vw;
  padding: 3vw;
}
  
}/* for SP max-width: 800px */

/*===============================================================
	
	privacy
	
===============================================================*/
.privacy {
	width:750px;
}
.privacy .subhead {
  font-size: 22px;
  line-height: 1.5;
  font-weight: 500;
}
.privacy * + .subhead {
  margin-top: 40px;
}
.privacy p {
  font-size: 16px;
  line-height: 1.8;
  margin-top: 20px;
}

/* 1200px以下 */
@media screen and (max-width: 1200px) {

}/* for tablet max-width: 1200px */

/* タブレット以下 */
@media screen and (max-width: 1070px) {

}/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {
.privacy .subhead {
  font-size: 4.5vw;
}
.privacy * + .subhead {
  margin-top: 6vw;
}
.privacy p {
  font-size: 4vw;
  line-height: 1.8;
  margin-top: 2vw !important;
}  

}/* for SP max-width: 800px */

/*===============================================================
	
	notfound_error
	
===============================================================*/
.notfound_error {
	text-align: center;
}
.notfound_error .head {
	color: #D79B00;
	font-size: 30px;
	line-height: 1.5;
	font-weight: 500;
}
.notfound_error .read {
	font-size: 20px;
	line-height: 1.5;
	font-weight: 500;
	margin-top: 30px;
}
.notfound_error .read + p {
	margin-top: 10px;
}
.notfound_error p {
	margin-top: 30px;
}
.notfound_error .box {
	width: 420px;
	padding: 30px;
	margin: 0 auto;
	margin-top: 30px;
	background: #eee;
	box-sizing: border-box;
}
.notfound_error li {
	font-size: 16px;
	line-height: 1.5;
  font-weight: 300;
	text-align: left;
	text-indent: -1em;
	padding-left: 1em;
}
.notfound_error li + li {
	margin-top: 5px;
}

/* 1200px以下 */
@media screen and (max-width: 1200px) {

}/* for tablet max-width: 1200px */

/* タブレット以下 */
@media screen and (max-width: 1070px) {

}/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {
.notfound_error {
}	
.notfound_error .head {
	font-size: 5vw;
}
.notfound_error .read {
	font-size: 4vw;
	margin-top: 2.5vw;
}
.notfound_error p {
	margin-top: 4vw;
}
.notfound_error .box {
  width: 100%;
	padding: 4vw;
	margin-top: 4vw;
}
.notfound_error li {
	font-size: 3.5vw;
}
.notfound_error li + li {
	margin-top: 2vw;
}  

}/* for SP max-width: 800px */

/*===============================================================
	
	scroll_in
	
===============================================================*/
/*
.scroll_in {
	opacity:0;
	transition: opacity .5s linear;
}
.scroll_in.active {
	opacity:1; 
}
*/

/* 1200px以下 */
@media screen and (max-width: 1200px) {

}/* for tablet max-width: 1200px */

/* タブレット以下 */
@media screen and (max-width: 1070px) {

}/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {

}/* for SP max-width: 800px */

/*===============================================================
	
	hoge
	
===============================================================*/
.hoge {

}

/* 1200px以下 */
@media screen and (max-width: 1200px) {

}/* for tablet max-width: 1200px */

/* タブレット以下 */
@media screen and (max-width: 1070px) {

}/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {

}/* for SP max-width: 800px */


/*-------------------------------------------------------------
	hoge	
-------------------------------------------------------------*/
.hoge {

}

/* 1200px以下 */
@media screen and (max-width: 1200px) {

}/* for tablet max-width: 1200px */

/* タブレット以下 */
@media screen and (max-width: 1070px) {

}/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {

}/* for SP max-width: 800px */


/* エラーメッセージの上部を消去 */
div.screen-reader-response{
  display: none;
}

.wpcf7-form-control-wrap {
  display: block;
}
.wpcf7-form-control.wpcf7-checkbox {
  display: flex;
  flex-wrap: wrap;
}
span.wpcf7-list-item {
  position: relative;
  margin: 0 50px 0 0 !important;/*項目ごとの余白を調整*/
}

.wpcf7-list-item-label {/*項目の色や文字サイズ*/
  cursor: pointer;
  font-size: 16px;
}

/* PC向けレイアウトの指定 */
@media only screen and (min-width:761px){
	.notices {
		margin-top:50px;
		margin-bottom:0px;
	  color: #ff0000;
		font-size: 18px;
		line-height: 1.5;
		font-weight: 500;
	  text-align: center;
	}
	.notices_contact {
		margin-top:50px;
		margin-bottom:0px;
	  color: #ff0000;
		font-size: 18px;
		line-height: 1.5;
		font-weight: 500;
	  text-align: left;
	}
}
/* SP向けレイアウトの指定 */
@media only screen and (max-width:760px){
	.notices {
		margin-top:30px;
		margin-bottom:0px;
	  color: #ff0000;
		font-size: 18px;
		line-height: 1.5;
		font-weight: 500;
	  text-align: left;
	}
	.notices_contact {
		margin-top:30px;
		margin-bottom:0px;
	  color: #ff0000;
		font-size: 18px;
		line-height: 1.5;
		font-weight: 500;
	  text-align: left;
	}
}

/*===============================================================
	
	TOPページ内下段のyoutube動画の説明文の箇所
  https://megami-academy.com/
	
===============================================================*/

/* PC向けレイアウトの指定 */
@media only screen and (min-width:761px){
	.explanation{
		margin-top:10px;
		width:500px;
		text-align:center;
	  font-size: 18px;
	  font-weight: bold;
	}
}
/* SP向けレイアウトの指定 */
@media only screen and (max-width:760px){
	.explanation{
		margin-top:10px;
		width:100%;
		text-align:center;
	  font-size: 16px;
	  font-weight: bold;
	}
}

/*===============================================================
	
	セックスセラピスト養成講座
  https://adam-tokunaga.com/sextherapist/
	
===============================================================*/

/*===============================================================

	visual

===============================================================*/
.visual {
  position: relative;
  overflow: hidden;
  height: 35.7142vw;
  background: #000;
  margin-top: 100px;
  background: url(../images/sex_therapist/bg_visual.jpg) no-repeat center/cover;
  /*-------------------------------------------------------------
  	head	
  -------------------------------------------------------------*/
  /*-------------------------------------------------------------
  	en	
  -------------------------------------------------------------*/
}
@media screen and (max-width: 1070px) {
  .visual {
    background: url(../images/sex_therapist/bg_visual.jpg) no-repeat center right -15vw/115vw auto;
  }
}
@media screen and (max-width: 800px) {
  .visual {
    height: 81.25vw;
    margin-top: 0;
    background: url(../images/sex_therapist/bg_visual_sp.jpg) no-repeat center/cover;
  }
}
.visual .head {
  position: absolute;
  top: 10.71vw;
  left: 5vw;
  font-size: 3.21vw;
  line-height: 1.5;
  font-weight: 500;
  letter-spacing: 0.02em;
}
.visual .head .color {
  color: #ED8397;
}
@media screen and (max-width: 1070px) {
  .visual .head {
    font-size: 3.8vw;
  }
}
@media screen and (max-width: 800px) {
  .visual .head {
    top: 5vw;
    left: 5vw;
    font-size: 6vw;
  }
}
.visual .en {
  position: absolute;
  bottom: -3.1vw;
  left: 2.857vw;
  color: #fff;
  font-size: 11.42vw;
  line-height: 1;
}
@media screen and (max-width: 800px) {
  .visual .en {
    bottom: -3.7vw;
    left: 3vw;
    font-size: 14vw;
  }
}

/*===============================================================

	section_st_about

===============================================================*/
.section_st_about .headline .title {
  color: #ED8397;
  border-bottom-color: #ED8397;
}
/*-------------------------------------------------------------
	content_st_overview	
-------------------------------------------------------------*/
.content_st_overview .txt_box {
  border: 1px solid #ED8397;
  padding: 0 50px 50px;
}
.content_st_overview .txt_box .head {
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  margin-top: -15px;
  color: #ED8397;
  font-size: 30px;
  line-height: 1;
  font-weight: 500;
  text-align: center;
  padding: 0 20px;
  background: #fff;
}
.content_st_overview .txt_box .head + * {
  margin-top: 40px;
}
.content_st_overview .txt_box p {
  text-align: center;
}
.content_st_overview .caption_box {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  gap: 30px;
  padding: 40px;
  margin-top: 50px;
  background: #FFF0F3;
}
.content_st_overview .caption_box .icon {
  width: 60px;
}
.content_st_overview .caption_box p {
  flex: 1;
  color: #D02C2C;
  font-weight: 400;
}
@media screen and (max-width: 800px) {
  .content_st_overview .txt_box {
    padding: 0 4vw 5vw;
  }
  .content_st_overview .txt_box .head {
    margin-top: -2.25vw;
    font-size: 5.5vw;
    padding: 0 3vw;
  }
  .content_st_overview .txt_box .head + * {
    margin-top: 4vw;
  }
  .content_st_overview .txt_box p {
    text-align: left;
  }
  .content_st_overview .caption_box {
    gap: 4vw;
    padding: 4vw 4vw 5vw;
    margin-top: 6vw;
  }
  .content_st_overview .caption_box .icon {
    width: 10vw;
  }
  .content_st_overview .caption_box p {
    flex: 1;
    color: #D02C2C;
    margin-left: 0;
  }
}

/*===============================================================

	bg_gray_fixed

===============================================================*/
.bg_gray_fixed {
  background: #F1F1F1 url("../images/sex_therapist/bg_detail.jpg") no-repeat top center/cover;
  background-attachment: fixed;
}
@media screen and (max-width: 1070px) {
  .bg_gray_fixed {
    background: #F1F1F1 url("../images/sex_therapist/bg_detail.jpg") no-repeat top center/200% auto;
    background-attachment: auto;
  }
}
/*===============================================================

	section_st_detail

===============================================================*/
.section_st_detail .headline {
  text-align: center;
}
.section_st_detail .headline .title {
  color: #ED8397;
  font-size: 35px;
  border: none;
  padding-bottom: 0;
}
@media screen and (max-width: 800px) {
  .section_st_detail .headline .title {
    font-size: 5.5vw;
  }
}

/*-------------------------------------------------------------
	content_st_detail	
-------------------------------------------------------------*/
.content_st_detail .head_box {
  text-align: center;
}
.content_st_detail .head_box .en {
  color: #fff;
  font-size: 120px;
  line-height: 1;
  text-align: center;
}
.content_st_detail .head_box .head {
  font-size: 30px;
  line-height: 1.5;
  font-weight: 500;
  margin-top: -60px;
}
.content_st_detail .head_box .caution {
  font-size: 16px;
}
.content_st_detail .course_box {
  margin-top: 30px;
  background: rgba(255, 255, 255, 0.7);
}
.content_st_detail .course_box .boxhead {
  color: #fff;
  font-size: 20px;
  line-height: 1.5;
  font-weight: 400;
  text-align: center;
  padding: 10px;
  background: #FFACBB;
}
.content_st_detail .course_box .wrp {
  padding: 40px;
}
.content_st_detail .course_box .wrp .name {
  font-size: 18px;
  line-height: 1;
  font-weight: 400;
}
.content_st_detail .course_box .wrp ul {
  margin-top: 20px;
}
.content_st_detail .course_box .wrp ul li {
  font-size: 16px;
  line-height: 1.7;
  font-weight: 300;
  text-indent: -1em;
  padding-left: 1em;
}
.content_st_detail .course_box .wrp ul li + li {
  margin-top: 10px;
}
.content_st_detail .course_box .wrp ul li .dot {
  color: #ED8397;
}
.content_st_detail .detail_box {
  margin-top: 50px;
}
.content_st_detail .detail_box dl {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  border-bottom: 1px solid #ccc;
}
.content_st_detail .detail_box dl dt {
  width: 160px;
  font-size: 18px;
  line-height: 1.8;
  font-weight: 400;
  padding: 20px 40px;
  padding-right: 0;
  border-top: 1px solid #ccc;
}
.content_st_detail .detail_box dl dd {
  width: calc(100% - 160px);
  font-size: 18px;
  line-height: 1.8;
  font-weight: 300;
  padding: 20px 40px;
  padding-left: 0;
  border-top: 1px solid #ccc;
}
@media screen and (max-width: 1070px) {
  .content_st_detail .detail_box dl dt {
    font-size: 16px;
  }
  .content_st_detail .detail_box dl dd {
    font-size: 16px;
  }
}
@media screen and (max-width: 800px) {
  .content_st_detail .head_box .en {
    font-size: 14vw;
  }
  .content_st_detail .head_box .head {
    font-size: 5.5vw;
    margin-top: -8vw;
  }
  .content_st_detail .head_box .caution {
    font-size: 3.5vw;
    text-align: left;
    text-indent: -1em;
    padding-left: 1em;
    margin-top: 2vw;
  }
  .content_st_detail .course_box {
    margin-top: 5vw;
  }
  .content_st_detail .course_box .boxhead {
    font-size: 4.5vw;
    padding: 2vw;
  }
  .content_st_detail .course_box .wrp {
    padding: 4vw 4vw 5vw;
  }
  .content_st_detail .course_box .wrp .name {
    font-size: 4vw;
    line-height: 1.2;
  }
  .content_st_detail .course_box .wrp ul {
    margin-top: 2vw;
  }
  .content_st_detail .course_box .wrp ul li {
    font-size: 4vw;
  }
  .content_st_detail .course_box .wrp ul li + li {
    margin-top: 1vw;
  }
  .content_st_detail .detail_box {
    margin-top: 6vw;
  }
  .content_st_detail .detail_box dl {
    display: flex;
    flex-direction: column;
    border-bottom: 1px solid #ccc;
  }
  .content_st_detail .detail_box dl dt {
    width: 100%;
    font-size: 4vw;
    padding: 4vw 4vw 0;
  }
  .content_st_detail .detail_box dl dd {
    width: 100%;
    font-size: 4vw;
    padding: 0 4vw 4vw;
    border: none;
  }
}

/*-------------------------------------------------------------
	content_st_license	
-------------------------------------------------------------*/
.content_st_license {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
.content_st_license .head_box {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  width: 200px;
  height: 200px;
  background: #fff;
  border: 1px solid #ED8397;
  border-radius: 50%;
}
.content_st_license .head_box .head {
  color: #ED8397;
  font-size: 35px;
  line-height: 1.3;
  font-weight: 500;
  letter-spacing: 0.1em;
}
.content_st_license .detail_box {
  width: 510px;
}
.content_st_license .detail_box dl {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
}
.content_st_license .detail_box dl dt {
  width: 40px;
  color: #ED8397;
  font-size: 28px;
  line-height: 1;
  padding-top: 5px;
}
.content_st_license .detail_box dl dd {
  width: calc(100% - 40px);
  font-size: 20px;
  line-height: 1.7;
  font-weight: 300;
  letter-spacing: 0.05em;
}
.content_st_license .detail_box dl * + dt, .content_st_license .detail_box dl * + dt + dd {
  margin-top: 20px;
}
@media screen and (max-width: 800px) {
  .content_st_license {
    flex-direction: column;
    gap: 4vw;
  }
  .content_st_license .head_box {
    width: 24vw;
    height: 24vw;
  }
  .content_st_license .head_box .head {
    font-size: 5.5vw;
  }
  .content_st_license .detail_box {
    width: 100%;
  }
  .content_st_license .detail_box dl dt {
    width: 8vw;
    font-size: 6vw;
    padding-top: 1.5vw;
  }
  .content_st_license .detail_box dl dd {
    width: calc(100% - 8vw);
    font-size: 4.5vw;
  }
  .content_st_license .detail_box dl * + dt, .content_st_license .detail_box dl * + dt + dd {
    margin-top: 2vw;
  }
}

/*===============================================================

	section_st_reg

===============================================================*/
/*-------------------------------------------------------------
	content_st_reg
-------------------------------------------------------------*/
.content_st_reg .head {
  color: #ED8397;
  font-size: 30px;
  line-height: 1.5;
  font-weight: 500;
  text-align: center;
}
.content_st_reg .read {
  text-align: center;
  margin-top: 10px;
}
.content_st_reg .txt_box {
  padding: 40px;
  margin-top: 50px;
  border: 1px solid #ED8397;
}
.content_st_reg .txt_box .boxhead {
  font-size: 18px;
  line-height: 1.5;
  font-weight: 400;
}
.content_st_reg .txt_box * + .boxhead {
  margin-top: 30px;
}
.content_st_reg .txt_box p {
  font-size: 16px;
}
.content_st_reg .txt_box * + p {
  margin-top: 10px;
}
@media screen and (max-width: 800px) {
  .content_st_reg .head {
    font-size: 5.5vw;
  }
  .content_st_reg .read {
    text-align: left;
    margin-top: 2vw;
  }
  .content_st_reg .txt_box {
    padding: 4vw 4vw 5vw;
    margin-top: 6vw;
  }
  .content_st_reg .txt_box .boxhead {
    font-size: 4vw;
  }
  .content_st_reg .txt_box * + .boxhead {
    margin-top: 4vw;
  }
  .content_st_reg .txt_box p {
    font-size: 4vw;
  }
  .content_st_reg .txt_box * + p {
    margin-top: 2vw;
  }
}

/*===============================================================

	section_st_link

===============================================================*/
/*-------------------------------------------------------------
	content_st_link	
-------------------------------------------------------------*/
.content_st_link .head {
  color: #ED8397;
  font-size: 30px;
  line-height: 1.5;
  font-weight: 500;
  text-align: center;
}
.content_st_link .box {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  gap: 4%;
  margin-top: 60px;
}
.content_st_link .item {
  display: flex;
  flex-direction: column;
  width: 580px;
  color: #fff;
  background: #FFACBB;
}
.content_st_link .item .img {
  /*IE対応*/
  min-height: 0%;
}
.content_st_link .item .txt {
  padding: 20px 30px 30px;
}
.content_st_link .item .title {
  font-size: 24px;
  line-height: 1.5;
  font-weight: 500;
  text-align: center;
}
.content_st_link .item p {
  line-height: 1.8;
  font-weight: 400;
  margin-top: 10px;
}
.content_st_link .item .btns {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 20px 30px 30px;
  margin-top: auto;
}
.content_st_link .item .btns .btn_detail {
  width: 48%;
  max-width: 100%;
  margin: 0;
}
.content_st_link .item .btns .btn_detail a {
  font-size: 20px;
}
@media screen and (max-width: 800px) {
  .content_st_link .head {
    font-size: 5.5vw;
  }
  .content_st_link .box {
    gap: 0;
    margin-top: 6vw;
  }
  .content_st_link .item {
    width: 100%;
  }
  .content_st_link .item .txt {
    padding: 4vw 4vw 4vw;
  }
  .content_st_link .item .title {
    font-size: 5vw;
  }
  .content_st_link .item p {
    margin-top: 2vw;
  }
  .content_st_link .item .btns {
    margin: 4vw;
    margin-top: 0;
  }
  .content_st_link .item .btns .btn_detail {
    width: 100%;
  }
  .content_st_link .item .btns .btn_detail + .btn_detail {
    margin-top: 2vw;
  }
  .content_st_link .item .btns .btn_detail a {
    font-size: 4vw;
  }
}





/* ========================================================
  ジョイバー愛撫講座の動画部分（SP版）
========================================================= */

@media only screen and (max-width:760px){
	.movie01 video {
		margin-top:20px;
		margin-left:2%;
		margin-right:2%;
	  width: 96%;
		height: 100%;
	}
	.movie02 video {
		margin-top:20px;
		margin-left:2%;
		margin-right:2%;
	  width: 96%;
		height: 100%;
	}
}


/*-------------------------------------------------------------
 アダム徳永 TOPページ内 セックスセラピスト部分のCSS
 https://adam-tokunaga.com/
-------------------------------------------------------------*/

/* PC向けレイアウトの指定 */
@media only screen and (min-width:761px){

	.section_sextherapist {
	  background: url("../images/top/bg_sextherapist.png") no-repeat center / cover;
		clear:both;
		padding-bottom:0px;
		margin-bottom:200px;
		height:590px;
	}
	.content_sextherapist .txt {
	  text-align: center;
	}
	.content_sextherapist .flex_container {
	  align-items: center;
	}
	.content_sextherapist .txt .head {
	  width: auto;
	  max-width: 490px;
	  margin: 0 auto;
	}
	.content_sextherapist .txt .read {
	  color: #000000;
	  font-size: 30px;
	  line-height: 1.5;
	  font-weight: 700;
	  margin-top: 10px;
	}
	.content_sextherapist ul {
	  margin-top: 20px;
	  margin-bottom: 20px;
		width : 100%;
	}
	.content_sextherapist li {
		width : 48%;
		display: inline-block;
	  font-size: 22px;
	  line-height: 1.8;
	  font-weight: 400;
		padding-left: 5px;
		text-align: left;
		white-space: nowrap;
	}
	.content_sextherapist .txt .btn_detail2 {
		font-size: 20px;
	  margin-top: 50px;
		color: red;
	}
	.btn_detail2 {
	  width: auto;
		max-width: 280px;
		margin: 0 auto;
		margin-top: 40px;
		background: #FFE3E9;
	}
	.btn_detail2 a {
	  position: relative;
		display: block;
		color: red;
		line-height: 18px;
	  text-align: center;
	  text-decoration: none;
		padding: 15px 0;
		border: 1px solid red;
	}
	.btn_detail2 a:hover {
		color: red;
		background: #ffffff;
	}

}
/* SP向けレイアウトの指定 */
@media only screen and (max-width:760px){

	.section_sextherapist {
	  background: url("../images/top/bg_sextherapist.png") no-repeat center / cover;
		clear:both;
		margin-bottom:120px;
		height: 160vw !important;
		width : 100%;
	}
	.content_sextherapist .txt {
	  text-align: center;
	}
	.content_sextherapist .flex_container {
	  align-items: center;
	}
	.content_sextherapist .txt .head {
	  margin: 0 auto;
	}
	.content_sextherapist .txt .read {
	  color: #000000;
	  font-size: 20px;
	  line-height: 1.5;
	  font-weight: 700;
	  margin-top: 10px;
	}
	.content_sextherapist ul {
	  margin-top: 20px;
		width : 100% !important;
	}
	.content_sextherapist li {
		width : 48%;
		display: inline-block;
	  font-size: 12px;
	  line-height: 1.8;
	  font-weight: 400;
		padding-left: 1%;
		text-align: left;
		white-space: nowrap;
	}
	.content_sextherapist .txt .btn_detail {
	  margin-top: 30px;
		background: #FFE3E9;
	}

}

/*-------------------------------------------------------------
 アダム徳永認定講師 セックスセラピスト一覧用CSS
 https://adam-tokunaga.com/sextherapist-list/
-------------------------------------------------------------*/

.content .course .note{
	margin-top:30px;
  background: #fff8e8;
  border: 1px solid #ED8397;
  color: #ff0000;
  font-size: 22px;
  font-weight: 400;
  text-align: center;
	display: block;
}

.content_sextherapist .headline02 {
	margin-top:50px;
}
.content_sextherapist .headline02 .title {
  color: #D79B00;
	font-size: 30px;
	line-height: 1.5;
	font-weight: 500;
  padding-bottom: 15px;
  border-bottom: 1px solid #D79B00;
}

.content_sextherapist .item {
	display: block;
	height:450px;
}

.content_sextherapist .item .txt p {
  font-size: 18px;
	font-weight: 500;
  line-height: 1.8;
  margin-top: 10px;
	text-align: center;
}

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {



	.content .course .name{
		font-size: 15px !important;
	}
	.content .course .note{
		margin-top:30px;
		background: #fff8e8;
		border: 1px solid #ED8397;
		color: #ff0000;
		font-size: 13px !important;
		font-weight: 400;
		text-align: left;
	}
	.content_sextherapist .headline02 .title {
		color: #D79B00;
		font-size: 17px;
		line-height: 1.5;
		font-weight: 500;
		padding-bottom: 15px;
		border-bottom: 1px solid #D79B00;
	}
	.content_sextherapist .fitimg img {
		margin-left:5%;
		width: 90%;
		max-height: 150vw !important;
		clear:both;
	}
	.content_sextherapist .flex_container .item_3_1 {
		width:100%;
		margin-left:2%;
		margin-right:2%;
		margin-top:0px;
		margin-bottom:15px;
		display: block;
	}

	.content_sextherapist .item {
		display: block;
		height:115vw !important;
	}

	.content_sextherapist .item .txt p {
	  font-size: 18px;
		font-weight: 500;
	  line-height: 1.4;
	  margin-top: 10px;
		text-align: center;
	}
	.content_sextherapist .lead {
	  padding-top: 20px;
		padding-bottom: 20px;
	}

}


/* ========================================================
  サイト全体の設定（PC版）
========================================================= */

@media only screen and (min-width:761px){
	.no_pc{
		display:none;
	}
}
/* ========================================================
  サイト全体の設定（SP版）
========================================================= */
@media only screen and (max-width:760px){
	.no_sp{
		display:none;
	}
}
