@charset "UTF-8";

/* GLOBAL */

/*----------------------------------------------------------------------------*/
/* basic elements
------------------------------------------------------------------------------*/

* {
	margin: 0;
	padding: 0;
}
html {
	overflow-y: scroll;
	font-size: 62.5%;
	line-height: 2;
	height: 100%;
}

a:link,
a:visited,
a:active,
a:hover {
	outline: none;
	text-decoration: underline;
	color: #0080e0;
}
@media screen and (min-width:768px) {
	a:not([rel]):hover {
		opacity: 0.7;
	}
}

h1, h2, h3, h4, h5, h6 {
	font-weight: normal;
}
hr     {display: none;}
img    {border: none; vertical-align: bottom;}
strong {font-weight: bold;}
em     {font-style: normal; font-weight: normal;}
small  {font-size: 0.8em;}
big    {font-size: 1.3em; font-weight: normal;}

/* font-family
------------------------------------------------------------------------------*/

.ts.shingoL {font-family: 'UD Shin Go NT Light';}
.ts.shingoR {font-family: 'UD Shin Go NT Regular';}
.ts.shingoM {font-family: 'UD Shin Go NT Medium';}
.ts.shingoDB {font-family: 'UD Shin Go NT DemiBold';}

.ts.shingoC70L {font-family: 'UD Shin Go Conde70 L';}

.ts.shinmarugoM {font-family: 'UD Shin Maru Go Medium';}

.ts.mb101L {font-family: 'Gothic MB101 Light';}
.ts.zegonL {font-family: 'ZenGoN Light';}

.ts.jkhandR {font-family: 'JKHandwriting Regular';}

/*----------------------------------------------------------------------------*/
/* body
------------------------------------------------------------------------------*/

body {
	background-color: #fff;
	color: #000;
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
	width: 100%;
	height: 100%;
}
.mincho {
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
/*	font-weight: 500;*/
}
.meiryo {
	font-family: 'Lucida Grande', 'Hiragino Kaku Gothic ProN', Meiryo, メイリオ, sans-serif;
}

p {
	font-size: 2em;
	line-height: 1.9;
}
.copy {
	font-size: 11px;
}

rt {
	text-decoration: none;
}

sup {
	font-size: 0.8em;
	margin: 0px 2px 0px 1px;
}
sub {
	font-size: .7em;
	vertical-align: baseline;
	margin: 0px 1px;
}

figure {
	text-align: center;
}

figure img {
	max-width: 100%;
	height: auto;
}

figcaption {
	font-size: 1.6em;
	line-height: 1.6;
	text-align: left;
	padding-top: 8px;
}
figcaption small {
	font-size: 0.7em;
}
figcaption .hosoku {
	font-size: 0.9em;
}

table {
	border-collapse: collapse;
}

th,
td {
	font-size: 1.5em;
	font-weight: normal;
	line-height: 1.6;
	text-align: left;
	padding: 10px 16px;
}

/* TABLET
--------------------------------------*/

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

	html {
		font-size: 75%;
	}
	
	figcaption {
		font-size: 1.8em;
	}
	figcaption small {
		font-size: 0.8em;
	}
}

/* SMP
--------------------------------------*/

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

	body {
		background-color: #fff;
		font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
		margin: 0;
		padding: 0;
		width: 100%;
		-webkit-text-size-adjust: 100%;
		word-wrap: break-word;
	}
	
	ul,
	li {
		margin: 0;
		padding: 0;
	}
	
	a {
		-webkit-tap-highlight-color: rgba(0, 0, 0, 0.2);
	}
	
	p {
		font-size: 1.8em;
		line-height: 1.9;
	}
	.copy {
		font-size: 11px;
	}
	
	rt {
		font-size: 9px;
		margin-bottom: 0;
	}
	
	figcaption {
		font-size: 1.5em;
		line-height: 1.6;
	}
	figcaption .hosoku {
		display: block;
		font-size: 0.85em;
	}
	
	th,
	td {
		font-size: 1.3em;
		line-height: 1.5;
		text-align: left;
		padding: 10px 8px 10px 8px;
	}
}

