﻿/*----------------------------------------
全体
----------------------------------------*/

body {
	font-size: 4.5vw;
	line-height: 6.5vw;
	word-break: break-word;
	text-size-adjust: none;
}

body.active {
	overflow: hidden;
}

.wrapper {
	margin: 0 auto;
	width: 95%;
}

.pc-left {
	float: none;
	margin: 0 auto;
}

.pc-right {
	float: none;
	margin: 0 auto;
}

.alignleft {
	float: none;
	margin: 0 auto;
}

.alignright {
	float: none;
	margin: 0 auto;
}

.pc-t-center {
	text-align: left !important;
}

.pc-of {
	overflow: visible;
}

a:hover img {
	opacity: 1;
}

a:hover .img-banner {
	opacity: 1;
}

a.bo {
	text-decoration: underline;
}

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

a.no-bo {
	text-decoration: underline;
}

a.no-bo:hover {
	text-decoration: underline;
}

.full-sp {
	height: auto;
	width: 100% !important;
}

.list {
	margin-bottom: 5vw;
}

.list li {
	margin-left: 4.5vw !important;
}

_::-webkit-full-page-media, _:future, :root .list li {
	margin-left: 5.75vw !important;
}

.num-list {
	margin-bottom: 5vw;
}

.num-list li {
	margin-left: 5vw !important;
}

_::-webkit-full-page-media, _:future, :root .num-list li {
	margin-left: 7vw !important;
}

.num-list li:nth-child(n+10) {
	margin-left: 7vw !important;
}

_::-webkit-full-page-media, _:future, :root .num-list li:nth-child(n+10) {
	margin-left: 9.5vw !important;
}

.num-list-2 {
	margin-bottom: 5vw;
}

.num-list-2 li {
	padding-left: 8.5vw !important;
}

.check-list {
	margin-bottom: 5vw;
}

.check-list li {
	margin-bottom: 2.5vw;
	min-height: 6vw;
	padding-left: 9vw;
}

.check-list li::before {
	border: 0.8vw solid #000;
	height: 6vw;
	top: 0.55vw;
	width: 6vw;
}

.check-list li::after {
	border-right: 1vw solid #ff0000;
	border-bottom: 1vw solid #ff0000;
	left: 3.5vw;
	height: 5vw;
	top: -0.2vw;
	width: 3vw;
}

.douga {
	width: 100%;
}

.douga img {
	height: auto;
	margin: 0 auto;
	width: 95%;
}

.text-base {
	padding-left: 4.5vw;
}

.text-base-2 {
	padding-left: 9vw;
}

.text-base-3 {
	padding-left: 13.5vw;
}

.text-base-4 {
	padding-left: 18vw;
}

.text-base-5 {
	padding-left: 22.5vw;
}

.pc {
	display: none;
}

.pc.tab {
	display: none;
}

.pc.tab.mobi {
	display: block;
}

.tab {
	display: none;
}

.tab.mobi {
	display: block;
}

.pc.mobi {
	display: block;
}

.mobi {
	display: block;
}

.m20 {
	margin: 2.5vw !important;
}

.mt20 {
	margin-top: 2.5vw !important;
}

.mb20 {
	margin-bottom: 2.5vw !important;
}

.no-mt20 {
	margin-top: -5vw !important;
}

.mt-20 {
	margin-top: 5vw !important;
}

.mb-20 {
	margin-bottom: 5vw !important;
}

.ml20 {
	margin-left: 2.5vw !important;
}

.mr20 {
	margin-right: 2.5vw !important;
}

.m40 {
	margin: 5vw !important;
}

.mt40 {
	margin-top: 5vw !important;
}

.mb40 {
	margin-bottom: 5vw !important;
}

.ml40 {
	margin-left: 5vw !important;
}

.mr40 {
	margin-right: 5vw !important;
}

.m60 {
	margin: 7.5vw !important;
}

.mt60 {
	margin-top: 7.5vw !important;
}

