@charset "utf-8";
/* CSS Document */

body.open {
    overflow: hidden;
}

header {
    z-index: 9999;
}

.desktop,
header ul,
footer ul,
footer hr,
.column h1 br,
.column .advice .row .fukidashi:before,
.column .advice .row .fukidashi:after,
main .contents ul.breadcrumb {
    display: none;
}
header .contents i:not(:last-child),
.column h1 span,
.column a.banner span br {
    display: block;
}

img {
    max-width: 100%;
}

body:before,
body:after {
    height: 0;
    padding-top: 50%;
}
body:before {
    right: 50%;
    background: radial-gradient(circle at top left, #daebf4, rgba(246, 246, 246, 0) 75%);
}
body:after {
    left: 50%;
    background: radial-gradient(circle at top right, #daebf4, rgba(246, 246, 246, 0) 75%);
}

header {
    height: auto;
    padding: 20px 0;
}
header .contents a.portal {
    width: 19%;
    max-width: 135px;
}
header .contents a.portal img {
    width: auto;
    height: auto;
}
header .contents a.title {
    width: 34.5%;
    max-width: 245px;
}
header .contents i {
    font-size: 3.2rem;
    color: #6780da;
}

nav {
    position: fixed;
    z-index: 9998;
    padding: 0 20px;
    bottom: 0;
    left: 0;
    right: 0;
    overflow: auto;
    background-color: #f6f6f6;
}
nav ul li {
    margin-bottom: 15px;
}
nav ul li img {
    margin: 15px 0 25px 0;
}
nav ul li ul {
    background-color: #fff;
    border-radius: 10px;
    padding-top: 25px;
    display: inline-block;
    width: 100%;
    margin-bottom: 15px;
}
nav ul li ul li {
    margin: 0;
    margin-bottom: 25px;
}
nav ul li ul li a {
    display: block;
    padding: 0 calc(20px + 1em);
    position: relative;
    height: auto;
}
nav ul li ul li a:before {
    content: "";
    position: absolute;
    display: block;
    top: 0.9em;
    left: 20px;
    height: 1px;
    width: 0.5em;
    background-color: #464646;
}
nav ul li a {
    display: flex;
    background-color: #fff;
    border-radius: 10px;
    height: 80px;
    align-items: center;
    padding: 0 20px;
}
nav ul li a img {
    margin: 0;
}

main {
    position: relative;
    z-index: 2;
}

main .contents iframe:last-child {
    margin: 0;
}

footer {
    z-index: 3;
    padding: 50px 0 25px 0;
}

footer a.pagetop {
   left: auto;
   right: 10px;
   height: 38px;
   width: 38px;
   bottom: calc(100% + 10px);
   border: 2px solid #667fd9;
}
footer a.pagetop.fixed {
    bottom: 10px;
}
footer a.pagetop img {
    display: none;
}

footer .foot {
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
}
footer .foot a {
    margin-bottom: 20px;
}
footer .foot a:first-child {
    width: 35.21%;
    max-width: 250px;
}
footer .foot a:not(:first-child) {
    width: 23.94%;
    max-width: 125px;
}
footer .foot a img {
    display: inline;
}
footer .copy {
    position: inherit;
    transform: translate(0, 0);
    bottom: auto;
    left: auto;
    border-top: 1px solid #eee;
    padding-top: 20px;
    width: 100%;
    text-align: center;
}

main .contents .category {
    margin: 55px 0 -30px 0;
}

main .contents section.list {
    padding: 70px 20px 50px 20px;
}
main .contents section.list:last-child {
    margin-bottom: 0;
}
main .contents section.list h2 {
    margin: 0 20px;
    text-align: center;
}
main .contents section.list ul {
    display: inline-block;
    width: 100%;
    overflow: hidden;
    margin: 0 0 -35px 0;
}
main .contents section.list ul li {
    width: auto;
    padding: 35px 0;
    margin: 0;
    display: list-item;
}
main .contents section.list ul li:nth-child(odd):before,
main .contents section.list ul li:nth-child(even):before {
    display: block;
    top: 0;
    width: auto;
    right: 0;
}
main .contents section.list ul li:first-child:before {
    display: none;
}
main .contents section.list ul li > a:first-child {
    width: 100%;
}
main .contents section.list ul li .text {
    width: auto;
    padding: 0;
    float: none;
    margin-top: 25px;
}
main .contents section.list ul li .text h3 {
    margin: 0;
    font-weight: normal;
}

ul.sns {
    margin-right: -10px;
}
ul.sns li {
    margin-right: 10px;
}
ul.sns li:first-child {
	margin-right: 20px;
}

.column {
	margin: 60px 0;
}
.column h1 {
	font-size: 2.8rem;
	line-height: 153.57%;
	margin-bottom: 35px;
}
.column .img_width.main {
    margin-bottom: 35px;
}
.column.wakuwaku .img_width {
	border-radius: 15px;
}
.column .img_width.main .img,
.column#column1 .img_width.main .img, 
.column#column2 .img_width.main .img {
	padding-top: 65.37%;
}
.column .img_width.main .img img {
    max-width: 100%;
}
.column#dish-up .img_width.main .img img {
    max-height: 100%;
    max-width: none;
}
.column.karada .img_width.main .img img {
    width: 147%;
    max-width: none;
}
.column#column1 .img_width.main .img img {
	top: 58%;
	left: 41%;
}
.column#column2 .img_width.main .img img {
	top: 80%;
	left: 40%;
}
.column#index .img_width.main .img img {
    top: 50%;
}
.column p.main_text {
    margin: 1em 0;
}
.column.karada p.main_text {
	margin-bottom: 50px;
}
.column article {
    display: block;
    margin: 75px 0;
}
.column.karada article {
	margin: 35px 0;
}
.column article h2,
.column.karada article h2 {
	height: auto;
	padding: 15px 20px;
    line-height: 150%;
    align-items: flex-start;
    font-size: 2.0rem;
}
.column article h2 img {
    margin-top: 5px;
    margin-right: 10px;
}
.column article .img_width,
.column.karada article .img_width {
	width: auto;
	float: none;
	margin-right: 0;
}
.column article p {
	margin: 25px 0;
}
.column article .img_width + p {
	padding-top: 0;
}
.column .advice .name {
	display: flex;
	align-items: center;
}
.column .advice .name img.sp {
	margin-right: 30px;
}
.column .advice .name .row {
	flex-direction: column;
	align-items: stretch;
	justify-content: center;
	width: 100%;
}
.column .advice .name .row .text {
	margin: 15px 0 0 0;
	text-align: center;
}
.column .advice .row .text {
	width: auto;
}
.column .advice .row .fukidashi, 
.column .advice .row aside {
	padding: 15px 20px;
}
.column a.banner {
	margin-top: 70px;
}
.column a.banner span {
	line-height: 152.63%;
	font-size: 1.3rem;
	left: 65%;
	white-space: nowrap;
	top: 25%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-moz-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
}
.column a.banner span.view {
    width: 120px;
    line-height: 25px;
    background-color: #5d4037;
    color: #fff;
    border-radius: 30px;
    -webkit-border-radius: 30px;
    -moz-border-radius: 30px;
    font-size: 1.5rem;
    text-align: center;
    letter-spacing: 0.05em;
    top: auto;
    bottom: 0px;
}
.column#column2 article ul li {
	margin: 15px 0;
}
.column ul, 
.column ol {
    padding: 15px 25px;
}
.column article h3 {
    margin-top: 50px;
    font-size: 2.0rem;
}
.column section {
    padding: 20px 25px;
}
.column#column2 .img_width.main .img img.intestinal_activity {
	top: 50%;
    left: 50%;
    width: 100%;
    max-width: 100%;
}

/* add moved gakuen to www */
header .contents {
    width: 100vw;
}
