@charset 'UTF-8';
/*
Theme Name: od-practice
Description: WordPressオリジナルテーマ制作練習用
Version: 1.0
Author: design studio BIATO
Author URI: https://biato.net
*/

/* 共通部分
------------------------------- */
html {
	width: 100%;
	scroll-behavior: smooth;
	scroll-padding-top: 55px;
}

body{
    font-family: 'Shippori Mincho B1', serif;
    line-height: 2;
	font-weight: 400;
}
a {
	color: #393939;
	text-decoration: none;
}
a:hover {
	opacity: .6;
	text-decoration: none;
}
.menu {
	margin-top: 50px;
	margin-left: 40px;
	font-size: .9rem;
}
.menu-top {
	padding-top: 97px;
	margin-left: 40px;
	line-height: 240%;
}
.nolinkmoji {
	color: #ccc;
}
@media screen and (max-width: 599px) {
	html {
		scroll-padding-top: 56px;
	}
	.menu {
		margin-top: 0;
		margin-left: 0;
	}
}


/* コンテンツ１段目
------------------------------- */
.scroll01 {
	width: 100%;
	height: 100vh;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;	
}
.sc01-text01 {
	width: 80%;
	max-width: 1200px;
	color: #fff;
	font-size: 1.3rem;
    position: absolute;
    z-index: 2;
} 
.sc01-text01 h2 {
	font-size: 4rem;
	text-align: center;
	font-weight: 800;
}

@media screen and (max-width: 599px) {
.sc01-text01 {
	max-width: 100%;
	width: 100%;
	padding-top: 10%;
	font-size: 1.1rem;
    line-height: 1.6;
} 
.sc01-text01 h2 {
	font-size: 2rem;
    line-height: 1.4;
	text-align: center;
	font-weight: bold;
	margin-bottom: 5px;
}
}

/* コンテンツ１段目 スライダー */
.swiper {
	width: 100%;
	height: 100vh;
}
.swiper-slide {
	width: 100%;
	height: 100vh;
	background: #5695ca no-repeat center top/cover;
}
/* コンテンツ１段目 動く下スクロールボタン */
.scrollbutton {
	display: flex;
    position: absolute;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	width: 100%;
	height: 60px;
	bottom: 0px;
    z-index: 3;
}
.scrollbt {
	position: absolute;
	width: 3em;
	height: 3em;
}
.scrollbt span {
    width: 1em;
    height: 1em;
    position: absolute;
    top: 25%;
    left: 33%;
    transform: translateY(0) rotate(-45deg);
    border-left: 1px solid #fff;
    border-bottom: 1px solid #fff;
    animation: popping-arrow 2s infinite ease-out;
}
.scrollbt span:hover span {
    transform: translateY(.5em) rotate(-45deg);
    animation: paused;
}
@keyframes popping-arrow {
	0% {
		transform: translateY(0) rotate(-45deg);
	}
	30% {
		transform: translateY(.5em) rotate(-45deg);
	}
	60% {
		transform: translateY(0) rotate(-45deg);
	}
}


/* コンテンツ2段目
------------------------------- */
.scroll02 {
	width: 100%;
	height: 100vh;
	background-color: #efefef;
	position: relative;
}
.scroll02 div:nth-child(1) {
	content: "“";
	position: absolute;
	top: 0;
	left: 0;
	width: 60%;
	height: 100vh;
	background: url(images/004.jpg) no-repeat center center/cover;
	z-index: 2;
}
.scroll02 div:nth-child(2) {
	position: absolute;
	top: 25vh;
	left: 25%;
	width: 75%;
	padding: 10vh 8%;
	background-color: #ffffffdc;
	z-index: 4;
}
.scroll02 div:nth-child(2) h3 {
	font-size: 2.3rem;
	font-weight: 700;
}

@media screen and (max-width: 599px) {
	.scroll02 div:nth-child(1) {
		width: 70%;
	}
	.scroll02 div:nth-child(2) {
		position: absolute;
		top: 10vh;
		left: 20%;
		bottom: 10vh;
		width: 80%;
		padding: 5vh 6%;
	}
	.scroll02 div:nth-child(2) h3 {
		font-size: 1.4rem;
	}
}


