@charset "utf-8";
/* =Reset default browser CSS.
Based on work by Eric Meyer: http://meyerweb.com/eric/tools/css/reset/index.html
-------------------------------------------------------------- */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table.table, caption, tbody, tfoot, thead, tr, th, td ,hr{border: 0;font-family: inherit;font-size: 100%;font-style: inherit;font-weight: inherit;margin: 0;outline: 0;padding: 0;vertical-align: baseline;}
:focus {outline: 0;}

ol, ul {list-style: none;}
table.table {border-collapse: separate;border-spacing: 0;}
caption, th, td {font-weight: normal;text-align: left;}
blockquote:before, blockquote:after,q:before, q:after {content: "";}
blockquote, q {quotes: "" "";}
a img{border: 0;}
figure{margin:0}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display: block;}
/* -------------------------------------------------------------- */
div.box_pp{
	display: inline;
	float:left;
	margin:0 auto;
	padding:0;
	width:20%;
}
.box_pp img{
  width: 220px;
  height: 20vw;
	max-height: 220px;
  object-fit:cover;
}
.form-all{
	padding:20px;
	font-family: 'Shippori Mincho B1', serif;
}
.form-text_ro{
    border: none;
    box-shadow: none;
    appearance: none;
    width:100%;
	font-size:1.1em;
	line-height: 1.4em;
    height: 2.2em;
    padding: 0 16px;
}
.jusho {
	width: 94%;
	background-color: #111;
	color:#D7DBFF;
	font-size: 1.1em;
	line-height: 1.4em;
    margin: 5px;
	border:solid 1px #555;
	border-radius: 10px;
}
.form-text_zip {
	color:#002058;
    height: 2.4em;
    padding: 0 16px;
    border-radius: 10px;
    border: none;
    box-shadow: 0 0 0 1px #555 inset;
    appearance: none;
}
.form-text_30 {
	color:#002058;
    height: 2.4em;
    width: 30%;
    padding: 0 16px;
    border-radius: 10px;
    border: none;
    box-shadow: 0 0 0 1px #555 inset;
    appearance: none;
}
.form-text_50 {
	color:#002058;
    height: 2.4em;
    width: 50%;
    padding: 0 16px;
    border-radius: 10px;
    border: none;
    box-shadow: 0 0 0 1px #555 inset;
    appearance: none;
}
.form-text_75 {
	color:#002058;
	height: 2.4em;
    width: 75%;
    padding: 0 16px;
    border-radius: 10px;
    border: none;
    box-shadow: 0 0 0 1px #555 inset;
    appearance: none;
}
.form-textarea {
	width:95%;
	height: 300px;
	vertical-align: top;
	color:#002058;
    padding: 4px 16px;
    border-radius:10px;
    border: none;
    box-shadow: 0 0 0 1px #555 inset;
    appearance: none;
    resize: vertical;
	display: block;
}
.form-text_30:focus,.form-text_50:focus,.form-text_75:focus,.form-text_zip:focus,.form-textarea:focus {
    outline: 0;
    box-shadow: 0 0 0 2px rgb(33, 150, 243) inset;
}
.load-fade {
  opacity: 0;
  visibility: hidden;
  transition: all 1s;
}
.load-fade.is-show {
  opacity: 1;
  visibility: visible;
}
.scroll-up {
  opacity: 0; 
  visibility: hidden;
  transform: translateY(50px);
  transition: all 1s;
}
.scroll-up.is-show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0px);
}
html {
	scroll-behavior: smooth;
}
body {
	color:#fff;
	background:#000;
}
strong {font-weight:800;}