/*----------------------------------------------------------------------------*/
/* pgtop
------------------------------------------------------------------------------*/

.pgtop {
	display: none;
	position: fixed;
	right: 30px;
	bottom: 30px;
	z-index: 1000;
}

.pgtop a {
	display: block;
	overflow: hidden;
	border: 1px solid #555;
	border-radius: 50%;
	background-color: #fff;
	width: 54px;
	height: 0;
	padding-top: 54px;
	opacity: 0.4;
}
.pgtop a::after {
	content: "";
	display: block;
	position: absolute;
	left: calc(50% - 11px);
	top: calc(50% - 9px);
	border-left: 11px solid transparent;
	border-right: 11px solid transparent;
	border-bottom: 16px solid #333;
}
.pgtop a:hover {
	opacity: 0.6;
}

/* SMP
--------------------------------------*/

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

	.pgtwp {
		width: 100%;
		margin: 0;
	}
	.pgtop {
		right: 5vw;
		bottom: 8vw;
		margin: 0;
	}
	
	.pgtop a {
		width: 56px;
		padding-top: 56px;
		background-size: 56px auto;
		background-position: right 0 top 0;
		background-repeat: no-repeat;
		opacity: 0.6;
	}
}

/*----------------------------------------------------------------------------*/
/* pankuzu
------------------------------------------------------------------------------*/

nav.breadcrumb {
	padding-top: 15px;
}

nav.breadcrumb ol {
	list-style-type: none;
}

nav.breadcrumb ol li {
	display: inline;
	background: url(../img/pankuzu.png) right 0px top 2px no-repeat;
	background-size: 14px auto;
	font-size: 1.4em;
	line-height: 1;
	margin: 0;
	padding-right: 13px;
}
nav.breadcrumb ol li:last-of-type {
	background: none;
	padding-right: 0;
}

/* TABLET
--------------------------------------*/

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

	nav.breadcrumb {
		font-size: 1.3em;
		padding: 20px 0px 10px 0px;
	}
}

/* SMP
--------------------------------------*/

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

	nav.breadcrumb {
		padding: 4vw 3vw 2vw 3vw;
	}
	
	nav.breadcrumb ol li {
		background: url(../img/pankuzu.png) right 0px top 1px no-repeat;
		background-size: 15px auto;
		font-size: 1.4em;
		padding-right: 14px;
	}
}

/*----------------------------------------------------------------------------*/
/* sozai
------------------------------------------------------------------------------*/

/* marker */

.mk1 {
	border-radius: 0px 4px 6px 15px /  0px 10px 10px 40px;
	background-image: linear-gradient(0.5deg, #fce8ec, #fce8ec 60%, transparent 50%, transparent);
	font-weight: normal;
	padding: 0 5px;
}
.mk2 {
	border-radius: 0px 4px 6px 15px /  0px 10px 10px 40px;
	background-image: linear-gradient(0.5deg, #e0f4c8, #e0f4c8 60%, transparent 50%, transparent);
	font-weight: normal;
	padding: 0 5px;
}
.mk3 {
	border-radius: 0px 4px 6px 15px /  0px 10px 10px 40px;
	background-image: linear-gradient(0.5deg, #e6f9fb, #e6f9fb 60%, transparent 50%, transparent);
	font-weight: normal;
	padding: 0 5px;
}
.mk4 {
	border-radius: 0px 4px 6px 15px /  0px 10px 10px 40px;
	background-image: linear-gradient(0.5deg, #ffe0c8, #ffe0c8 60%, transparent 50%, transparent);
	font-weight: normal;
	padding: 0 5px;
}

/*----------------------------------------------------------------------------*/
/* snsbox
------------------------------------------------------------------------------*/

#snsbox {
	box-sizing: border-box;
	width: var(--art_wid);
	margin: 0 auto;
	padding-top: 40px;
}
#snsbox::after {content: ""; display: block; clear: both;}

#snsbox ul {
	float: right;
	list-style-type: none;
	text-align: right;
}

#snsbox li {
	display: inline-block;
	width: 38px;
	padding: 0;
	margin: 0 0 0 5px;
}

#snsbox li a i {
	display: block;
	color: #777;
	font-size: 38px;
	margin-top: 38px;
	opacity: 0.7;
}