/* コンテンツ3段目
------------------------------- */
#sc03 {
	width: 100%;
	padding: 120px 25px 120px 25px;
}
#sc03 h3 {
	font-size: 2.5rem;
	text-align: center;
	margin-bottom: 90px;
}
@media screen and (max-width: 599px) {
#sc03 {
	padding: 6% 4% 4% 4%;
}
#sc03 h3 {
	font-size: 1.6rem;
	margin-bottom: 6%;
}
}

/* ニュース(top) */
.post-list {
	width: 100%;
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
	display: grid;
	grid-gap: 1.6rem;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}
.post-item {
	background-color: #ebedf0;
	line-height: 0;
}
.wp-post-image {
	width: 100%;
	height: auto;
}
.post-header {
	width: 100%;
	padding: 8%;
	line-height: 1.8;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
}
.post-date {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 700;
	font-size: .9rem;
	color: #707070;
}
.post-title {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 700;
	font-size: 1.2rem;
	color: #000;
}
.post-categories {
	list-style: none;
	position: static;
}
.post-categories li a {
	content: "";
	display: inline-block;
	width: 100px;
	background-color: darkslategray;
	font-size: .8rem;
	color: #fff;
	margin-top: 10px;
	border-radius: 5px;
	text-align: center;
}
.nav-links {
	margin: 60px auto 0 auto;
	text-align: center;
}
.nav-links a {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
	font-size: 1.4rem;
	background-color: rgb(46, 62, 91);
	display: inline-block;
	width: 50%;
	max-width: 300px;
	color: #ffffff;
	padding: 15px 30px 15px 30px;
	border-radius: 10px;
}

@media screen and (max-width: 960px) {
	.post-item {
		padding: 0;
	}
}
@media screen and (max-width: 599px) {
	.post-item {
		padding: 0;
	}
	.post-title {
		font-size: 1.1rem;
		line-height: 1.6;
	}
	.nav-links {
		margin: 6% auto 12% auto;
	}
	.nav-links a {
		width: 80%;
		padding: 3% 5% 3% 5%;
		border-radius: 7px;
		line-height: 1.2;
		margin-top: 3%;
		font-size: 1.1rem;
	}
}


/* コンテンツ4段目
------------------------------- */
#sc04 {
	width: 100%;
	background-color: #efefef;
	padding: 0;
	line-height: 0;
}
.sc04__stap01 {
	width: 100%;
	display: flex;
	justify-content: space-between;
}
.sc04__stap01 img {
	width: 50%;
}
.sc04__stap01 div {
	width: 50%;
	max-width: 600px;
	margin: 0 auto 0 4%;
	padding: 4% 4% 4% 0;
	line-height: 2;
}
.sc04__stap02 {
	width: 100%;
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
}
.sc04__stap02 img {
	width: 50%;
}
.sc04__stap02 div {
	width: 50%;
	max-width: 600px;
	margin: 0 4% 0 auto;
	padding: 4% 0 4% 4%;
	line-height: 2;
}

@media screen and (max-width: 599px) {
	.sc04__stap01 {
		width: 100%;
		display: block;
	}
	.sc04__stap01 img {
		width: 100%;
	}
	.sc04__stap01 div {
		width: 100%;
		max-width: 600px;
		margin: 0 auto 12% 0;
		padding: 4%;
	}
	.sc04__stap02 {
		width: 100%;
		display: block;
	}
	.sc04__stap02 img {
		width: 100%;
	}
	.sc04__stap02 div {
		width: 100%;
		max-width: 600px;
		margin: 0;
		padding: 4% 4% 12% 4%;
	}
}


/* コンテンツフッター
------------------------------- */
footer {
	width: 100%;
	background-color: #000000;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
	padding: 80px 25px 40px 25px;
	color: #fff;
}
footer div {
	width: 100%;
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
	display: flex;
	justify-content: space-between;
}
footer p {
	text-align: center;
	margin-top: 100px;
	font-size: 1.1rem;
}
footer div div:nth-child(1)  {
	width: 60%;
}
footer div div:nth-child(2)  {
	width: 30%;
}

