@charset "utf-8";

@media print, screen and (min-width: 701px) {
	.display-sp {
		display:none !important;
	}
}
@media screen and (max-width: 700px) {
	.display-pc {
		display:none !important;
	}
}

html, body, div, span, object, iframe,h1, h2, h3, h4, h5, h6, p, blockquote, pre,abbr, address, cite, code,del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,b, i,dl, dt, dd, ol, ul, li,fieldset, form, label, legend,table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
	margin:0;
	padding:0;
	border:0;
	vertical-align:baseline;
	background:transparent;
	list-style-type:none;
	font-size: medium;
	color: #000;
	font-family: "Meiryo UI", "メイリオ", Meiryo, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "Helvetica Neue", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-weight: 300;
	line-height: 1.65em;
}

a {
	text-decoration: none;
}

a:hover{
	text-decoration: none;
}

* {
	box-sizing:border-box;
	margin: 0;
	padding: 0;
}

img {
	vertical-align:bottom;
	width:100%;
}

/* -----------------------------------------------------------------------
　トップ
--------------------------------------------------------------------------*/
.fv-wrap {
	padding:50px 30px 0;
}

.text-block-wrap {
	padding:0 30px;
}

@media screen and (max-width: 960px) {
	.fv-wrap {
		padding:40px 5% 0;
	}
}

@media screen and (max-width: 700px) {
	.fv-wrap {
		padding:30px 5% 0;
	}
	.text-block-wrap {
		padding:0 5%;
	}
	.photo-block-wrap {
		padding:0 5px;
	}
}

.top-title {
	max-width:790px;
	margin:0 auto 85px;
}

@media print, screen and (min-width: 1161px) {
	.top-img-wrap-tab {
		display:none !important;
	}
}

@media screen and (max-width: 1160px) {
	.top-img-wrap-pc {
		display:none !important;
	}
}

@media print, screen and (min-width: 961px) {
	.top-title-sp,
	.top-img-wrap-sp {
		display:none !important;
	}
}

@media screen and (max-width: 960px) {
	.top-title-pc,
	.top-img-wrap-tab {
		display:none !important;
	}
	.top-title {
		max-width:420px;
		margin:0 auto 60px;
	}
}

@media screen and (max-width: 600px) {
	.top-title {
		width:85%;
		margin:0 auto 30px;
	}
}

.top-img-wrap-pc {
	max-width:1234.4px;
	margin:0 auto 70px;
	display:flex;
}

.top-img-pc {
	width:50%;
}

.top-img-wrap-tab {
	margin-bottom:50px;
}

.top-img-wrap-sp {
	max-width:520px;
	margin:0 auto 50px;
}

.top-img-sp-2 {
	padding-top:50px;
}

@media screen and (max-width: 600px) {
	.top-img-sp-2 {
		padding-top:30px;
	}
}

/* -----------------------------------------------------------------------
　本文
--------------------------------------------------------------------------*/
.body-block-wrap {
	max-width:922px;
	margin:0 auto;
}

@media screen and (max-width: 960px) {
	.body-block-wrap {
		max-width:520px;
		margin:0 auto 30px;
	}
}

.detail-wrap {
	margin-bottom:60px;
}

.detail-text {
	font-size:17px;
	line-height:1.8;
}

.detail-text-2 {
	font-size:17px;
	line-height:1.8;
	text-indent:-3em;
	padding-left:3em;
}

@media screen and (max-width: 960px) {
	.detail-wrap {
		border-top:1px solid #666;
		padding-top:30px;
		margin-bottom:35px;
	}
}

@media screen and (max-width: 700px) {
	.detail-text,
	.detail-text-2 {
		font-size:16px;
	}
}
@media screen and (max-width: 500px) {
	.detail-text {
		font-size:15px;
	}
}
@media screen and (max-width: 400px) {
	.detail-text {
		font-size:14px;
	}
}

.yoyaku-link-wrap {
	border-top:1px solid #666;
	border-bottom:1px solid #666;
	padding:50px 0 50px;
}

.yoyaku-text {
	font-size:18px;
	text-align:center;
	line-height:1.7;
	margin-bottom:40px;
}

@media screen and (max-width: 960px) {
	.yoyaku-text {
		font-size:16px;
	}
}
@media screen and (max-width: 700px) {
	.yoyaku-link-wrap {
		padding:30px 0;
	}
	.yoyaku-text {
		font-size:15px;
		margin-bottom:25px;
	}
}
@media screen and (max-width: 600px) {
	.yoyaku-text {
		font-size:14.5px;
		margin-bottom:25px;
	}
}

