@charset "utf-8";
* {
	margin: 0;
	padding: 0;
}
body {
	color: #000000;
	font-size: 62.5%;
	font-family: 'Noto Sans JP', sans-serif;
	background: #FFFFFF;
}
br.sp {
	display: none;
}
#wrapper {
	width: 100%;
	overflow-x: hidden;
}
.inner {
	margin: 0 auto;
	padding: 0px 40px;
	overflow: hidden hidden;
}
header {
	width: 100%;
	overflow: hidden hidden;
}
header #headline {
	width: 100%;
	height: 100px;
	color: #FFFFFF;
	background: #016436;
	overflow: hidden hidden;
}
header #headline .inner {
	display: flex;
	flex-direction: row-reverse;
	justify-content: flex-end;
	width: 1080px;
	margin: 0 auto;
	padding: 0;
}
header #headline .inner .headline_info {
	width: auto;
	line-height: 100px !important;
}
header #headline .inner .headline_info #header_logo {
	display: inline-block;
	width: 150px;
	height: 48px;
	margin-top: 26px;
}
header #headline .inner .headline_info #header_name {
	display: inline-block;
	width: 270px;
}
header .headline_info h1#header_name {
	margin-top: 30px;
	padding-left: 20px;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1rem;
}
header .headline_info h1#header_name span {
	display: inline-block;
	margin-top: 12px;
	font-size: 0.9rem;
	font-weight: 400;
	letter-spacing: 1.1px;
}
header #main_view_pc {
	background: #FFFFFF;
}
header #main_view_pc img {
	width: 100%;
	height: auto;
	pointer-events: none;
}
header #main_view_sp {
	display: none;
}
header #main_view_sp img {
	width: 100%;
	height: auto;
	pointer-events: none;
}
main {
	color: #000000;
	background: #FFFFFF;
}
.heading_items h2 {
	position: relative;
	width: -moz-fit-content;
	width: fit-content;
	margin: 145px auto 70px auto;
	padding: 0 45px;
	color: #272040;
	font-size: 2.5rem;
	font-family: 'Shippori Mincho B1', serif;
	font-weight: 200;
	text-align: center;
}
.heading_items h2::after {
	position: absolute;
	right: 0px;
	top: 1.25rem;
	display: inline-block;
	content: '';
	width: 22px;
	height: 22px;
	background-color: #016436;
}
.heading_items h2::before {
	position: absolute;
	left: 0px;
	top: 1.25rem;
	display: inline-block;
	content: '';
	width: 22px;
	height: 22px;
	background-color: #016436;
}
.heading_items h2 span {
	display: block;
	margin-top: 10px;
	font-size: 1rem;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
	letter-spacing: 0.5px;
}
.container {
	display: flex;
	justify-content: space-between;
	flex-direction: row;
	width: 1000px;
	margin: 0 auto;
}
.container .container_box {
	width: 480px;
}
.container .container_box #facebook_header {
	width: 480px;
	height: 45px;
	margin-bottom: 20px;
	color: #FFFFFF;
	font-size: 1rem;
	font-weight: 700;
	text-align: center;
	background: #016436;
	line-height: 46px;
}
.container .container_box #facebook_iframe {
	width: 480px;
	height: 320px;
}
.container .container_box #facebook_iframe iframe {
	width: 480px;
	height: 320px;
	border: none;
}
.container .container_box p.box1 {
	margin-bottom: 30px;
}
.container .container_box .activity_img img {
	width: 480px;
	height: auto;
}
#main_message {
	width: 1000px;
	margin: 0 auto 65px auto;
}
#main_message p {
	margin-bottom: 1.5em;
	color: #232323;
	font-size: 1.2rem;
	text-align: center;
	line-height: 220%;
}
#main_message p#sign {
	margin-bottom: 60px;
	text-align: right;
}
#main_message p #signature {
	width: 190px;
	height: auto;
}
.my_photographs {
	display: flex;
	justify-content: space-between;
	flex-direction: row;
	width: 936px;
	margin: 0 auto;
}
.photographs_box {
	width: 448px;
}
.photographs_box img {
	width: 448px;
	height: auto;
}
.photos_description {
	width: auto;
	margin: 20px auto 55px auto;
	color: #232323;
	font-size: 1.2rem;
	text-align: center;
}
article {
	width: 1080px;
	margin: 0 auto;
}
article h2#policy_heading_image_pc {
	width: 1080px;
	height: auto;
	margin: 40px auto;
}
article h2 img {
	width: 1080px;
	height: auto;
}
#policy_heading_image_sp {
	display: none;
}
article section {
	margin-bottom: 35px;
	padding: 5px 35px 20px 35px;
	background: #FFFFFF;
	border: 6px solid #016436;
}
.my_policy_heading {
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	align-items: center;
	padding-top: 10px;
	line-height: 55px;
	overflow: hidden hidden;
}
.my_policy_heading p {
	display: block;
	width: 108px;
	height: 108px;
	margin-right: 25px;
}
.my_policy_heading p.icons img {
	width: 108px;
	height: 108px;
}
.my_policy_heading h3 {
	width: calc(100% - 135px);
	height: 55px !important;
	text-align: left;
	line-height: 55px !important;
	border-bottom: 3px solid #016436;
	overflow: hidden hidden;
}
.my_policy_heading h3 #policy_heading_1 {
	width: 480px;
	height: 52px;
}
.my_policy_heading h3 #policy_heading_2 {
	width: 256px;
	height: 52px;
}
.my_policy_heading h3 #policy_heading_3 {
	width: 326px;
	height: 52px;
}
.my_policy_heading h3 #policy_heading_4 {
	width: 147px;
	height: 52px;
}
.my_policy_description {
	margin-top: 15px;
	overflow: hidden hidden;
}
.my_policy_description p {
	font-size: 1rem;
	line-height: 220%;
}
.my_policy_description p img {
	float: left;
	display: block;
	width: 345px;
	height: auto;
	margin-right: 25px;
}
#profile .inner { /* 33行と共通項 */
	display: flex;
	flex-direction: row-reverse;
	justify-content: flex-end;
	width: 1080px;
}
#profile .inner #my_history {
	/* margin-left: -25px; */
	line-height: 220%;
}
#my_history dl {
	display: block;
	width: 595px;
	margin-left: 100px;
	padding-left: 25px;
}
#my_history dl div {
	margin-bottom: 0.5rem;
	color: #232323;
	font-size: 1.1rem;
	overflow: visible;
}
#my_history dl div dt {
	position: relative;
	float: left;
	margin-right: 1em;
}
#my_history dl div dt:before {
	position: absolute;
	left: -35px;
	top: 5px;
	display: inline-block;
	content: '';
	width: 16px;
	height: 16px;
	background-color: #016436;
}
#my_history dl div#nomark dt:before { /* ？ */
	position: absolute;
	left: -35px;
	top: 5px;
	display: inline-block;
	content: '';
	width: 16px;
	height: 16px;
	background-color: #FFFFFF;
}
#my_history dl div dd span {
	display: inline-block;
	position: relative;
	top: -1rem;
}
#profile .inner #recent_image {
	width: 364px;
}
#profile .inner #recent_image img {
	width: 364px;
	height: auto;
	pointer-events: none;
}
#rooting_for_you {
	width: 1080px;
	margin: 150px auto;
}
#rooting_for_you h2 img {
	display: block;
	width: 1080px;
	height: auto;
}
#rooting_message {
	display: flex;
	flex-direction: row-reverse;
	width: 1080px;
	margin-top: -35px;
	margin-right: -20px;
	padding: 25px 0px;
	background: transparent url(./images/cheer_bottom_sp.png) no-repeat center bottom / cover;
}
#syouji_nishida {
	width: 316px;
	margin-left: -60px;
}
#syouji_nishida img {
	width: 256px;
	height: auto;
}
#message_from_nishida {
	width: 680px;
	font-size: 1.2rem;
	line-height: 180%;
	transform: translate(-80px);
}
#message_from_nishida #with_boss {
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
	width: 720px;
	margin: -50px 0px 50px 0px;
	transform: translate(-50px,45px);
	overflow-x: visible;
}
#message_from_nishida #with_boss p {
	display: block;
}
p#name_of_boss {
	margin-top: 80px;
	text-align: right;
	font-size: 0.9rem;
}
p#name_of_boss span {
	font-size: 2rem;
 }