@media screen and (max-width: 599px) {
	footer {
		padding: 12% 4%;
	}
	footer div {
		display: block;
	}
	footer p {
		margin-top: 6%;
	}
	footer div div:nth-child(1)  {
		width: 100%;
	}
	footer div div:nth-child(2)  {
		width: 100%;
		margin-top: 6%;
	}
}


/* ヘッダハンバーガーメニュー用
------------------------------- */
* {
	margin: 0;
	padding: 0;
}
*::after,
* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
.inner {
	width: 980px;
	margin: 0 auto;
}
.inner:after {
	content: "";
	clear: both;
	display: block;
}

/* ヘッダ帯部分(top用) */
#top-head {
	top: -100px;
	position: absolute;
	width: 100%;
	margin: 100px auto 0;
	padding: 30px 0 0;
	line-height: 1;
	z-index: 999;
}
.under__header {
	padding: 30px 0 80px 0 !important;
	background-color: #ffffffd8;
}
#top-head a,
#top-head {
	color: #fff;
	text-decoration: none;
}
.under__header a,
.under__header {
	color: #000 !important;
}
#top-head .inner {
	position: relative;
}
#top-head .logo {
	float: left;
	font-size: 36px;
}
#global-nav ul {
	list-style: none;
	position: absolute;
	right: 0;
	bottom: 0;
}
#global-nav ul li {
	float: left;
	position: relative;
}
#global-nav ul li a {
	padding: 0 30px;
}

#global-nav ul li:after {
	position: absolute;
	content: "";
	display: block;
	width: 100%;
	height: 3px;
	bottom: -20px;
	transition: all 0.3s ease;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
}
#global-nav ul li:hover:after {
	background: #fff;
	bottom: -30px;
}

#top-head.fixed {
	margin-top: 0;
	top: 0;
	position: fixed;
	padding: 10px 0 0 !important;
	height: 55px;
	background: rgba(255,255,255,.9);

	transition: top 0.65s ease-in !important;
	-webkit-transition: top 0.65s ease-in;
	-moz-transition: top 0.65s ease-in;
}
#top-head.fixed .logo {
	font-size: 24px;
	color: #333;
}
#top-head.fixed .logo a {
	color: #333;
}
#top-head.fixed #global-nav ul li a {
	color: #333;
	padding: 0 20px;
}

#top-head.fixed #global-nav ul li:after {
	bottom: -10px;
}
#top-head.fixed #global-nav ul li:hover:after {
	background: #0062B8;
	bottom: -20px;
}

/* ハンバーガー用内部 */
#nav-toggle {
	display: none;
	position: absolute;
	right: 12px;
	top: 14px;
	width: 34px;
	height: 36px;
	cursor: pointer;
	z-index: 101;
}
#nav-toggle div {
	position: relative;
}
#nav-toggle span {
	display: block;
	position: absolute;
	height: 4px;
	width: 100%;
	background: #666;
	left: 0;
	-webkit-transition: .35s ease-in-out;
	-moz-transition: .35s ease-in-out;
	transition: .35s ease-in-out;
}
#nav-toggle span:nth-child(1) {
	top: 0;
}
#nav-toggle span:nth-child(2) {
	top: 11px;
}
#nav-toggle span:nth-child(3) {
	top: 22px;
}

@media screen and (max-width: 960px) {
	article {
		padding: 0 30px;
	}
	.inner {
		width: 100%;
		padding: 0 20px;
	}
	#global-nav ul li a {
		padding: 0 10px;
	}
	#top-head.fixed #global-nav ul li a {
		padding: 0 10px;
	}
}