@media print, screen and (min-width: 961px) {
	.link-btn-wrap {
		display:flex;
		justify-content: center;
		margin:20px 0;
	}
}
@media screen and (max-width: 960px) {
	.link-btn-wrap {
		margin:20px 0;
	}
}

.link-btn {
	display:block;
	width:300px;
	padding:20px 0;
	background:#eb333d;
	border-radius:10px;
	margin:0 50px;
	font-size:18px;
	font-weight:bold;
	letter-spacing:1px;
	text-align:center;
	line-height:1.5;
	color:#fff;
	transition: 0.4s ease-in-out;
}

.btn-amazon {
	background:#f90;
}

.link-btn:hover {
	opacity:0.8;
	transform:scale(1.02,1.02);
	transition: 0.4s ease-in-out;
}

@media screen and (max-width: 960px) {
	.link-btn {
		width:80%;
		margin:0 auto 40px;
		font-size:17px;
	}
	.btn-yahoo {
		margin:0 auto;
	}
}

@media screen and (max-width: 700px) {
	.link-btn {
		font-size:16px;
	}
}

.summary-wrap {
	padding:65px 0 40px;
}

.summary-title {
	font-size:27px;
	font-weight:bold;
	line-height:1.45;
	margin-bottom:40px;
}

.summary-text {
	font-size:18.5px;
	line-height:1.8;
	text-align: justify;
	margin-bottom:25px;
}

@media screen and (max-width: 600px) {
	.summary-wrap {
		padding:50px 0 5px;
	}
	.summary-title {
		font-size:20px;
		margin-bottom:25px;
	}
	.summary-text {
		font-size:16px;
		margin-bottom:15px;
	}
}

.mokuji-wrap {
	border-top:1px solid #666;
	border-bottom:1px solid #666;
	padding:40px 0;
}

.mokuji-title {
	font-size:17px;
	margin-bottom:30px;
}

.mokuji-inner {
	display:flex;
}

.mokuji-left {
	width:45%;
}

.mokuji-right {
	width:55%;
}

@media screen and (max-width: 960px) {
	.mokuji-inner {
		display:block;
	}
	.mokuji-left {
		width:100%;
		margin-bottom:30px;
	}
	
	.mokuji-right {
		width:100%;
	}
}

.mokuji-midashi {
	font-size:19px;
	font-weight:bold;
	margin-bottom:10px;
}

.mokuji-text {
	font-size:17px;
	line-height:1.8;
}

.mokuji-text-indent {
	font-size:17px;
	line-height:1.8;
	padding-left:1.7em;
}

@media screen and (max-width: 600px) {
	.mokuji-title {
		font-size:16px;
		margin-bottom:17px;
	}
	.mokuji-midashi {
		font-size:17px;
	}
	.mokuji-text,
	.mokuji-text-indent {
		font-size:15px;
	}
}

@media print, screen and (min-width: 601px) {
	.prof-inaba-wrap {
		padding:50px 0;
		border-bottom:1px solid #666;
		display:flex;
		justify-content: space-between;
	}
	.inaba-photo {
		width:135px;
		padding-top:3px;
	}
	.inaba-prof {
		width:calc(100% - 175px);
	}
}

@media screen and (max-width: 960px) {
	.inaba-photo {
		width:120px;
		padding-top:3px;
	}
	.inaba-prof {
		width:calc(100% - 160px);
	}
}

@media screen and (max-width: 600px) {
	.prof-inaba-wrap {
		padding:35px 0 40px;
		border-bottom:1px solid #666;
	}
	.inaba-photo {
		width:135px;
		margin:0 auto 20px;
	}
	.inaba-prof {
		width:100%;
	}
}

.prof-wrap {
	padding:50px 0;
	border-bottom:1px solid #666;
}

.prof-title {
	font-size:18px;
	font-weight:bold;
	margin-bottom:13px;
}

.prof-text {
	font-size:16.5px;
	line-height:1.7;
	text-align: justify;
}

@media screen and (max-width: 600px) {
	.prof-wrap {
		padding:35px 0 40px;
	}
	.prof-title {
		font-size:17px;
	}
	.prof-text {
		font-size:15px;
	}
}