.mt-60 {
	margin-top: 10vw !important;
}

.mb60 {
	margin-bottom: 7.5vw !important;
}

.mb-60 {
	margin-bottom: 10vw !important;
}

.ml60 {
	margin-left: 7.5vw !important;
}

.mr60 {
	margin-right: 7.5vw !important;
}

.m80 {
	margin: 10vw !important;
}

.mt80 {
	margin-top: 10vw !important;
}

.mb80 {
	margin-bottom: 10vw !important;
}

.ml80 {
	margin-left: 10vw !important;
}

.mr80 {
	margin-right: 10vw !important;
}

.m100 {
	margin: 12.5vw !important;
}

.mt100 {
	margin-top: 12.5vw !important;
}

.mb100 {
	margin-bottom: 12.5vw !important;
}

.ml100 {
	margin-left: 12.5vw !important;
}

.mr100 {
	margin-right: 12.5vw !important;
}

.p20 {
	padding: 2.5vw !important;
}

.pt20 {
	padding-top: 2.5vw !important;
}

.pb20 {
	padding-bottom: 2.5vw !important;
}

.pl20 {
	padding-left: 2.5vw !important;
}

.pr20 {
	padding-right: 2.5vw !important;
}

.p40 {
	padding: 5vw !important;
}

.pt40 {
	padding-top: 5vw !important;
}

.pb40 {
	padding-bottom: 5vw !important;
}

.pl40 {
	padding-left: 5vw !important;
}

.pr40 {
	padding-right: 5vw !important;
}

.p60 {
	padding: 7.5vw !important;
}

.pt60 {
	padding-top: 7.5vw !important;
}

.pb60 {
	padding-bottom: 7.5vw !important;
}

.pl60 {
	padding-left: 7.5vw !important;
}

.pr60 {
	padding-right: 7.5vw !important;
}

.p80 {
	padding: 10vw !important;
}

.pt80 {
	padding-top: 10vw !important;
}

.pb80 {
	padding-bottom: 10vw !important;
}

.pl80 {
	padding-left: 10vw !important;
}

.pr80 {
	padding-right: 10vw !important;
}

.p100 {
	padding: 12.5vw !important;
}

.pt100 {
	padding-top: 12.5vw !important;
}

.pb100 {
	padding-bottom: 12.5vw !important;
}

.pl100 {
	padding-left: 12.5vw !important;
}

.pr100 {
	padding-right: 12.5vw !important;
}

/*----------------------------------------
文字スタイル
----------------------------------------*/

.fs15 {
	font-size: 3.5vw !important;
	line-height: 5.5vw !important;
}

.fs23 {
	font-size: 5.5vw !important;
	line-height: 7.5vw !important;
}

.fs30 {
	font-size: 8vw !important;
	line-height: 10vw !important;
}

.fs40 {
	font-size: 9.5vw !important;
	line-height: 11.5vw !important;
}

.fs50 {
	font-size: 11vw !important;
	line-height: 13vw !important;
}

/*----------------------------------------
画像関連
----------------------------------------*/

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

#wpadminbar {
	position: fixed !important;
}

.head-in .wrapper {
	padding: 20px 2.5vw;
}

.head-in-logo {
	float: left;
	width: 150px;
}

.head-in-logo .img-banner {
	background: url(images/logo.png) no-repeat;
	padding-bottom: 14.285% !important;
}

.head-in-logo:hover .img-banner {
	background: url(images/logo-2.png) no-repeat;
}

.head-fixed {
	box-shadow: 0 0 1.5vw 0 rgba(0,0,0,0.6);
}

body#top .head-fixed {
	top: -100px;
}

body#top.customize-support .head-fixed.fixed {
	margin-top: 46px;
}

.customize-support .head-fixed {
	margin-top: 46px;
}

.head-fixed .wrapper {
	padding: 20px 2.5vw;
}

.head-fixed-logo {
	float: left;
	width: 150px;
}