p#with_boss_pict {
	width: 305px;
	margin-bottom: -20px;
	padding-left: 20px;
 }
p#with_boss_pict img {
	width: 285px;
	height: auto;
}
footer {
	padding: 50px 0px 70px 0px;
	color: #FFFFFF;
	background: #016436;
}
footer .inner {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	width: 1080px;
	padding: 0px 40px;
}
#footer_info {
	line-height: 160%;
}
#footer_info a {
	color: #FFFFFF;
	text-decoration: none;
}
#footer_info a:hover {
	color: #FFFFFF;
	text-decoration: underline;
}
#footer_title {
	font-size: 2rem !important;
	font-weight: 700;
	line-height: 160%;
}
#footer_info {
	font-size: 0.8rem;
}
#footer_copyright small {
	font-size: 0.8rem;
}
@media only screen and (max-width: 1160px) {
	br.sp {
		display: inline !important;
	}
	br.pc {
		display: none;
	}
	span.slash {
		display: block;
		text-indent: -9999px;
	}
	header #headline {
		width: 100%;
		height: 100px;
		color: #FFFFFF;
		background: #016436;
		overflow: hidden hidden;
	}
	header #headline .inner {
		display: flex;
		flex-direction: row-reverse;
		justify-content: space-between;
		width: 92%;
		margin: 0 4%;
	}
	header #headline .inner .headline_info #header_logo {
		display: inline;
		width: 150px;
		height: auto;
		margin-top: 26px;
	}
	header #headline .inner .headline_info #header_name {
		display: inline-block;
		width: auto;
		text-align: right;
	}
	header #main_view_pc {
		display: none;
	}
	header #main_view_sp {
		display: block;
	}
	header #main_view_sp img {
		width: 100%;
		height: auto;
		pointer-events: none;
	}
	.heading_items h2 {
		position: relative;
		width: -moz-fit-content;
		width: fit-content;
		font-size: 1.5rem;
		margin: 70px auto;
		padding: 0 35px;
	}
	.heading_items h2::after {
		top: 0.5rem;
		width: 20px;
		height: 20px;
		background-color: #016436;
	}
	.heading_items h2::before {
		top: 0.5rem;
		width: 20px;
		height: 20px;
		background-color: #016436;
	}
	.container {
		display: block;
		width: 90%;
		margin: 0 5%;
	}
	.container .container_box {
		width: 100%;
		overflow: hidden hidden;
	}
	.container .container_box #facebook_header {
		width: 100%;
		height: 45px;
		margin-bottom: 20px;
		color: #FFFFFF;
		font-size: 1rem;
		font-weight: 700;
		text-align: center;
		background: #016436;
		line-height: 45px;
	}
	.container .container_box #facebook_iframe {
		width: 100%;
	}
	.container .container_box #facebook_iframe iframe {
		width: 100%;
		height: 480px;
		border: none;
	}
	.container .container_box p.box1 {
		margin: 30px 0px;
	}
	.container .container_box .activity_img img {
		width: 100%;
		height: auto;
	}
	#main_message {
		width: 90%;
		margin: 0 5%;
		padding: 0px !important;
	}
	#main_message p {
		margin-bottom: 1.5em;
		color: #232323;
		font-size: 1.1rem;
		text-align: center;
		line-height: 220%;
	}
	#main_message p#sign {
		margin-bottom: 60px;
		text-align: center;
	}
	.my_photographs {
		display: flex;
		justify-content: space-between;
		flex-direction: row;
		width: 90%;
		margin: 0 5%;
	}
	.photographs_box {
		width: calc(50% - 2%);
	}
	.photographs_box img {
		width: 100%;
		height: auto;
	}
	.photos_description {
		width: auto;
		margin: 20px auto 55px auto;
		color: #232323;
		font-size: 0.8rem;
		text-align: center;
	}
	article {
		width: 90%;
		margin: 0 5%;
	}
	article h2#policy_heading_image_sp {
		display: block;
		width: 100%;
		height: auto;
		margin: 40px auto;
	}
	article h2 img {
		width: 100%;
		height: auto;
	}
	article h2#policy_heading_image_pc {
		display: none;
	}
	.my_policy_heading {
		display: flex;
		flex-direction: column;
		justify-content: center;
		padding-top: 25px;
		overflow: hidden hidden;
	}
	.my_policy_heading p {
		display: block;
		width: 108px;
		height: 108px;
		margin: 0 auto;
	}
	.my_policy_heading p img {
		width: 108px;
		height: 108px;
	}
	.my_policy_heading h3 {
		width: 100% !important;
		height: 85px;
		text-align: center;
		border-bottom: 3px solid #016436;
	}
	.my_policy_description {
		margin-top: 35px;
		padding-bottom: 30px;
		overflow: hidden hidden;
	}
	.my_policy_description p {
		font-size: 1rem;
		line-height: 220%;
	}
	.my_policy_description p img {
		float: none;
		display: block;
		width: 100%;
		height: auto;
	}
	#profile {
		width: 90%;
		margin: 0 5% !important;
	}
	#profile .inner {
		display: flex;
		flex-direction: column-reverse;
		justify-content: center;
		width: 90%;
		margin: 0 5%;
	}
	#profile .inner #my_history {
		margin-left: -25px;
		line-height: 100%;
	}
	#my_history dl {
		display: block;
		width:  90%;
		margin: 30px 10% 0 0;
		padding: 0px 40px 0px 20px !important;
	}
	#my_history dl div {
		color: #232323;
		font-size: 1rem;
		line-height: 160%;
		overflow: visible;
	}
	#my_history dl div dt {
		position: relative;
		float: left;
		margin-right: 1em;
	}
	#my_history dl div dt:before {
		position: absolute;
		left: -20px;
		top: 3px;
		display: inline-block;
		content: '';
		width: 10px;
		height: 10px;
		background-color: #016436;
	}
	#my_history dl div#nomark dt:before { /* ？ */
		position: absolute;
		left: -20px;
		top: 5px;
		display: inline-block;
		content: '';
		width: 15px;
		height: 15px;
		background-color: #FFFFFF;
	}
	#my_history dl div dd span {
		display: inline-block !important;
		position: static;
		line-height: 220%;
	}
	#my_ability {
		line-height: 120%;
	}
	#profile .inner #recent_image {
		width: 100%;
		margin-left: -25px;
	}
	#profile .inner #recent_image img {
		width: 100%;
		height: auto;
		pointer-events: none;
	}
	#rooting_for_you {
		width: 90%;
		margin: 150px 5%;
		padding: 0 !important;
		overflow: hidden hidden;
	}
	#rooting_for_you h2 {
		width: 100%;
		margin-bottom: -75px;
	}
	#rooting_for_you h2 img {
		width: 100%;
		height: auto;
	}
	#rooting_message {
		display: flex;
		flex-direction: column;
		width: 100%;
		margin: -70px 0 0 0;
		padding: 40px 0;
		font-size: 80%;
		background: transparent url(./images/cheer_bottom.png) no-repeat center bottom / cover !important;
	}
	#syouji_nishida {
		width: 80%;
		margin: 30px auto -10px auto !important;
		padding: 0 !important;
	}
	#syouji_nishida img {
		display: inline;
		width: 100% !important;
		height: auto;
	}
	#message_from_nishida {
		width: 78%;
		padding: 40px 11% 60px 11%;
		margin-left: 10px !important;
		font-size: 1rem;
		line-height: 180%;
		transform: translate(0px);
	}
	#message_from_nishida #with_boss {
		display: flex;
		flex-direction: column-reverse;
		width: 90% !important;
		margin: 20px 5% -60px 5% !important;
		padding-right: 0px;
		transform: translate(0px,0px);
		overflow-x: visible !important;
	}
	#message_from_nishida #with_boss p {
		display: block;
		margin-top: 0px;
	}
	#message_from_nishida img {
		width: 100%;
		height: auto;
	}
	#name_of_boss {
		display: block;
		width: 100%;
		margin-bottom: 10%;
		text-align: right;
		font-size: 0.8rem;
		transform: translate(5%);
	}
	#name_of_boss span {
		font-size: 2rem;
	}
	p#with_boss_pict {
		width: 100%;
		margin-bottom: 0px;
		padding-left: 0px;
		transform: translateY(0px);
	 }
	p#with_boss_pict img {
		width: 100%;
		height: auto;
	}
	footer .inner {
		display: block;
		width: 90%;
		padding: 0px 5%;
	}
	#footer_info {
		margin-bottom: 40px;
	}
}
@media only screen and (max-width: 599px) {
	#main_message p {
		font-size: 1rem;
		text-align: center;
		line-height: 220%;
	}
	.my_photographs {
		display: flex;
		justify-content: space-between;
		flex-direction: column;
		width: 90%;
		margin: 0 5%;
	}
	.photographs_box {
		width: 100%;
		margin-bottom: 20px;
	}
	.photographs_box img {
		width: 100%;
		height: auto;
	}
	.photos_description {
		width: auto;
		margin: 0px auto 55px auto;
		color: #232323;
		font-size: 1rem;
		text-align: center;
	}
	.my_policy_heading h3 {
		width: 100%;
		height: 50px !important;
		margin-top: 20px;
		text-align: center;
		line-height: 30px !important;
	}
	.my_policy_heading h3 #policy_heading_1 {
		width: 90%;
		height: auto;
	}
	.my_policy_heading h3 #policy_heading_2 {
		width: 162px;
		height: auto;
	}
	.my_policy_heading h3 #policy_heading_3 {
		width: 214px;
		height: auto;
	}
	.my_policy_heading h3 #policy_heading_4 {
		width: 90px;
		height: auto;
	}
	.my_policy_description p img {
		display: block;
		margin-bottom: 20px;
	}
	#rooting_message {
		display: flex;
		flex-direction: column;
		width: 100%;
		margin: 0px;
		padding: 10% 0;
		font-size: 80%;
		background: transparent url(./images/cheer_bottom_sp.png) no-repeat center bottom / cover !important;
	}
	#syouji_nishida {
		width: 80%;
		margin: 50px auto -10px auto !important;
		padding: 0 !important;
	}
	#name_of_boss {
		display: block;
		width: 100%;
		margin-bottom: 10%;
		text-align: center;
		font-size: 0.8rem;
		transform: translate(5px);
	}
}
