@charset "utf-8";

@font-face {
  font-family: "Yu Gothic M";
  src: local("Yu Gothic Medium");
}

body {
	position: relative;
  background: #fff;
  width: 100%;
	color: #000;
  font-weight: 400;
  -webkit-text-size-adjust: 100%;
  font-feature-settings : "palt";
  font-family: "Times New Roman", "游明朝", "Yu Mincho","Hiragino Mincho Pro", serif; 
}

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

a:hover {
	opacity: 0.5;
}


/*PC用*/
@media print,screen  {
  .pc { display: block !important }
  .sp { display: none !important }
  .sp_menu, #sp_global_nav { display: none; }
	
	/*------------------------------
	
	#contents
	
	------------------------------*/
	#contents {
		min-height: 100vh;
	}
	
	/*------------------------------
	
	header
	
	------------------------------*/
	header {
		display: flex;
		justify-content: space-between;
	}
	
	body:not(#top) header {
		padding: 3vw 0 0.78125vw 0;
		border-bottom: 3px solid #000;
	}	
	
	body:not(#top) header h1 {
		padding: 0 1vw 0 3.125vw;
	}	
	
	body:not(#top) header ul {
		display: flex;
		padding: 0 3.125vw;
	}
	
	body:not(#top) header ul a {
		display: inline-block;
		padding: 0 0 0 3.125vw;
		font-size: 20px;
	}
	
	body:not(#top) header ul a:hover {
		opacity: 0.5;
	}
	
	
	
	/*------------------------------
	
	main
	
	------------------------------*/
	main {
		display: block;
	}
	
	.container {
		max-width: calc(1280px + 6.25vw);
		padding: 3vw 3.125vw;
		margin: auto;
		font-size: 16px;
	}
	
	body:not(#top) .container {
		min-height: calc(100vh - (61px + 3vw + 0.78125vw + 6vw));
	}
	
	/*------------------------------

	#next
	
	------------------------------*/
	#next {
		position: fixed;
		right: 0;
		bottom: 0;
		width: 200px;
		padding: 3vw 3.125vw;
	}
	
	#next a {
		position: relative;
		display: block;
		font-size: 26px;
		line-height: 1;
		border-bottom: 2px solid #000;
	}
	
	#next a:hover {
		opacity: 0.5;
	}
	
	#next a::after {
		content: "";
		position: absolute;
		right: -3px;
		bottom: 5px;
		display: block;
		width: 20px;
		height: 1.5px;
		background: #000;
		transform: rotate(45deg);
	}
	
	#next a span {
		display: block;
		padding: 5px 0;
		font-size: 18px;
	}

	/*------------------------------
	見出し
	------------------------------*/
	/* .headline_01 */
	.headline_01 {
		margin-bottom: 1.2em;
		font-size: 18px;
		font-weight: normal;
	}

	.headline_01 span {
		display: inline-block;
		margin-right: 0.5em;
		font-size: 30px;
		font-weight: normal;
	}

	/* .headline_02 */
	.headline_02 {
		margin-bottom: 1.2em;
		font-size: 18px;
		line-height: 1.6;
		text-align: center;
		font-weight: normal;
	}

	.headline_02 span {
		display: block;
		font-size: 30px;
		font-weight: normal;
	}

	/* .headline_03 */
	.headline_03 {
		margin-bottom: 0.5em;
		font-size: 20px;
		line-height: 1.6;
		font-weight: normal;
	}

	.headline_03 span {
		display: inline-block;
		margin-right: 0.5em;
		padding: 3px;
		color: #fff;
		font-weight: normal;
		background: #000;
	}

	/* .headline_04 */
	.headline_04 {
		margin: 1em 0 0.5em;
		font-size: 20px;
		line-height: 1.6;
		font-weight: normal;
	}

	
}



/*SP用*/
@media screen and (max-width:640px) {
  .pc { display: none !important }
  .sp { display: block !important }
  img { max-width: 100%; height: auto; width: auto; }
  body { min-width: auto !important; overflow: inherit !important; }
  .sp_tac { text-align: center !important; }
  .sp_tar { text-align: right !important; }
  .sp_mb15 { margin-bottom: 15px !important; }
  .sp_mb20 { margin-bottom: 20px !important; }
  div, p, dd, dl, dt, th, td, span, li { box-sizing: border-box; }
	
	
}

/* 印刷用 */
@media print {
  body { zoom: 0.6; -webkit-print-color-adjust: exact; }
}

/* 印刷用 IE10以上 */
@media print and (-ms-high-contrast:none) {
	@page { size: A4; margin: 12.7mm 9.7mm; }
	body { zoom: 1.8; width: 1200px; transform: scale(0.5); transform-origin: 0 0; }
}