.head-fixed-logo .img-banner {
	background: url(images/logo.png) no-repeat;
	padding-bottom: 14.285% !important;
}

.head-fixed-logo:hover .img-banner {
	background: url(images/logo-2.png) no-repeat;
}

.head-sp-menu-btn {
	box-sizing: border-box;
	cursor: pointer;
	display: block;
	height: 25px;
	position: fixed;
	right: 3.5vw;
	top: 18px;
	width: 23px;
	z-index: 9999;
}

.head-sp-menu-btn-in {
	box-sizing: border-box;
	display: block;
	height: 100%;
}

.head-sp-menu-btn-in-in {
	box-sizing: border-box;
	display: block;
	height: 100%;
	position: relative;
}

.head-sp-menu-btn-in-in-line {
	background:var(--text-faint);
	box-sizing: border-box;
	border-radius: 5px;
	left: 0;
	height: 1px;
	position: absolute;
	transition: all .5s;
	-webkit-transition: all .5s;
	width: 100%;
}

.head-sp-menu-btn-in-in-line:nth-child(1) {
	top: 0;
}

.head-sp-menu-btn-in-in-line:nth-child(2) {
	top: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
}

.head-sp-menu-btn-in-in-line:nth-child(3) {
	bottom: 0;
}

.head-sp-menu-btn.active .head-sp-menu-btn-in-in-line:nth-of-type(1) {
	top: -9px;
	transform: translateY(20px) rotate(-45deg);
	-webkit-transform: translateY(20px) rotate(-45deg);
}

.head-sp-menu-btn.active .head-sp-menu-btn-in-in-line:nth-of-type(2) {
	opacity: 0;
}

.head-sp-menu-btn.active .head-sp-menu-btn-in-in-line:nth-of-type(3) {
	bottom: -8px;
	transform: translateY(-20px) rotate(45deg);
	-webkit-transform: translateY(-20px) rotate(45deg);
}

.head-sp {
	background: #f7f7f7;
	box-sizing: border-box;
	box-shadow: 0 0 15px 0 rgba(0,0,0,0.6);
	left: 0;
	opacity: 0;
	padding: 60px 0 10vw;
	pointer-events: none;
	position: fixed;
	top: 0;
	transition: all .5s;
	-webkit-transition: all .5s;
	width: 100%;
	z-index: 9998;
}

.head-sp.active {
	opacity: 1;
	pointer-events: auto;
}

.head-sp-logo{
	position:fixed;
	top:5vw;
	left:3.5vw;
	z-index:9991;
    font-family: var(--serif);
    font-weight: 200;
    font-size: 0.6rem;
    letter-spacing: 0.28em;
    color: var(--text-faint);
    text-decoration: none;
    text-transform: uppercase;
}

.head-sp-logo:hover{
    text-decoration: none;
	color: var(--text-faint);
}

.head-sp-logo:visited{
    text-decoration: none;
	color: var(--text-faint);
}

.head-sp-menu {
	box-sizing: border-box;
}

.head-sp-menu ul {
	box-sizing: border-box;
}

.head-sp-menu ul li {
	box-sizing: border-box;
	font-size: 4.5vw;
	line-height: 1.5;
	margin-bottom: 5vw;
	text-align: center;
}

.head-sp-menu ul li:last-child {
	margin-bottom: 0;
}

.head-sp-menu ul li a {
	color: var(--blue-2);
	text-decoration: navajowhite;
}

.head-fixed-sp-menu-btn {
	box-sizing: border-box;
	cursor: pointer;
	display: block;
	height: 25px;
	position: absolute;
	right: 2.5vw;
	top: 18px;
	width: 30px;
	z-index: 9999;
}

.head-fixed-sp-menu-btn-in {
	box-sizing: border-box;
	display: block;
	height: 100%;
}

.head-fixed-sp-menu-btn-in-in {
	box-sizing: border-box;
	display: block;
	height: 100%;
	position: relative;
}