a:link	{color:#00a;text-decoration:underline}
a:visited	{color:#00a;text-decoration:underline}
a:hover	{color:#a00;text-decoration:underline}
a:active	{color:#c00;text-decoration:underline}
figure{
	align-items: center;
}
figcaption{
	font-size:1.1em;
	padding:10px 0;
}
img{
	max-width:100%;
	height: auto;
	vertical-align:top;
}
#all {
	word-wrap:break-word;
	overflow: hidden;
	margin-top: 0px;
	margin-bottom: 0px;
	box-shadow: none;
	width:100%;
}
#contents {
	margin-top:0;
	padding:5px;
	word-wrap:break-word;
	overflow: hidden;
	margin-bottom: 0px;
	max-width:100%;
	margin:5px auto;
	clear:both;
}
/* mobile first */

#naviline {
	position: fixed;
	margin:0;
	padding:0;
	display: block;
	z-index: 79;
	width:100%;
	height:36px;
	clear: both;
	color:#fff;
	background-color: #000 !important;
}
#naviline a:link	{color:#fff;text-decoration:none}
#naviline a:visited	{color:#fff;text-decoration:none}
#naviline a:hover	{color:#fff;text-decoration:none}
#naviline a:active	{color:#fff;text-decoration:none}

#sitename{
    display:flex;
	align-items: center;
	align-content: center;
	padding:0;
	margin-left:0;
	width:600px;
	height:36px;
	float:left;
}
#sitename > p.pctitle {
	width:300px;
	font-size:1em;
	font-family: 'Shippori Mincho B1', serif;
	padding:0;
	margin-left:10px;
	float:left;
}
#sitename > p.pcatch {
	width:200px;
	font-size:0.9em;
	font-family: 'Shippori Mincho B1', serif;
	padding:0;
	margin-left:10px;
	float:left;
}
div.whitebox{
	background:#fff;
	border:solid 1px #555;
	padding:10px;
	color:#000;
	margin-top:36px;
}
div.blackbox{
	background:#000;
	border:solid 1px #555;
	padding:10px;
	color:#fff;
	margin-top:36px;
}
a:link		{color:#00c;text-decoration:underline}
a:visited	{color:#00c;text-decoration:underline}
a:hover		{color:#c00;text-decoration:underline}
a:active	{color:#c00;text-decoration:underline}

hr {
	border-top: 5px dashed #fc9;
	background: #fff;
	clear: both;
}

h2 {
	font-size:3.6em;
	line-height:5em;
	font-family: 'Shippori Mincho B1', serif;
	text-align: center;
}
h3 {
	font-size:1.6em;
	line-height:2.6em;
	font-family: 'Shippori Mincho B1', serif;
	text-align: center;
}
h3.about {
	font-size:1.2em;
	line-height:2em;
	text-align: left;
}
p {
	font-family: 'Shippori Mincho B1', serif;
	font-size:1em;
	line-height:1.3em;
	padding-left:18px;
	margin:5px;
}
p.p1c{
	text-align:center;
}
.center{
	text-align:center;
}
h2.alp{
	font-size:4em;
	line-height:3em;
	font-family: 'Great Vibes', cursive;
	margin-bottom:-0.5em;
}
h3.alp{
	font-size:2em;
	line-height:3em;
	font-family: 'Great Vibes', cursive;
}
div.waku{padding:5px 0;}

.red{color:#900;}
.clear {clear:both;}

/* scroll */
.pagetop {
	display: none;
	position: fixed;
	bottom: 20px;
	right: 20px;
	opacity:0.7;
}
.pagetop a {
	font-family: 'Shippori Mincho B1', serif;
	display: block;
	width: 40px;
	height: 40px;
	background-color: #666;
	border-radius: 50px;
	text-align: center;
	color: #fff;
	font-size: 1.2em;
	text-decoration: none;
	line-height: 2em;
}

/* ========== styles for mobile ==========*/
.box70{width:100%;}
.box50{width:100%;}
.box33{width:100%;}
.box30{width:100%;}
.box25{width:100%;}
.box25photo{
	padding-top:5px;
	width:100%;
	transform: rotate(3deg);
}
figcaption {
	font-family: 'Shippori Mincho B1', serif;
	text-align: center;
	font-size:0.9em;
	line-height: 1.1em;
}
#g_navi {
	display:none;
}
.img_sp{display:block;text-align:center;}
.img_pc{display:none;}
#sitename p.sptitle {
	display:block;
}
#sitename p.pctitle {
	display:none;
}
#sitename p.pcatch {
	display:none;
}

/* slicknav */

#navi {
  position: relative;
  margin: 1em 0;
  height: 20px;
}
#menu {
  display: block;
  height: auto;
  margin: 0;
  padding: 0;
}
#menu li {
  float: left;
  width: 20%;
  text-align: center;
  position: relative;  /*z-indexの指定や子要素の基準とするために指定*/
  z-index:99;
}
#menu li a {
  padding: 0 20px 10px;
  border-top: none;
  border-right: none;
  background: none;
  color: #555555;
  display: inline-block;
  margin: auto;
  text-shadow: -1px 1px rgba(255, 255, 255, 0.8);
}
#menu li a:hover {
  background: none;
  color: #97C1F3;
}
#menu li a:active {
  color: #5687F8;
}
#menu li ul.sub-menu {
  display: none;  /*サブメニューは最初は非表示にしておく*/
  position: absolute;  /*絶対配置にしておかないとうまくいかない*/
  top: 2em;
  left: 30%;
}
#menu li:hover ul.sub-menu {
  display: block;    /*マウスオーバー時にサブメニューを表示する*/
}
#menu li ul.sub-menu li {
  float: none;  /*サブメニューはフロートさせないので解除*/
}
 
