@charset "UTF-8";

/* 全体用 */
body { font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif; }
body, html{ margin: 0; padding: 0; }
main { margin: 0 auto; max-width: 900px; }

label { cursor: pointer; }
ul,li{ margin:0; padding:0; list-style-type:none; }
table, p { margin: 0; }

p {
	font-size: 14px;
    line-height: 1.8;
}

a {cursor: pointer;}

img {
	width: 100%;
}

h1 {
	margin: 0;
	padding-top: 30px;
}

h2 {
	font-size: 18px;
    margin-bottom: 26px;
}

.mainHeader-logo {
	position: relative;
	height: 68vw;
	background-image: url(https://tools.tdlfun.com/Matsui/_img/headerBackImage.jpg);
	background-size:  cover;
	overflow: hidden;
}

.mainHeader-logo img {
	position: absolute;
	right: -7%;
	bottom: 0;
	width: 115%;
}

.mainHeader-contents {
	background: #CF121B;
}
.mainHeader-contents div {
	display: flex;
}
.mainHeader-contents a {
	display: block;
	margin-left: 10px;
    color: #fff;
    text-decoration: none;
}

.mainHeader-contents img {
	width: 12px;
	margin: 5px 4px -8px 0;
}

.mainHeader-image {
	position: relative;
	max-height: 170px;
}
.mainHeader-image h1 {
	text-align: center;
    font-size: 20px;
    font-weight: bold;
}

.mainHeader-image span {
	display: block;
	height: 35px;
	background-image: url(https://tools.tdlfun.com/Matsui/_img/headerTown.png);
	background-repeat: repeat-x;
	background-position: bottom;
	background-size: 375px
}

.mainHeader-image h1 img {
	display: block;
	max-width: 200px;
    margin: 0 auto;
}

.mainBlock {
	padding: 30px 18px 35px 18px;
	background-image: url(https://tools.tdlfun.com/Matsui/_img/contents-Bg.jpg);
	background-size:  cover;
}

.p0 {
	padding: 0!important;
}

.pt0 {
	padding-top: 0!important;
}
.mt20 {
	margin-top: 20px;
}

.mainBlock-content,
.mainHalf {
	padding: 30px 18px 35px 18px;
}
.mainHeader-contents p {
	font-size: 12px;
}
.mainBlock img {
	display: block;
}

.mainImageBlock {
	display: block;
	height: 200px;
    width: auto;
    margin: 40px auto 0;
}

.mainImageBlock-pro {
	display: block;
	height: 150px;
    width: auto;
    margin: 25px auto 0;
}
.mainBottom-image {
	position: relative;
}

.mainBottom-image img {
	position: absolute;
	bottom: 0px;
    right: 0px;
	width: 150%;
}

.mainFooter {
	padding: 30px;
	background: #CF121B;
}

.mainFooter-content div {
	max-width: 900px;
    padding-bottom: 15px;
	border-bottom: solid 1px #fff;
	text-align: center;
}

.mainFooter-content {
	max-width: 600px;
	margin: auto;
}

.mainFooter-content img {
	max-width: 220px
}

.mainFooter p {
	max-width: 400px;
    margin: auto;
	padding: 22px 30px 0 30px;
	color: #fff;
	line-height: 1.4;
}

.mainImageBlock-parson {
	max-width: 320px;
    height: auto;
    margin: 0 auto 40px;
}
/* プロフィール */
.mainHalf {
	display: flex;
}
.mainHalf h2 {
	margin-top: 75px;
}
.mainHalf h2:first-child {
	margin-top: 0;
}
.mainHalf div:first-child {
	width: 54%;
}
.mainHalf img {
	max-width: 130px;
	margin: auto;
}
.first img {
	max-width: 120px;
}
.third img:first-child {
	max-width: 90px;
	margin-bottom: 30px;
}
.first {
	padding-bottom: 15px;
}
.side-margin {
	margin: 0 18px;
}
/* トップページ */
.linkCard {
	position: relative;
	padding: 30px 18px 0 18px;
}
.linkCard a {
	display: flex;
	align-items: center;
	height: 150px;
	margin: 20px 5px 30px;
    box-shadow: 4px 6px 10px rgb(0 0 0 / 35%);
	background: #fff;
	color: #111;
    text-decoration: none;

}
.linkCard img {
	width: 140px;
	height: auto;
}
.linkCard p {
	margin: 10px 8px 10px 0;
}
.linkCard span {
	display: block;
	font-weight: bold;
	font-size: 18px;
}
.linkCard-small img {
	width: 110px;
    margin: 0 15px;
}
.facebook {
	display: block;
	/*margin: 50px auto 10px;
    /*width: fit-content;*/
	width: 77%;
	position: relative;
    left: 2%;
	-webkit-appearance: none;
}
.fb_iframe_widget span {
	/*left: 19px;
	-webkit-appearance: none;*/
}


/* PC版 */
@media screen and ( min-width: 769px )
{
	p {
		font-size: 18px;
	    line-height: 2.0;
	}
	main {
		border-left: 1px solid #ddd;
		border-right: 1px solid #ddd;
	}
	h2 {
		font-size: 27px;
	}
	.mainHeader-logo {
		height: 400px;
	}
	.mainHeader-logo img {
		position: initial;
		display: block;
		max-height: 380px;
    	width: auto;
  		margin: 0 auto;
		padding-top: 20px;
	}
	.mainHeader-image h1 img {
		max-width: 270px;
	}
	.mainHeader-image h1 {
		font-size: 24px;
	}
	.mainImageBlock {
		height: 360px
	}
	.mainImageBlock-pro {
		height: 275px
	}
	.mainBlock, .mainBlock-content, .mainHalf {
		padding: 50px 70px 55px;
	}
	.mainFooter {
		padding: 70px 0;
	}
	.mainFooter-content img {
		max-width: 420px;
	}
	.mainHeader-contents {
		display: flex;
	}
	.mainHeader-contents p {
		font-size: 18px;
	}
	.mainHalf div:first-child {
		width: 53%;
	}
	.mainHalf img {
		max-width: 220px;
	}
	.first img {
		max-width: 190px;
    	margin-top: 20px;
	}
	.third img {
		max-width: 200px;
	}
	.forth img {
		margin-top: 30px
	}
	.side-margin {
		margin: 0 70px;
	}
	.linkCard {
		align-items: center;
		padding: 50px 70px 0;
	}
	.linkCard a {
		height: 145px;
		margin: 20px 15px 45px;	
	}
	.linkCard img {
		width: 200px;
	}
	.linkCard p {
		margin: 15px 60px 15px 34px;
	}
	.linkCard span {
		font-size: 22px;
	}
	.facebook {
		/*margin: 10px auto 50px;*/
    	left: 18%;
	}
	.fb_iframe_widget span {
		left: 0;
	}

}

/* SP版 */
@media screen and ( max-width: 768px ){
	.mainHeader-contents div {
		flex-wrap: wrap;
		justify-content: center;
	}
	.mainHeader-contents div:first-child {
		border-bottom: 1px solid #fff;
	}
	.mainHeader-contents a {
		width: 25%;
	}
}