.head-fixed-sp-menu-btn-in-in-line {
	background: #000;
	box-sizing: border-box;
	border-radius: 5px;
	left: 0;
	height: 2px;
	position: absolute;
	transition: all .5s;
	-webkit-transition: all .5s;
	width: 100%;
}

.head-fixed-sp-menu-btn-in-in-line:nth-child(1) {
	top: 0;
}

.head-fixed-sp-menu-btn-in-in-line:nth-child(2) {
	top: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
}

.head-fixed-sp-menu-btn-in-in-line:nth-child(3) {
	bottom: 0;
}

.head-fixed-sp-menu-btn.active .head-fixed-sp-menu-btn-in-in-line:nth-of-type(1) {
	top: -9px;
	transform: translateY(20px) rotate(-45deg);
	-webkit-transform: translateY(20px) rotate(-45deg);
}

.head-fixed-sp-menu-btn.active .head-fixed-sp-menu-btn-in-in-line:nth-of-type(2) {
	opacity: 0;
}

.head-fixed-sp-menu-btn.active .head-fixed-sp-menu-btn-in-in-line:nth-of-type(3) {
	bottom: -8px;
	transform: translateY(-20px) rotate(45deg);
	-webkit-transform: translateY(-20px) rotate(45deg);
}

.head-fixed-sp {
	background: #fff;
	box-sizing: border-box;
	box-shadow: 0 0 15px 0 rgba(0,0,0,0.6);
	left: 0;
	opacity: 0;
	padding: 60px 0 10vw;
	pointer-events: none;
	position: fixed;
	top: 0;
	transition: all .5s;
	-webkit-transition: all .5s;
	width: 100%;
	z-index: 9998;
}

.head-fixed-sp.active {
	opacity: 1;
	pointer-events: auto;
}

.head-fixed-sp-menu {
	box-sizing: border-box;
    position: unset;
	justify-content:center;
}

.head-fixed-sp-menu ul {
	box-sizing: border-box;
}

.head-fixed-sp-menu ul li {
	box-sizing: border-box;
	font-size: 4.5vw;
	line-height: 1.5;
	margin-bottom: 5vw;
	text-align: center;
}

.head-fixed-sp-menu ul li:last-child {
	margin-bottom: 0;
}

.head-fixed-sp-menu ul li a {
    font-family: var(--sans);
    font-weight: 300;
    font-size: 0.72rem;
    letter-spacing: 0.20em;
    color: var(--text-light);
    text-decoration: none;
    text-transform: uppercase;
    transition: color 0.4s ease;
}

/*----------------------------------------
TOPページ
----------------------------------------*/



/*------------------------------
メイン
------------------------------*/

.top-main-content .wrapper {
	padding: 10vw 0;
}

.top-main-content-main-img {
	float: none;
	margin: 0 auto;
	width: 85%;
}

.top-main-content-in {
	float: none;
	margin: 7.5vw auto 0;
	width: 85%;
}

.top-main-content-in-text {
	font-size: 5vw;
}

.top-main-content-in-text p {
	margin-bottom: 5vw;
}

/*------------------------------
コメント
------------------------------*/

.top-comment-content {
	height: 60vw;
}

.top-comment-content .wrapper {
	width: 85%;
}

.top-comment-content .wrapper::before {
	background: url(images-sp/top-bg.jpg) no-repeat;
	background-size: cover !important;
	background-position: top center !important;
	left: 50%;
	margin-left: -50%;
	width: calc(50vw + 50%);
}

.top-comment-content-text {
	font-size: 5vw;
	left: 5vw;
	width: calc(100% - 10vw);
}

/*----------------------------------------
個別ページ
----------------------------------------*/

.main {
	margin-top: 61px;
}

.page-content .wrapper {
	padding: 5vw 0 10vw;
}

.page-content-main-title {
	padding: 0 20px;
}

.page-content-main-title::before,
.page-content-main-title::after {
	border: 0.6vw solid;
	height: 5vw;
	width: 5vw;
}

