/*!
Theme Name: isoda-planning
Author: 五十田プラニング
Version: 1.0.0
Requires PHP: 5.6

*/

/*--------------------------------------------------------------
# Generic
	- Normalize
	- Box sizing
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/

/* Normalize
--------------------------------------------- */

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
	 ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
}

/* Sections
	 ========================================================================== */

/**
 * Remove the margin in all browsers.
 */
body {
	margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
	display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
	font-size: 2em;
	margin: 0.67em 0;
}

/* Grouping content
	 ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
	font-family: monospace, monospace;
	font-size: 1em;
}

/* Text-level semantics
	 ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */
a {
	background-color: transparent;
	text-decoration: none;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
	border-bottom: none;
	text-decoration: underline;
	text-decoration: underline dotted;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
	font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

/**
 * Add the correct font size in all browsers.
 */
small {
	font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/* Embedded content
	 ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */
img {
	border-style: none;
}

/* Forms
	 ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
/* input, select {
	-webkit-appearance: none;
	appearance: none;
} */

button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
	font-size: 100%;
	line-height: 1.15;
	margin: 0;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
	overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
	text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
	padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fieldset` elements in all browsers.
 */
legend {
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
	vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
	overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
	-webkit-appearance: textfield;
	outline-offset: -2px;
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}

/* Interactive
	 ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
	display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
	display: list-item;
}

/* Misc
	 ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */
template {
	display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
	display: none;
}

/* Box sizing
--------------------------------------------- */

/* Inherit box-sizing to more easily change it's value on a component level.
@link http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
*,
*::before,
*::after {
	box-sizing: inherit;
}

html {
	box-sizing: border-box;
}


/*--------------------------------------------------------------
# typography
--------------------------------------------------------------*/


body, p, a, dl, dt, dd, h1, h2, h3, h4, h5, table, th, td, li {
    color:#333333;
    font-family: YuGothic, 'Yu Gothic', 游ゴシック体, '游ゴシック', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo , 'MS ゴシック', 'MS Gothic', sans-serif;
}

body, p, a, dl, dt, dd, table, th, td, li {
	font-size:20px;
    font-weight:400 ;
	line-height:1.5em ;
}

p {
    margin:1em 0;
    line-height:1.5;
}

p,a,li {
    word-break: break-all;
}

img {
	max-width: 100%;
	
}

@media screen and (max-width:767px) {

	body, p, a, dl, dt, dd, table, th, td, li {
		font-size:16px;
		font-weight:400 ;
	}
}

/*--------------------------------------------------------------
# common
--------------------------------------------------------------*/

.content {
	width:1370px;
	margin:0 auto;
}

.content-wide {
	width:1680px;
	margin:0 auto;
}

@media screen and (min-width:767px) {

	.hide-pc {
		display: none;
	}

}


@media screen and (max-width:767px) {
	.content,.content-wide {
		max-width:100%;
	}

	.sp-pad-w-10 {
		padding-left:10px;
		padding-right: 10px;
	}

	
	.hide-sp {
		display: none;
	}
}


.bg-grad-or{
	background-image: linear-gradient(45deg,rgba(252, 104, 111, 1), rgba(255, 147, 76, 1));
}

.accent-label {
	padding:10px 20px;
	color:#fff;
}

.text-center {
	text-align: center;
}

.text-right {
	text-align: right;
}


span.btn-nav-arrow {
	padding:7px;
	border-radius: 50%;
	background-image: linear-gradient(45deg,rgba(252, 104, 111, 1), rgba(255, 147, 76, 1));

	color:#fff;
	font-size:20px;
	font-weight: 900;
	text-decoration: none;
}



.mg-t40-b40 {
	margin-top:40px;
	margin-bottom:40px;
}

/*--------------------------------------------------------------
# Header
--------------------------------------------------------------*/

.header-bar {
	width: 100%;
	height:120px;
	padding:20px 0;
}

.header-bar > div{
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.site-logo {
	width: 380px;
}

.page-meta > div {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin:200px auto 130px auto;
}

.page-meta h1{
	color:#fff;
	font-size:62px;
	font-weight: 900;
	line-height: 1.5em;
	margin:0;
	text-shadow: 3px 3px 3px rgba(0,0,0,0.3);
}

.page-meta .page-description {
	color:#fff;
	text-align: right;
	font-size:20px;
	font-weight:600;
	text-shadow: 3px 3px 3px rgba(0,0,0,0.3);
	max-width: 600px;
}

.breadcrum {
	color:#fff;
	text-decoration: none;
	padding: 10px 0;
	font-weight:400;
}

.breadcrum a {
	color:#fff;
	text-decoration: none;
	font-weight:400;
}

.breadcrum a:hover {
	text-decoration: underline;
}


@media screen and (max-width:767px) {
	
	header.site-header {
		margin-bottom:40px;
	}

	.header-bar {
		width: 100%;
		height:auto;
		padding:10px 0;
		position: relative;
	}

	.header-bar > div{
		display: block;
	}

	.site-logo {
		width: 290px;
	}
	
	.page-meta > div {
		display: block;
		margin:40px auto 0px auto;
		padding-bottom:10px;
	}
	
	.page-meta h1{
		font-size:24px;
		margin-bottom: 10px;
	}
	
	.page-meta .page-description {
		font-size:16px;
		text-align: left;
		font-weight: 400;
		max-width: none;
	}

	.breadcrum {
		display: none;
	}
}


/*------------
header navigation
------------*/

nav.main-navigation > ul{
	list-style: none;
	padding:0;
	display: flex;
	justify-content: flex-end;
	align-items: center;
}

nav.main-navigation > ul > li > a{
	display: block;
	margin-right:40px;

	color:#fff;
	font-size:20px;
	font-weight:600;
	text-decoration: none;
}

nav.main-navigation > ul > li > a:hover{
	opacity: 0.8;
}

nav.main-navigation > ul > li:last-child > a {
	margin-right:0;
}

nav.main-navigation > ul > li.btn-head-menu > a{
	display: flex;
	justify-content: center;
	align-items: center;
	width:380px;
	padding:15px 0;
	background-image: linear-gradient(45deg,rgba(252, 104, 111, 1), rgba(255, 147, 76, 1));
	border-radius:30px;
}

nav.main-navigation > ul > li {
	position: relative;
}

nav.main-navigation > ul > li > ul {
	display: none;
	list-style: none;
	padding:0;
	background-color: rgba(0,0,0,0.3);

	position: absolute;
	left:0;
}

nav.main-navigation > ul > li:hover > ul {
	display: block;
}

nav.main-navigation > ul > li > ul > li > a{
	display: block;
	padding:10px;
	width: 100%;

	color:#fff;
	font-size:20px;
	font-weight:400;
	text-decoration: none;
}


/*------------------
sp navigation
-------------------*/

@media screen and (max-width:767px) {
	.main-navigation{
		display: none;
	}

	.header-bar > .btn-sp-menu {
		width:35px;
		height:35px;
		padding:5px;
		position: absolute;
		top:15px;
		right:10px;

		display: flex;
		flex-flow: column;
		justify-content:space-between;
		align-items: normal;

		cursor:pointer;
	}

	.btn-sp-menu span{
		display:block;
		height:4px;
		border-radius: 2px;
		background-color:#fff;
		transition: 0.5s;
	}

	.btn-sp-menu.active {
		position: fixed;
		top: 15px;
		z-index: 300;

		display: flex;
		align-items: center;
		justify-content: center;

		border-color:rgba(200,200,200,0);
	}

	.btn-sp-menu.active span{
		display: block;
		width:30px;
		height:2px;
		border-radius: 2px;
		background-color:#333;
	}

	.btn-sp-menu.active span:nth-child(1){
		transform: rotateZ(45deg);
	}
	.btn-sp-menu.active span:nth-child(2){
		display:none;
	}
	.btn-sp-menu.active span:nth-child(3){
		transform: rotateZ(-45deg) translateY(-2px) translateX(2px);
	}
}

nav.sp-navigation {
	display: none;
}

nav.sp-navigation {
    background-color:rgba(255,255,255,0.95);
    padding:10px;
    padding-top:40px;
    padding-bottom:40px;
    height:auto;
    width:100%;
	box-shadow: 0px 10px 10px 0px rgba(0,0,0,0.1);
    position: fixed;
    top:0px;
    left:0px;
    z-index:100;
    
    overflow-y: auto;
}

.site-logo-sp {
	width: 270px;
	position: absolute;
	top:10px;
	left:10px;
}

nav.sp-navigation ul{
	list-style: none;
	padding:0;
}

nav.sp-navigation ul li a {
    display:block;
    width:100%;
    padding:15px 10px;
    border-bottom:1px solid #333;
    color:#333;
	font-weight: 600;
	text-decoration: none;
}

nav.sp-navigation ul li a:hover {
    background-color:rgba(100,100,100,0.5);
}
    
nav.sp-navigation  ul.sub-menu{
    padding-left:20px;
}

.sp-menu-head {
    width:100%;
    height:40px;
    position: relative;
}


nav.sp-navigation .watching {
    position:relative;
    background-color:rgba(100,100,100,0.5);
    padding-bottom: 20px;
}

nav.sp-navigation .watching:after {
    content:"[watching]";
    font-size:10px;
    color:#fff;
    position: absolute;
    right:10px;
    bottom:5px;
}

.sp-navigation .nav_open:after {
	font-family: "Font Awesome 6 Free";
	font-weight:900;
    content:"\f107";
    color:#fff;
    position: absolute;
    right:10px;
    top:10px;
    transition:0.5s;
}

.sp-navigation .nav_open.active:after {
	font-family: "Font Awesome 6 Free";
	font-weight:900;
    content:"\f00d";
    color:#fff;
}

nav.sp-navigation > ul > li.btn-head-menu > a{
	display: flex;
	justify-content: center;
	align-items: center;
	width:380px;
	max-width: 80%;
	padding:10px 0;
	margin:40px auto;
	background-image: linear-gradient(45deg,rgba(252, 104, 111, 1), rgba(255, 147, 76, 1));
	border-radius:30px;

	border:none;
	color:#fff;
}





/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/

footer .site-footer {
	background-color: #333333;
	padding:150px 0;
	margin-top:150px;
}

.footer-contact {
	margin-bottom:40px;
}

.footer-contact .subtitle{
	font-size:45px;
	font-weight:900;
	color:#fff;
	text-align: center;
}

.footer-contact .subtitle span{
	display: block;
	font-size:20px;
	font-weight:600;
	margin-top:20px;
}


@media screen and (max-width:767px) {

	footer .site-footer {
		padding:80px 10px;
		margin-top:50px;
	}
	
	.footer-contact .subtitle{
		font-size:20px;
	}

	.footer-contact .subtitle span{
		font-size:14px;
	}
}



.footer-contact .contact-address {
	display: flex;
	justify-content: space-between;
	align-items: center;

	padding:40px 90px;
	border-bottom:solid 2px rgba(255, 147, 76, 1);
	border-image:linear-gradient(45deg,rgba(252, 104, 111, 1), rgba(255, 147, 76, 1)) 1;
}

.contact-address-detail {
	display: flex;
	align-items: center;
}

.contact-address-detail .label-contact{
	padding:5px 30px;
	margin:0 20px;
	display: flex;
    align-items: center;
	justify-content: center;
	color:#fff;
	font-size:20px;
	font-weight: 600;
}


.contact-address-detail	.contact-text{
	color:#fff;
	font-size:40px;
	font-weight: 600;
	line-height: 1em;
}


@media screen and (max-width:767px) {

	.footer-contact .contact-address {
		padding:5px 30px;
		margin:20px 0;
		display: block;
	}

	.contact-address-detail {
		margin:15px 0;
	}

	.contact-address-detail .label-contact{
		padding:5px 0;
		width:70px;
		font-size:10px;
	}
	
	.contact-address-detail	.contact-text{
		font-size:18px;
	}
}


nav.footer-navigation ul{
	display: flex;
	flex-wrap: wrap;
	padding: 0;
	list-style: none;

}

nav.footer-navigation ul li{
	margin: 20px 50px;
}

nav.footer-navigation ul li a{
	font-size:20px;
	font-weight:600;
	color:#fff;
	text-decoration: none;

    display: block;
}

nav.footer-navigation ul li a:hover{
	text-decoration: underline;
}



@media screen and (max-width:767px) {
	
	nav.footer-navigation ul{
		padding:20px;
	}

	nav.footer-navigation ul li{
		margin: 10px 20px 10px 0;
		min-width: 40%;
	}
	
	nav.footer-navigation ul li a{
		font-size:14px;
	}
}



.footer-bar {
	background-color: #000;
	padding:80px 0;
}

.footer-bar .content-wide {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.footer-bar-left {
	display: flex;
	align-items: center;
}

.footer-bar-logo {
	margin-right:30px;
}

.footer-bar-logo img{
	width: 360px;
}

.footer-bar-address {
	color:#fff;
	font-size:20px;
	font-weight:600;
	line-height: 1.5em;
}

.footer-bar-right {
	color:#fff;
	font-size:20px;
	font-weight:600;
	line-height: 1.5em;
	text-align: right;
}

.footer-bar-address-sp{
	display: none;
}

@media screen and (max-width:767px) {

	.footer-bar .content-wide {
		display: block;
	}
	
	.footer-bar-left {
		display: block;
		padding:0 0 0 50px;
	}
	
	.footer-bar-logo {
		margin:20px 0;
	}
	.footer-bar-logo img{
		width:240px;
	}
	
	.footer-bar-address{
		display: none;
	}

	.footer-bar-address-sp{
		display: block;
		color:#fff;
		font-size:14px;
		font-weight:600;
		line-height: 1.5em;
	}
	
	.footer-bar-right {
		margin-top:70px;
		font-size:14px;
		text-align: center;
	}

}