/*背景色などのカスタマイズ*/
.slicknav_nav li {
  border-top: 1px solid #999;
}
.slicknav_menu {
	font-family: 'Shippori Mincho B1', serif;
	font-size: 1em !important;
	text-align: right;
	display:block;
	margin:0;
	padding:0;
	z-index: 100;
	width:100%;
	clear: both;
	position: fixed;
	box-sizing: border-box;
	color:#fff;
	background: #000 !important;
}
.slicknav_nav a {
	font-size:1em;
	padding:0;
	margin: 0;
	text-align: center;
    text-decoration: none;
	color: #fff !important;
	opacity:1;
}
.slicknav_menu .slicknav_icon-bar {
  background-color: #fff !important;
}
.slicknav_menu a:hover {
  color: #fff !important;
}
.slicknav_btn {
  background: none !important;
}
.slicknav_nav .slicknav_row:hover {
  background: #000 !important;
}
.slicknav_nav a:hover {
  background: #000 !important;
}
i.fa {
  font-size: 18px;
}
i.fa.fa-caret-right {
  display: none;
}
#menu {
  display: none;
}
/*ハンバーガーメニューのエフェクト*/
.slicknav_icon,
.slicknav_icon span {
    display: inline-block;
    transition: all .4s;
    box-sizing: border-box;
}
.slicknav_icon {
    position: relative;
    width: 40px;
    height: 40px;
}
.slicknav_menu .slicknav_icon-bar{
    position: absolute;
    left: 0;
	color: #004;
}
.slicknav_icon span:nth-of-type(1) {
    top: -2px;
}
.slicknav_icon span:nth-of-type(2) {
    top: 2px;
}
.slicknav_icon span:nth-of-type(3) {
    bottom: 0.5px;
}
.active .slicknav_icon-bar:nth-of-type(1) {
    -webkit-transform: translateY(5px) rotate(-45deg);
    transform: translateY(5px) rotate(-45deg);
}
.active .slicknav_icon-bar:nth-of-type(2) {
    opacity: 0;
}
.active .slicknav_icon-bar:nth-of-type(3) {
    -webkit-transform: translateY(-9px) rotate(45deg);
    transform: translateY(-9px) rotate(45deg);
}

/* styles for tablet */
@media screen and (min-width : 767.8px ){
.box70{width:70%;float:left;}
.box50{width:50%;float:left;}
.box33{width:32%;float:left;}
.box30{width:30%;float:left;}
.box25{width:25%;float:left;}

.img_sp{display:none;}
.img_pc{display:block;text-align:center;}

#sitename{
	width:500px;
	margin-left:5px;
	padding:0;
	border: none;
}
#sitename > p {
	font-size: 1.6em;
	line-height:2.2em;
	color:#fff;
	float:left;
}
#sitename > p.catch {
	font-size: 1.0em;
	line-height:1.1em;
	color:#fff;
}
#sitename p.sptitle {
	display:none;
}
#sitename p.pctitle {
	display:block;
}
#sitename p.pcatch {
	display:block;
}
#sitename > p.pcatch {
	font-size: 1em;
	line-height:1.1em;
	color:#fff;
}
}
/* styles for desktop */
@media screen and (min-width : 960px ){
#menu {
	display:none;
}
.slicknav_menu {
	display:none;
}

.img_sp{display:none;}
.img_pc{display:block;text-align:center;}
#footer p {
	text-indent: 0;
	font-size: 1em;
	line-height: 1.2em;
	margin: 0;
	padding: 2px;
}
#contents{
	max-width:1100px;
}
/* -+-+-+-+-+-+-+-+-+-+-+-+- Global Navi Style */
#g_navi {
	display:block;
	width:400px;
	height: 36px;
	padding:0;
	border: none;
	margin-right:0px;
	float:right;
}
#g_navi ul {
	margin: 0;
	padding:0px;
	height:36px;
}

#g_navi li {
	margin: 0;
	display:inline;
	list-style-type:none;
	text-align: center;
	height:36px;
}
#g_navi li a {
	font-family: 'Shippori Mincho B1', serif;
	font-size:1em;
	line-height:1em;
	color:#fff;
		height:22px;
	padding:10px 0 0 0;
	display:block;
	float:left;
	text-decoration:none;
	overflow:hidden;
	margin-top:0;
}
#g_navi li a:hover {
	color:#fff;
	border-bottom: solid 2px #666;
			height:22px;

}
/*------off*/
#g_navi li.g_navi01 a {
	width:100px;
}
#g_navi li.g_navi02 a {
	width:100px;
}
#g_navi li.g_navi03 a {
	width:100px;
}
#g_navi li.g_navi04 a {
	width:100px;
}
/*------hover*/
#g_navi li.g_navi01 a:hover {
}
#g_navi li.g_navi02 a:hover {
}
#g_navi li.g_navi03 a:hover {
}
#g_navi li.g_navi04 a:hover {
}
/*------on*/
#g_navi li.g_navi01_on a {
	width:100px;
}
#g_navi li.g_navi02_on a {
	width:100px;
}
#g_navi li.g_navi03_on a {
	width:100px;
}
#g_navi li.g_navi04_on a {
	width:100px;
}
}