@media screen and (max-width: 500px) {
	.prof-title {
		font-size:16.5px;
	}
}

.yoyaku-link-wrap2 {
	padding:120px 0 50px;
}

@media screen and (max-width: 960px) {
	.yoyaku-link-wrap2 {
		padding:70px 0 50px;
	}
}

@media screen and (max-width: 700px) {
	.yoyaku-link-wrap2 {
		padding:45px 0 20px;
	}
}

.book-img {
	max-width:400px;
	margin:0 auto 15px;
}


/* -----------------------------------------------------------------------
　サイン販売会
--------------------------------------------------------------------------*/
.event-heading-wrap {
	padding:120px 20px 50px;
}

.event-heading01 {
	font-size:25.5px;
	text-align:center;
	margin-bottom:13px;
}

.event-heading02 {
	font-size:30px;
	font-weight:bold;
	text-align:center;
	margin-bottom:5px;
}

.event-heading03 {
	font-size:30px;
	font-weight:bold;
	text-align:center;
}

@media screen and (max-width: 960px) {
	.event-heading-wrap {
		padding:35px 20px 50px;
	}
	.event-heading01 {
		font-size:21px;
		margin-bottom:10px;
	}
	.event-heading02 {
		font-size:25px;
		margin-bottom:3px;
	}
	.event-heading03 {
		font-size:26px;
	}
}

@media screen and (max-width: 600px) {
	.event-heading-wrap {
		padding:20px 0 30px;
	}
	.event-heading01 {
		font-size:18px;
		line-height:1.55;
		margin-bottom:10px;
	}
	.event-heading02 {
		font-size:17.5px;
		margin-bottom:3px;
	}
	.event-heading03 {
		font-size:18px;
	}
}

.event-bg {
	background:#efefef;
	padding:50px 50px;
}

.event-schedule-title {
	font-size:30px;
	font-weight:bold;
	text-align:center;
	margin-bottom:30px;
}

.event-schedule-text {
	font-size:16px;
	text-align:center;
	margin-bottom:40px;
}

@media screen and (max-width: 960px) {
	.event-schedule-title {
		font-size:27px;
	}
}

@media screen and (max-width: 620px) {
	.event-schedule-title {
		font-size:23px;
	}
	.event-schedule-text {
		font-size:15px;
		text-align:left;
		margin-bottom:30px;
	}
}

@media screen and (max-width: 500px) {
	.event-schedule-title {
		font-size:20px;
		margin-bottom:20px;
	}
	
}

.event-box {
	background:#fff;
	position:relative;
}

.new-mark {
	position:absolute;
	width:60px;
	top:0;
	left:0;
}

@media screen and (max-width: 600px) {
	.new-mark {
		width:50px;
	}
}

.event-box-title {
	background:#000;
	font-size:17px;
	font-weight:bold;
	color:#fff;
	text-align:center;
	padding:4px 0;
}

.event-inner {
	padding:18px 30px 25px;
}

.event-box-text {
	font-size:16.5px;
	line-height:1.7;
	margin-bottom:14px;
}

.event-box-text-1 {
	font-size:16.5px;
	line-height:1.7;
	text-indent:-3em;
	padding-left:3em;
}

.event-box-text-1 span.text-nowrap {
	font-size:16.5px;
	white-space: nowrap;
}

.event-box-text-1-2 {
	font-size:16.5px;
	line-height:1.7;
	text-indent:-5em;
	padding-left:5em;
}

.event-box-text-1-last {
	margin-bottom:10px;
}

.event-box-midashi {
	font-size:16.5px;
	line-height:1.7;
	margin:22px 0 0;
}

.event-box-naiyou-text {
	font-size:15.5px;
	line-height:1.6;
	padding-left:50px;
	margin:0 0 12px;
}

.event-box-text-2 {
	font-size:16px;
	line-height:1.7;
	margin:22px 0 0;
}

.event-box-text-2 span.tel {
	font-size:16px;
	white-space: nowrap;
}

.sakusyu-kome-box {
	padding-left:50px;
	margin:6px 0 8px;
}

.event-box-text-kome {
	font-size:14.5px;
	line-height:1.5;
	text-align: justify;
	text-indent:-1em;
	padding-left:1em;
	margin:5px 0;
}

.text-justify {
	text-align: justify;
}