.page-content-main-title-in {
}

.page-content-main-title-in-text {
	font-size: 20px;
	text-align:left;
}

.page-content-in {
	font-size: 4.5vw;
	margin-top: 2.5vw;
}

.page-content-in p {
	margin-bottom: 5vw;
}

.page-content-in p + h2,
.page-content-in p + h3,
.page-content-in p + h4,
.page-content-in p + .title-2,
.page-content-in p + .title-3,
.page-content-in p + .title-4,
.page-content-in ul + h2,
.page-content-in ul + h3,
.page-content-in ul + h4,
.page-content-in ul + .title-2,
.page-content-in ul + .title-3,
.page-content-in ul + .title-4,
.page-content-in ol + h2,
.page-content-in ol + h3,
.page-content-in ol + h4,
.page-content-in ol + .title-2,
.page-content-in ol + .title-3,
.page-content-in ol + .title-4,
.page-content-in dl + h2,
.page-content-in dl + h3,
.page-content-in dl + h4,
.page-content-in dl + .title-2,
.page-content-in dl + .title-3,
.page-content-in dl + .title-4,
.page-content-in table + h2,
.page-content-in table + h3,
.page-content-in table + h4,
.page-content-in table + .title-2,
.page-content-in table + .title-3,
.page-content-in table + .title-4,
.page-content-in img + h2,
.page-content-in img + h3,
.page-content-in img + h4,
.page-content-in img + .title-2,
.page-content-in img + .title-3,
.page-content-in img + .title-4,
.page-content-in iframe + h2,
.page-content-in iframe + h3,
.page-content-in iframe + h4,
.page-content-in iframe + .title-2,
.page-content-in iframe + .title-3,
.page-content-in iframe + .title-4,
.page-content-in div + h2,
.page-content-in div + h3,
.page-content-in div + h4,
.page-content-in div + .title-2,
.page-content-in div + .title-3,
.page-content-in div + .title-4,
.page-content-in a + h2,
.page-content-in a + h3,
.page-content-in a + h4,
.page-content-in a + .title-2,
.page-content-in a + .title-3,
.page-content-in a + .title-4,
.page-content-in center + h2,
.page-content-in center + h3,
.page-content-in center + h4,
.page-content-in center + .title-2,
.page-content-in center + .title-3,
.page-content-in center + .title-4 {
	margin-top: 10vw;
}

.page-content-in .title-2 {
    margin-bottom: 30px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--border);
}


.page-content-in .title-2 .title-in-text {
	font-size: 4.5vw;
}

.page-content-in .title-3 {
	margin-bottom: 2.5vw;
	padding-bottom: 1.4vw;
}

.page-content-in .title-3::before {
	height: 0.9vw;
	width: 30%;
}

.page-content-in .title-3::after {
	height: 0.9vw;
}

.page-content-in .title-3 .title-in-text {
	font-size: 5.5vw;
}

.page-content-in .title-4 {
	margin-bottom: 2.5vw;
}

.page-content-in .title-4 .title-in {
	padding-left: 2vw;
}

.page-content-in .title-4 .title-in::before {
	height: 4vw;
	top: 1.75vw;
	width: 4vw;
}

.page-content-in .title-4 .title-in-text {
	font-size: 5vw;
}

.page-content-in img.size-thumbnail {
	height: auto;
	width: 25%;
}

.page-content-in img.size-medium {
	height: auto;
	width: 50%;
}

.page-content-in img.size-large {
	height: auto;
	width: 100%;
}

.page-content-in img.size-full {
	height: auto;
	width: 100%;
}

.page-content-in img.size-full.defo {
	height: auto;
	max-width: 100%;
	width: auto;
}

.page-content-in .douga {
	margin-bottom: 5vw;
}

.waku {
	margin-bottom: 5vw;
	padding-top: 3vw;
}

.waku-title {
	left: 2.5vw;
}