#snsbox li a i:hover {
	opacity: 1;
}

/* TABLET
--------------------------------------*/

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

	#snsbox li {
		width: 60px;
	}
	
	#snsbox li a {
		padding-top: 60px;
	}
}

/* SMP
--------------------------------------*/

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

	#snsbox {
		float: none;
		width: 100%;
		padding-right: 4vw;
	}
	
}

/*----------------------------------------------------------------------------*/
/* footer
------------------------------------------------------------------------------*/

footer {
	position: relative;
	border-top: 1px solid #aaa;
	box-sizing: border-box;
	padding: 16px 0 60px 0;
	margin: 8px auto 0 auto;
	width: var(--art_wid);
}
footer::after {content: ""; display: block; clear: both;}

footer a:link,
footer a:visited,
footer a:active,
footer a:hover {
	color: #000;
	text-decoration: none;
}

footer .sogen {
	background: url(../../shared/img/sogen_mark.png) no-repeat;
	background-position: 0px 0px;
	background-size: 80px auto;
	padding-left: 85px;
}

footer h4 {
	color: #666;
	font-size: 2.4em;
	font-weight: normal;
	line-height: 1.2;
	padding-top: 6px;
}
footer h4 small {
	font-size: .65em;
}
footer p {
	font-size: 1.3em;
	line-height: 1.5;
}
footer a {
	color: #666;
}
footer p small {
	font-size: 11px;
}

/* banner */

.banner {
	float: right;
	list-style-type: none;
}
.banner::after {content: ""; display: block; clear: both;}

.banner li {
	float: left;
	box-sizing: border-box;
	font-size: 14px;
	line-height: 1;
	margin-left: 12px;
}
.banner li a {
	display: block;
	box-sizing: border-box;
	width: 300px;
	height: 60px;
}

.banner li.note a {
	border: 1px solid #aaa;
	background-color: #fff;
	padding: 10px 0 0 12px;
}
.banner li.note a img {
	display: block;
	padding-bottom: 8px;
	width: 65px;
	height: auto;
}

.banner li.machiok a {
	text-align: center;
	padding: 6px 0 0 0;
}
.banner li.machiok a img {
	width: 100%;
	height: auto;
}

/* SMP
--------------------------------------*/

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

	footer {
		padding: 4vw 4vw 20vw 4vw;
	}
	
	footer {
		position: relative;
		padding: 2vw 2vw 25vw 2vw;
		margin: 10vw 0 0 0;
		width: 100%;
	}
	footer::after {content: ""; display: block; clear: both;}
	
	footer .sogen {
		background-size: 19vw auto;
		padding-left: 20vw;
	}
	
	footer h4 {
		font-size: 5.8vw;
		padding-top: 1vw;
	}
	footer h4 small {
		font-size: .65em;
	}
	
	footer p {
		font-size: 14px;
		line-height: 1.5;
	}
	footer a {
		color: #666;
	}
	footer p small {
		font-size: 11px;
	}
	
	/* banner */
	
	.banner {
		float: none;
		padding: 0 0 3vw 0;
	}
	
	.banner li {
		float: none;
		font-size: 4.1vw;
		line-height: 1;
		margin: 0 0 3vw 0;
	}
	.banner li a {
		width: 80vw;
		height: 15vw;
		margin: 0 auto;
	}
	
	.banner li.note a {
		padding: 2.5vw 0 0 4vw;
	}
	.banner li.note a img {
		padding-bottom: 2vw;
		width: 22vw;
	}
	
	.banner li.machiok a {
		padding: 1vw 0 0 0;
	}
}