@media print, screen and (min-width: 1201px) {
	.event-schedule-wrap {
		max-width:1300px;
		margin:0 auto;
		display: flex;
		flex-wrap: wrap;
	}
	.event-box {
		width:31.5%;
		margin:0 1.375% 44px;
		transition: 0.2s ease-in-out;
	}
	.event-box:nth-child(3n) {
    	margin-right:0;
	}
	.event-box:nth-child(3n+1) {
    	margin-left:0;
	}
}

@media screen and (min-width:881px) and ( max-width:1200px) {
	.event-schedule-wrap {
		display: flex;
		flex-wrap: wrap;
	}
	.event-box {
		width:48%;
		margin:0 2% 36px;
		transition: 0.2s ease-in-out;
	}
	.event-box:nth-child(2n) {
    	margin-right:0;
	}
	.event-box:nth-child(2n+1) {
    	margin-left:0;
	}
}

@media screen and (max-width: 880px) {
	.event-box {
		margin-bottom:30px;
	}
}

@media screen and (max-width: 600px) {
	.event-bg {
		padding:30px 5% 10px;
	}
	.event-inner {
		padding:15px 23px 8px;
	}
	.event-box-text,
	.event-box-text-1,
	.event-box-text-1 span.text-nowrap,
	.event-box-text-1-2,
	.event-box-midashi,
	.event-box-naiyou-text,
	.event-box-text-2,
	.event-box-text-2 span.tel {
		font-size:15px;
	}
	.event-box-text-1-last {
		margin-bottom:7px;
	}
	.event-box-naiyou-text {
		padding-left:48px;
	}
	.event-box-text-kome {
		font-size:14px;
	}
}

/* -----------------------------------------------------------------------
　お問い合わせ
--------------------------------------------------------------------------*/
.contact-wrap {
	padding:50px 40px;
}

.contact-title {
	font-size:30px;
	font-weight:bold;
	text-align:center;
	margin-bottom:40px;
}

.contact-btn {
	display:block;
	width:230px;
	height:60px;
	padding:10px 5px 0 32px;
	background:#000;
	margin:0 auto 30px;
	transition: 0.2s ease-in-out;
}

.contact-btn-inner {
	display:flex;
}

.mail-icon {
	width:17%;
	padding-top:4px;
}

.mail-btn-text {
	width:82%;
	text-align:center;
	font-size:18px;
	font-weight:bold;
	line-height:38px;
	letter-spacing:0.03em;
	color:#fff;
	padding-right:10px;
}

.contact-btn:hover {
	opacity:0.7;
	transition: 0.2s ease-in-out;
}

.contact-text {
	font-size:16px;
	text-align:center;
	margin-bottom:20px;
}

@media screen and (max-width: 600px) {
	.contact-wrap {
		padding:30px 0 20px;
	}
	.contact-title {
		font-size:21px;
		margin-bottom:30px;
	}
	.contact-btn {
		transform:scale(0.9,0.9);
		margin:0 auto 25px;
	}
	.contact-text {
		font-size:14.5px;
	}
}

/* -----------------------------------------------------------------------
　TOPに戻るボタン
--------------------------------------------------------------------------*/
#page-top {
	all: unset;
    position: fixed;
    bottom: 30px;
    right: 30px;
    width:50px;
    height:50px;
    border-radius:50%;
    background:#000;
    z-index:200;
    text-align:center;
    display: flex;
	align-items: center;
	cursor: pointer;
	/* 最初は非表示 */
	opacity: 0;
	visibility: hidden;
	pointer-events: none; /* 非表示中はクリックできないようにする */
	transition: opacity 0.4s ease, visibility 0.4s ease;
}

#page-top.visible {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

#page-top:focus-visible {
  outline: 3px solid #09f;   /* 好きな色に変更可 */
  outline-offset: 0;
}

.arrow-up {
  position: relative;
  width:3px;
  height: 20px;
  background: #fff;
  margin:0 auto;
}

.arrow-up::before {
  content: '';
  width: 14px;
  height: 14px;
  border: 3px solid #fff;
  border-left: 0;
  border-bottom: 0;
  transform: rotate(-45deg);
  transform-origin: top right;
  position: absolute;
  top: -0.05em;
  right: 50%;
  box-sizing: border-box;
}

#page-top:hover {
    background:#a05e2e;
    transition: 0.4s ease-in-out;
}

@media screen and (max-width: 600px) {
	#page-top {
		bottom: 20px;
    	right: 20px;
    	width:40px;
    	height:40px;
	}
}