@media screen and (max-width: 599px) {
	#main-visual {
		height: 300px;
	}

	#top-head,
	.inner {
		width: 100%;
		padding: 0;
	}
	#top-head {
		top: 0;
		position: fixed;
		margin-top: 0;
	}
	#top-head .logo a {
		color: #333;
	}
	.under__header {
		padding: 0 0 0 0 !important;
	}
	.under__header a,
	.under__header {
		color: #fff !important;
	}
	.under__header .logo a {
		color: #333 !important;
	}
	
	#top-head.fixed {
		padding-top: 0;
		padding: 0 0 0 !important;
		background: rgba(255,255,255,0);
	}

	#mobile-head {
		background: rgba(255,255,255,.95);
		width: 100%;
		height: 56px;
		z-index: 999;
		position: relative;
	}
	#top-head.fixed .logo,
	#top-head .logo {
		position: absolute;
		left: 13px;
		top: 13px;
		color: #333;
		font-size: 26px;
	}

	#global-nav {
		position: absolute;
		top: -500px;
		background: #333333de;
		width: 100%;
		text-align: center;
		padding: 10px 0;
		-webkit-transition: .5s ease-in-out;
		-moz-transition: .5s ease-in-out;
		transition: .5s ease-in-out;
	}
	#global-nav ul {
		list-style: none;
		position: static;
		right: 0;
		bottom: 0;
	}
	#global-nav ul li {
		float: none;
		position: static;
	}
	#global-nav ul li:after  {
		display: none;
	}
	#top-head #global-nav ul li a,
	#top-head.fixed #global-nav ul li a {
		width: 100%;
		display: block;
		color: #fff;
		padding: 18px 0;
	}
	#nav-toggle {
		display: block;
	}
	.open #nav-toggle span:nth-child(1) {
		top: 11px;
		-webkit-transform: rotate(315deg);
		-moz-transform: rotate(315deg);
		transform: rotate(315deg);
	}
	.open #nav-toggle span:nth-child(2) {
		width: 0;
		left: 50%;
	}
	.open #nav-toggle span:nth-child(3) {
		top: 11px;
		-webkit-transform: rotate(-315deg);
		-moz-transform: rotate(-315deg);
		transform: rotate(-315deg);
	}
	.open #global-nav {
		-moz-transform: translateY(556px);
		-webkit-transform: translateY(556px);
		transform: translateY(556px);
	}
}


/* コンテンツ下層ページ
------------------------------- */
#contact__sc01 {
	padding: 200px 25px 120px 25px;
}
#contact__sc01 div {
	max-width: 1200px;
	width: 100%;
	font-size: 1.2rem;
	margin: 0 auto;
}
.page-title {
	font-size: 3rem;
	margin-bottom: 50px;
	text-align: center;
}
#contact__sc01 div.nav-links {
	margin-top: 100px;
}
.single #contact__sc01 .post-list .post-item .post-header {
	padding: 3rem;
}
.single #contact__sc01 .post-list .post-item .post-header .post-title {
	font-size: 2rem;
}
.single #contact__sc01 .post-list .post-item .post-content {
	width: 92%;
	margin: 0 4%;
	line-height: 2;
}
.single #contact__sc01 .post-list .post-item .post-content blockquote {
	width: 100%;
	line-height: 2;
	background-color: #dedede;
	padding: 10px 35px;
	margin-top: 2rem;
	border-radius: 10px;
	font-size: 1.2rem;
	position: relative;
}
.single #contact__sc01 .post-list .post-item .post-content blockquote::before {
	content: "“";
	font-size: 3rem;
	line-height: 4rem;
	color: #c3c3c3;
	position: absolute;
	top: 0;
	left: 10px;
}
.single #contact__sc01 .post-list .post-item .post-footer {
	background-color: unset;
	width: 92%;
	margin: 3rem 4%;
	text-align: center;
	display: flex;
	gap: 3rem;
	border-top: 2px #d3d3d3 solid;
	padding: 2rem;
}
.single #contact__sc01 .post-list .post-item .post-footer ul {
	display: flex;
	gap: 1rem;
	margin: 0 auto;
	list-style: none;
	font-size: 1rem;
	justify-content: center;
}
.single #contact__sc01 .post-list .post-item .post-footer ul li a {
	display: inline-block;
	border: 1px #8b8b8b solid;
	border-radius: 5px;
	line-height: 3;
	padding: 0 10px;
	background-color: #fff;
	content: "";
    height: 100%;
    width: 100%
}

@media screen and (max-width: 599px) {
	#contact__sc01 {
		padding: 22% 4% 16% 4%;
	}
	.page-title {
		font-size: 1.6rem;
		margin-bottom: 6%;
	}
	#contact__sc01 div.nav-links {
		margin-top: 6%;
	}
	.single #contact__sc01 .post-list .post-item .post-header {
		padding: 4%;
	}
}