.waku-title-in {
	border-radius: 5px;
	padding: 1vw 2vw;
}

.waku-title-in-text {
	font-size: 3.5vw;
}

.waku-in {
	border: 0.6vw solid;
	padding: 5.5vw 2.5vw 2.5vw;
}

.tb-base {
	margin-bottom: 5vw;
}

.tb.w-25,
.tb.w-50,
.tb.w-75 {
	width: 100%;
}

.tb th {
	border: 1px solid;
	border-bottom: 0;
	display: block;
	padding: 1.5vw 2.5vw;
	width: 100%;
}

.tb.th-50 th,
.tb.th-70 th {
	width: 100%;
}

.tb td {
	border: 1px solid;
	border-bottom: 0;
	display: block;
	padding: 1.5vw 2.5vw;
	width: 100%;
}

.tb tr:last-child td {
	border-bottom: 1px solid;
}

.col-tb-base,
.col-tb-base-long {
	margin-bottom: 5vw;
}

.col-tb th {
	border: 1px solid;
	font-size: 3.5vw;
	padding: 1vw;
}

.col-tb td {
	border: 1px solid;
	font-size: 3.5vw;
	padding: 1vw;
}

#toc_container {
	margin-top: 10vw;
	width: 100% !important;
}

/*----------------------------------------
404ページ
----------------------------------------*/

.page-404-content .wrapper {
	padding: 5vw 0 10vw;
}

.page-404-content-title-in-text {
	font-size: 5vw;
}

.page-404-content-text {
	font-size: 4.5vw;
	margin-top: 2.5vw;
}

.page-404-content-text p {
	margin-bottom: 5vw;
}

/*----------------------------------------
sidebar
----------------------------------------*/

/*----------------------------------------
footer
----------------------------------------*/

.foot-in .wrapper {
	padding: 10vw 0;
}

.foot-in-logo {
	float: none;
	width: 35vw;
}

.foot-in-menu {
	float: none;
	margin: 10vw auto 0;
	width: 100%;
}

.foot-in-menu ul {
	margin-bottom: -2.5vw;
}

.foot-in-menu ul li {
	float: left;
	font-size: 4.5vw;
	margin: 0 2.5% 2.5vw 0;
	width: 48.75%;
}

.foot-in-menu ul li:nth-child(2n),
.foot-in-menu ul li:last-child {
	margin-right: 0;
}

.foot-copyright .wrapper {
	padding: 2.5vw 0;
}

.foot-copyright-text {
	font-size: 3.5vw;
}

.foot-copyright-text span {
	margin: 0 1.75vw;
}

/*----------------------------------------
ページトップ
----------------------------------------*/

.pagetop {
	bottom: 2.5vw;
	height: 50px;
	right: 2.5vw;
	width: 50px;
}

.pagetop::before {
	font-size: 50px;
	line-height: 50px;
	width: 50px;
}

.pagetop:hover {
	opacity: 1;
}

#hero .hero-image {
    object-position: 19% 26%;
}

#to-philosophy .philosophy-header h2{
	font-size:4.5vw;
}

#top-philosophy {
   padding: 100px 20px;
}

#interlude {
    padding: 0;
    height: 29vh;
    min-height: 215px;
}

#top-threshold h2{
	font-size:4.5vw;	
}

.hints-item {
    padding: 32px 10px;
}

.second-hero {
    padding: 35px 60px 60px;
}

.second-hero, .essay-section, .blog-nav, .quiet-note, .blog-hero, .blog-body, .blog-bottom, .blog-photo, .video-section, .photo-break {
	padding-left: 24px;
    padding-right: 24px;
}

.second-hero h1 {
    font-size: 20px;
}

.common-sub-top-message {
    font-size: 15px;
	margin-bottom:16vw;
}

.program-link{
	padding:30px 10px;
}

#top-threshold {
    padding: 140px 20px;
}

.page-content .second-hero {
    padding: 0 20px 60px;
}