@charset "UTF-8";

* {
	margin: 0;
	padding: 0;
	list-style-type: none;
	border: none;
	box-sizing: border-box;
}

.cf:before,
.cf:after {
    content:"";
    display:table;
}
 
.cf:after {
    clear:both;
}

img {
	display: block;
}

::selection {
	background: #666;
	color: #FFF;
}

@font-face {
  font-family: 'Noto-DemiLight';
  src: url('../font/Noto-Regular.woff') format('woff'),
       url('../font/Noto-Regular.ttf')  format('truetype');
}

@font-face {
  font-family: 'GenEiKoburiMinT-R';
  src: url('../font/GenShinGothic-Light.woff') format('woff'),
       url('../font/GenShinGothic-Light.ttf')  format('truetype');
}

body {
	font-family: "Noto-DemiLight", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-size: 16px;
	color: #444;
	line-height: 1.7;
}

h1, h2, h3, h4, h5, h6 {
     font-weight: normal;
}

#return {
	width: 50px;
	height: 50px;
	position: fixed;
	bottom: 50px;
	right: 20px;
	z-index: 100;
}

a:link {
	color: #444;
	text-decoration: none;
}

a:hover {
	color: #444;
	text-decoration: none;
}

a:action {
	color: #444;
	text-decoration: none;
}

a:visited {
	color: #444;
	text-decoration: none;
}


/*ハンバーガー*/
#toggle {
    width: 34px;
    height: 34px;
    margin: 0 20px 0 0;
    display: none;
    position: absolute;
    right: 0;
    top: 20px;
    cursor: pointer;
    z-index: 200;
}
  
#toggle div {
    position: relative;
    margin: 0 0 0 0;
}
  
#toggle span {
    width: 100%;
    display: block;
    position: absolute;
    border-bottom: solid 2px #56A9E5;
    transition: .2s ease-in-out;
}
  
#toggle span:nth-child(1) { top: 0; }

#toggle span:nth-child(2) { top: 8px; }

#toggle span:nth-child(3) { top: 16px; }

#toggle small {
	position: absolute;
    left: 0;
    top: 25px;
}

/*フッター*/
footer {
	width: 100%;
}

footer.user {
	padding-bottom: 80px;
}

#toTop {
	max-width: 1061px;
	padding: 0 20px;
	margin: 0 auto 18px auto;
	text-align: right;
}

#toTop img {
	display: inline-block;
}

#toTop p {
	font-size: xx-small;
}

#footer_link {
	width: 100%;
	padding: 12px 0 32px 0;
	box-shadow: 0 0 4px #AAA; 
}

#link_block {
	max-width: 1020px;
	padding: 0 20px;
	margin: 0 auto;
}

#link_block div {
	margin: 0 52px 0 0;
	float: left;
}

#link_block div div {
	margin: 0 20px 0 0;
	float: left;
}

#link_block div:last-child {
	margin: 0 0 0 0;
}

#link_block div p {
	font-size: 13px;
	font-weight: bold;
	margin: 20px 0 8px 0;
}

#link_block div ul li {
	font-size: 10px;
	line-height: 1.8;
	display: block;
}

#link_block div ul li a {
	color: #666;
	text-decoration: underline;
}

#link_block div ul li a:hover {
	text-decoration: none;
}

#footer_contact {
	width: 100%;
	padding: 24px 0;
	font-size: 10px;
	box-shadow: 0 0 4px #AAA;
	background: #F7F7F7;
}

#contact_block {
	max-width: 1040px;
	padding: 0 20px;
	margin: 0 auto;
}

.contact_parts {
	width: 402px;
	float: left;
}

.contact_parts:nth-of-type(1) {
	border-right: 1px dotted #666;
}

.contact_parts:nth-of-type(1) div {
	width: 382px;
	margin: 0 0 16px 0;
	display: flex;
}

.contact_parts:nth-of-type(1) div p:last-child {
	margin: 0 0 0 16px;
}

.contact_parts:nth-of-type(1) p span {
	width: 382px;
	margin: 0 0 16px 0;
	display: block;
}

.contact_parts:nth-of-type(1) ul li {
	padding: 0 16px 0 8px;
	display: inline-block;
	background: url("../images/icon_arrow_right.png") no-repeat 0 4px;
}

.contact_parts:nth-of-type(2) div {
	margin: 0 0 16px 20px;
	display: flex;
}

.contact_parts:nth-of-type(2) div p:last-child {
	padding: 7px 4px;
	margin: 0 0 0 0;
}

.contact_parts:nth-of-type(2) div a {
	color: #00447F;
	text-decoration: none;
}

.contact_parts:nth-of-type(2) div a:hover {
	text-decoration: underline;
}

.contact_parts:nth-of-type(2) p:last-child {
	margin: 0 0 0 20px;
}

.contact_parts:nth-of-type(3) {
	width: 195px;
	display: flex;
}

.contact_parts:nth-of-type(3) p:last-child {
	padding: 8px;
}

.contact_parts:nth-of-type(3) p:last-child span {
	font-size: 13px;
	font-weight: bold;
	padding: 0 0 0 0.7em;
}

#credit {
	width: 100%;
	padding: 12px 20px;
	font-size: 12px;
	text-align: center;
	box-shadow: 0 0 4px #666;
	background: #D7D6CE;
}

@media screen and (max-width: 960px) {
body {
	font-size: 14px;
}

/*フッター*/
#footer_link,
#link_block {
	display: none;
	box-shadow: none; 
}

#contact_block {
	display: block;
}

.contact_parts,
.contact_parts:nth-of-type(3),
.contact_parts:nth-of-type(1) p span {
	width: 100%;
}

.contact_parts {
	margin: 0 0 30px 0;
}

.contact_parts:nth-of-type(1) {
	border-right: none;
}

.contact_parts:nth-of-type(2) {
	position: relative;
}

.contact_parts:nth-of-type(2) div {
	margin: 0 0 16px 0;
}

#mail_icon {
	position: absolute;
	right: 0;
	top: 0;
}

.contact_parts:nth-of-type(3) {
	margin: 0 0 0 0;
}

.contact_parts:nth-of-type(3) p:last-child {
	padding: 8px 8px 0 8px;
}
}

@media screen and (max-width: 940px) {
footer.user {
	padding-bottom: 100px;
}
}

@media screen and (max-width: 800px) {
/*フッター*/
#contact_block {
	padding: 0 0 0 0;
}

.contact_parts {
	margin: 0 0 0 0;
}

.contact_parts:nth-of-type(1) div,
.contact_parts:nth-of-type(1) p,
.contact_parts:nth-of-type(2),
.contact_parts:nth-of-type(3) {
	display: none;
}

.contact_parts:nth-of-type(1) ul {
	text-align: center;
}
}

@media screen and (max-width: 600px) {
footer.user {
	padding-bottom: 60px;
}
}