@charset"utf-8";
/*
Web Site ver.1  --  Section CSS
Author : Hideyuki Koyama -MONTAGE lab.(https://www.montagelab.jp)
Latest Updated : 28 Nov., 2025
*/

/**
 * Table of Contents
 *
 * 1.0 - Reset
 * 2.0 - 
 * 3.0 - 
 * 4.0 - 
 * 5.0 - 
 * 6.0 - 
 * 7.0 - 
 *
 */


/* **************************************************************************** */
/*
/* Home
/*
/* **************************************************************************** */

/**
 * - home Billboard
 **/
.home-billboard	{ position:relative; background:linear-gradient(90deg, #270F09, #401F17);}
.home-billboard img	{ object-fit:cover; aspect-ratio:3 / 2;}
.home-billboard:before	{ position:absolute; bottom:0; left:0; content:''; width:100%; height:40%; background:linear-gradient( 0deg, rgba(226,207,226,.75), rgba(226,207,226,.75) );}


/**
 * - home News
 **/
.home-news	{ padding:6rem 10%; background-color:rgba(226, 207, 226, .15);}
.home-news .section-header	{ position:relative; padding:0 0 3rem; text-align:left;}
.home-news .section-title	{ font-weight:400;}
.home-news .section-title .en	{ font-size:4.4rem; font-family:var(--font-serif-en);}
.home-news .section-title .jp	{ display:block; padding:0.5rem 0 0; font-size:2.0rem; font-family:var(--font-serif-jp);}
.home-news .btn-archive	{ position:absolute; top:12px; right:0; line-height:1;}
.btn-archive a	{ position:relative; display:inline-block; padding:0.5em 2.2em 0.5em 1em; font-size:1.3rem; color:var(--doshisha-color-gray); border:1px solid var(--doshisha-color-gray); border-radius:50px;}
.btn-archive a:before	{ position:absolute; top:calc(50% - 5px); right:10px; content:''; width:11px; height:10px; background:url(../img/common/arrow-archive.svg) no-repeat center / 11px auto; transition:all 0.2s ease;}
.btn-archive a:hover	{ color:var(--doshisha-color-bright); border-color:var(--doshisha-color-bright);}
.btn-archive a:hover:before	{ right:8px;}

.home-news .section-content {}
.home-news .news-list	{ padding:0 0 3rem; text-align:left;}


/**
 * - お知らせ特別枠
 **/
.home-notification	{ padding:0 0 3rem;}
.home-notification .content	{ position:relative; padding:3rem 8%; text-align:left; background-color:#fff; border:2px solid var(--doshisha-color-deep);}
.home-notification .content:before	{ position:absolute; top:0; left:0; content:''; width:0; height:0; border:solid transparent; border-width:4px; border-top-color:var(--doshisha-color-deep); border-left-color:var(--doshisha-color-deep);}
.home-notification .entry-title	{ position:relative; margin:2em 0 1em; padding:0.7em 0 0; font-weight:400; line-height:1.25;}
.home-notification .entry-title:first-child	{ margin-top:0;}
.home-notification .entry-title:before	{ position:absolute; top:0; left:0; content:''; width:32px; height:0; border-top:2px solid var(--doshisha-color-deep);}
.home-notification p	{ line-height:1.9;}

	
/**
 * - Home - 同志社の学び
 **/
.home-manabi	{ position:relative; padding:0 0 420px;}
.home-manabi:before	{ position:absolute; bottom:0; left:0; content:''; width:100%; height:50%; background:linear-gradient(110deg, #E1F5F9, #F9F2F7, #F3E7EE);}
/*.home-manabi:after	{ position:absolute; bottom:0; left:0; content:''; width:100%; height:100%; background:url(../img/home/manabi-bg.webp) no-repeat bottom center / 200% auto;}*/
.home-manabi .manabi-bg { position:absolute; bottom:80px; left:50%; width:100%; max-width:3000px; height:0%; transform:translateX(-50%);}
.home-manabi .manabi-bg img { position:absolute; bottom:0; left:0; aspect-ratio:1 / 1; object-fit:cover;}
.home-manabi .section-header	{ padding:10rem 8%;}
.home-manabi .section-title	{ 
	display:block; max-width:300px;
	text-align:left; font-size:3.5rem; line-height:1; letter-spacing:0.05em; font-weight:400; font-family:var(--font-serif-jp);
	color:transparent;
}
.home-manabi .section-title span	{ display:block; margin:0.5em 0; white-space:pre; background-repeat:no-repeat; background-position:left center; background-size:auto 100%;}
.home-manabi .section-title span:nth-child(2)	{ margin-left:2.7em;}
.home-manabi .section-title span.manabi-catch1	{ background-image:url(../img/home/manabi-header-title1.svg);}
.home-manabi .section-title span.manabi-catch2	{ background-image:url(../img/home/manabi-header-title2.svg);}
.home-manabi .section-content	{ 
	position:relative; z-index:2; padding:0 8%;
	display:flex; flex-flow:row wrap; justify-content:space-between; align-items:flex-start;
}
.home-manabi .manabi-title	{ margin:0; padding:0; text-align:left;}
.home-manabi .manabi-title .jp	{ 
	display:block; writing-mode:vertical-rl; white-space:pre;
	text-align:left; font-family:var(--font-serif-jp); font-size:3.0rem; font-weight:400; line-height:1;
	color:transparent;
	background:url(../img/home/manabi-content-title.svg) no-repeat center top / 100% auto;
}
.home-manabi .manabi-lead	{ padding:3em 0 0; width:calc(100% - 72px); text-align:left; font-size:1.4rem; line-height:2.0; letter-spacing:0.05em; font-weight:400; font-family:var(--font-serif-jp);}
.home-manabi .manabi-lead p	{ margin-bottom:0.8em; font-family:var(--font-sans-jp);}
.home-manabi .btn-manabi	{ position:absolute; bottom:0; z-index:3; width:100%;}
.home-manabi .btn-manabi a	{ position:relative; display:block; padding:2.4em 0 2.4em 1.6em; text-align:left; font-size:1.6rem; color:#fff; background-color:var(--doshisha-color-deep);}
.home-manabi .btn-manabi a:before	{ position:absolute; top:calc(50% - 14px); right:24px; content:''; width:29px; height:29px; background:url(../img/home/arrow-manabi.svg) no-repeat center / 29px; transition:all 0.2s ease;}
.home-manabi .btn-manabi a:hover	{ background-color:var(--doshisha-color-bright);}
.home-manabi .btn-manabi a:hover:before { transform:scale(1.2);}


/**
 * - Home - Features
 **/
.home-features	{}
.feature-about  { position:relative;}
.feature-about:before   { position:absolute; bottom:0; left:0; content:''; width:0; height:50%; background:linear-gradient(120deg, #D7F0EA, #DBEDEA, #CAE6DF ); transition:all .4s ease-out;}
.feature-about.show:before	{ width:100%;}
.feature-about .wrap	{ 
	padding:10rem 10% 2rem;
	display:flex; flex-flow:row wrap; justify-content:space-between; align-items:flex-start;
}
.feature-about .section-header	{ position:relative; width:30px;}
.feature-about .section-title	{ font-weight:400; line-height:1.05;}
.feature-about .section-title a	{ position:relative; display:block; padding:8px 0; font-family:var(--font-serif-jp); color:transparent;}
.feature-about .section-title span	{ 
	display:block; width:30px; aspect-ratio:3 / 13; 
	writing-mode:vertical-rl; text-align:left; font-size:3.0rem; 
	background:url(../img/home/feature-about-title.svg) no-repeat center top / 100% auto; 
}
.feature-about .section-title a:before	{ position:absolute; bottom:0; left:0; content:''; width:0; height:0; border-bottom:1px solid var(--doshisha-color-deep); transition:all 0.2s ease-in;}
.feature-about .section-title a:after	{ position:absolute; bottom:-3px; right:8px; content:''; width:7px; height:7px; border:solid var(--doshisha-color-deep); border-width:1px 1px 0 0; transform:rotate(45deg); opacity:0; transition:all 0.2s ease;}
.feature-about .section-title a:hover:before	{ width:100%;}
.feature-about .section-title a:hover:after 	{ right:0; opacity:1;}
.feature-about .section-content	{ position:relative; padding:50px 0 0; width:calc(100% - 72px); text-align:left;}
.feature-about .menu	{}
.feature-about .menu li	{ margin:0 0 10px; font-size:1.6rem; line-height:1;}
.feature-about .menu li a	{ position:relative; display:inline-block; padding:3px 0 8px 33px; color:#000;}
.feature-about .menu li a:before   { position:absolute; top:0; left:0; content:''; width:24px; height:24px; background:url(../img/home/arrow-feature.svg) no-repeat center / 100%; transition:all 0.2s ease;}
.feature-about .menu li a:hover	 { padding-left:39px;}
.feature-about .menu li a:hover:before  { transform:scale(1.2);}
.feature-about .image	{ position:relative; top:20px; padding:0 0 0 10%;}
.feature-about .image img	{ aspect-ratio:2 / 1; object-fit:cover;}

.feature-schoollife  { position:relative;}
.feature-schoollife:before   { position:absolute; bottom:0; right:0; content:''; width:0%; height:50%; background:linear-gradient(100deg, #E9ECCE, #F9EBDD, #E9D9CE ); transition:all .4s ease-out;}
.feature-schoollife.show:before	{ width:100%;}
.feature-schoollife .wrap	{
	padding:10rem 10% 2rem;
	display:flex; flex-flow:row wrap; justify-content:space-between; align-items:flex-start;
}
.feature-schoollife .section-header	{ position:relative; width:30px;}
.feature-schoollife .section-title	{}
.feature-schoollife .section-title a	{ position:relative; display:block; padding:8px 0; font-family:var(--font-serif-jp); color:transparent;}
.feature-schoollife .section-title span	{ 
	display:block; width:30px; aspect-ratio:3 / 13; 
	writing-mode:vertical-rl; text-align:left; font-size:3.0rem; 
	background:url(../img/home/feature-schoollife-title.svg) no-repeat center top / 100% auto;
}
.feature-schoollife .section-title a:before	{ position:absolute; bottom:0; left:0; content:''; width:0; height:0; border-bottom:1px solid var(--doshisha-color-deep); transition:all 0.2s ease-in;}
.feature-schoollife .section-title a:after	{ position:absolute; bottom:-3px; right:8px; content:''; width:7px; height:7px; border:solid var(--doshisha-color-deep); border-width:1px 1px 0 0; transform:rotate(45deg); opacity:0; transition:all 0.2s ease;}
.feature-schoollife .section-title a:hover:before	{ width:100%;}
.feature-schoollife .section-title a:hover:after 	{ right:0; opacity:1;}
.feature-schoollife .section-content	{ position:relative; padding:50px 0 0; width:calc(100% - 72px); text-align:left;}
.feature-schoollife .menu	{}
.feature-schoollife .menu li	{ margin:0 0 10px; font-size:1.6rem; line-height:1;}
.feature-schoollife .menu li a	{ position:relative; display:inline-block; padding:3px 0 8px 33px; color:#000;}
.feature-schoollife .menu li a:before   { position:absolute; top:0; left:0; content:''; width:24px; height:24px; background:url(../img/home/arrow-feature.svg) no-repeat center / 100%; transition:all 0.2s ease;}
.feature-schoollife .menu li a:hover	 { padding-left:39px;}
.feature-schoollife .menu li a:hover:before  { transform:scale(1.2);}
.feature-schoollife .image	{ position:relative; top:20px; padding:0 10% 0 0;}
.feature-schoollife .image img	{ aspect-ratio:2 / 1; object-fit:cover;}

.feature-nav	{ padding:8rem 10%;}
.feature-nav .menu	{ margin:0 auto; max-width:1280px;}
.feature-nav .menu li	{ margin:0 0 10px; font-size:2.4rem; letter-spacing:0.05em; line-height:1; font-family:var(--font-serif-jp);}
.feature-nav .menu li a	{ 
	position:relative; display:block; 
	padding:1.4em 1.6em; text-align:center; color:var(--doshisha-color-deep);
	background-color:rgba(226,207,226,0.1); border:solid var(--doshisha-color-deep); border-width:1px 0;
}
.feature-nav .menu li a:before	{ position:absolute; top:calc(50% - 14px); right:24px; content:''; width:29px; height:29px; background:url(../img/home/arrow-feature.svg) no-repeat center / 29px; transition:all 0.2s ease;}
.feature-nav .menu li a:hover:before	{ transform:scale(1.2);}
.feature-nav .menu li a:hover	{ background-color:rgba(226,207,226,0.5);}


/* >= 720px							 */
@media screen and (min-width: 720px) {

	.home-news .section-content.with-sticky	{ display:flex; flex-flow:row wrap; justify-content:space-between; align-items:flex-start;}
	.home-news .with-sticky .home-news-list	{ width:45%;}
	.home-news .with-sticky .home-notification	{ width:45%;}

	.home-manabi .manabi-bg { bottom:0;}
	.home-manabi .manabi-bg img { aspect-ratio:4 / 3;}
	.home-manabi .section-title	{ max-width:90%; font-size:6.0rem;}
	.home-manabi .manabi-title	{ margin:0; padding:0;}
	.home-manabi .manabi-title .jp	{ font-size:3.6rem;}
	.home-manabi .btn-manabi	{ bottom:20px; right:0; width:70%;}

	.feature-about	{ 
		display:flex; flex-flow:row wrap; justify-content:space-between; align-items:flex-start;
		padding:10rem 0 5rem 0;
	}
	.feature-about:before   { height:60%;}
	.feature-about .wrap	{ padding:0 0 0 10%; width:45%;}
	.feature-about .image	{ top:30px; width:55%; padding:0;}
	.feature-about .section-content	{ padding:80px 0 0;}

	.feature-schoollife	{ 
		display:flex; flex-flow:row wrap; justify-content:space-between; align-items:flex-start;
		padding:10rem 0 5rem 0;
	}
	.feature-schoollife:before   { height:60%;}
	.feature-schoollife .wrap	{ padding:0 0 0 10%; width:45%;}
	.feature-schoollife .image	{ top:30px; width:55%; padding:0;}
	.feature-schoollife .section-content	{ padding:80px 0 0;}

}

/* >= 1024px							 */
@media screen and (min-width: 1024px) {

	.home-billboard img	{ aspect-ratio:2 / 1;}
	.home-news	{ padding:6rem 5%;}
	.home-news .wrapper	{
		display:flex; flex-flow:row wrap; justify-content:space-between; align-items:flex-start;
		margin:0 auto; max-width:1280px;
	}
	.home-news .section-header	{ width:15%;}
	.home-news .btn-archive	{ position:relative; top:0;}
	.home-news .section-content	{ width:70%;}
	.home-news .section-content:not(.with-sticky) .news-list li a	{
		display:flex; flex-flow:row wrap; justify-content:flex-start; align-items:center;
		padding:1.4em 0.2em;
	}
	.home-news .section-content:not(.with-sticky) .news-list .entry-title	{ width:55%;}
	.home-news .section-content:not(.with-sticky) .news-list .meta	{ margin:0; width:33%;}

	.home-news .section-title	{ margin:0 0 3rem;}
	.home-news .section-title .en	{ font-size:3.8rem;}
	.home-news .section-title .jp	{ display:block; padding:0.5rem 0 0; font-size:1.6rem; font-family:var(--font-serif-jp);}
	.home-news .section-content.with-sticky	{ width:82%;}
	.home-news .with-sticky .home-news-list	{ width:48%;}
	.home-news .with-sticky .home-notification	{ width:46%;}
	
	.home-manabi .section-header	{ padding:20vh 8% 15vh;}
	.home-manabi .section-title		{ max-width:70%; font-size:7.2rem;}
	.home-manabi .manabi-lead	{ width:calc(100% - 92px);}
	.home-manabi .manabi-bg img { aspect-ratio:3 / 2;}
	.home-manabi .btn-manabi	{ bottom:40px;}
	.home-manabi .btn-manabi a	{ margin:0 0 0 5%; padding:2.4em 0 2.4em 3.6em; font-size:1.8rem;}
	.home-manabi .btn-manabi a:before	{ right:44px;}
	.home-manabi .btn-manabi a:hover { margin:0;}

	.feature-about:before   { right:5%; width:0%; height:60%;}
	.feature-about.show:before	{ width:90%;}
	.feature-about .wrap	{ width:40%;}
	.feature-about .image	{ width:60%;}
	.feature-about .image img	{ aspect-ratio:17 / 6;}
	.feature-about .section-content	{ padding:80px 0 0;}
	.feature-about .section-header	{ width:34px;}
	.feature-about .section-title span	{ width:34px; font-size:3.4rem;}

	.feature-schoollife	{ flex-flow:row-reverse wrap; padding:10rem 0 7rem 0;}
	.feature-schoollife:before  { left:5%; width:0%; height:60%;}
	.feature-schoollife.show:before	{ width:90%;}
	.feature-schoollife .wrap	{ flex-flow:row-reverse wrap; padding:0 10% 0 0; width:40%; }
	.feature-schoollife .image	{ width:60%;}
	.feature-schoollife .image img	{ aspect-ratio:17 / 6;}
	.feature-schoollife .section-content	{ padding:80px 0 0 10%;}
	.feature-schoollife .section-title span	{ width:34px; font-size:3.4rem;}


	.feature-nav	{ padding:8rem 5%;}
	.feature-nav .menu	{ display:flex; flex-flow:row wrap; justify-content:space-between; align-items:flex-start;}
	.feature-nav .menu li	{ margin:0; width:32%;}

}

/* >= 1280px							*/
@media screen and (min-width: 1280px) {
	
	.home-news	{ padding:6rem 8%;}
	.home-news .section-title .en	{ font-size:4.4rem;}
	.home-news .section-title .jp	{ font-size:2.0rem;}
	.home-news .section-content:not(.with-sticky) .news-list li a	{ padding:1.4em 2em;}
	.home-news .section-content:not(.with-sticky) .news-list .entry-title	{ width:66%;}
	.home-news .section-content:not(.with-sticky) .news-list .meta	{ width:28%;}

	.home-manabi .section-title		{ max-width:720px; font-size:8.4rem;}
	.home-manabi .manabi-title		{ margin:0; padding:0;}
	.home-manabi .manabi-title .jp	{ font-size:4.4rem;}
	.home-manabi .manabi-lead	{ padding:2em 0 0; width:calc(100% - 122px); font-size:1.5rem;}
	.home-manabi .manabi-bg img { aspect-ratio:16 / 9;}

	.feature-about .wrap	{ flex-flow:column wrap; width:30%;}
	.feature-about .section-header	{ width:38px;}
	.feature-about .section-title span	{ width:38px; font-size:3.8rem;}
	.feature-about .section-content	{ padding:30px 0 0;}
	.feature-about .image	{ top:50px; width:70%;}

	.feature-schoollife .wrap	{ flex-flow:column wrap; padding:0 0 0 5%; width:30%;}
	.feature-schoollife .section-header	{ width:auto; padding:0 0 0 9em;}
	.feature-schoollife .section-title	{}
	.feature-schoollife .section-title a	{}
	.feature-schoollife .section-title span	{ width:38px; font-size:3.8rem;}
	.feature-schoollife .section-content	{ padding:30px 0 0;}
	.feature-schoollife .image	{ top:50px; width:70%;}
	
	.feature-nav	{ padding:12rem 5%;}

}

/* >= 1520px							*/
@media screen and (min-width: 1520px) {

	.home-news	{ padding:7rem 8%;}
	.home-news .section-title .en	{ font-size:5.1rem;}
	.home-news .section-title .jp	{ font-size:2.5rem;}
	.home-news .section-content:not(.with-sticky) .news-list li a	{ padding:1.6em 3em;}
	.home-news .section-content:not(.with-sticky) .news-list .entry-title	{ width:66%;}
	.home-news .section-content:not(.with-sticky) .news-list .meta	{ width:28%;}

	.home-manabi:before	{ height:40%;}
	.home-manabi .manabi-title		{ margin:0; padding:0;}
	.home-manabi .manabi-title .jp	{ font-size:5.1rem;}
	.home-manabi .section-title		{ max-width:880px; font-size:10.4rem;}
	.home-manabi .btn-manabi a	{ font-size:2.0rem;}
	.home-manabi .manabi-bg img { aspect-ratio:16 / 8; object-position:100% 0;}

	.feature-about	{ padding:16rem 0 5rem;}
	.feature-about:before   { right:8%; width:0%; height:64%;}
	.feature-about.show:before	{ width:84%;}
	.feature-about .wrap	{ padding:0 0 0 12%;}
	.feature-about .section-header	{ width:51px;}
	.feature-about .section-title span	{ width:51px; font-size:5.1rem;}
	.feature-about .menu li	{ margin:0 0 16px; font-size:1.8rem;}
	.feature-about .menu li a	{ padding:4px 0 8px 40px;}
	.feature-about .menu li a:before	{ width:29px; height:29px;}
	.feature-about .menu li a:hover	 { padding-left:46px;}

	.feature-schoollife	{ padding:14rem 0 5rem;}
	.feature-schoollife:before   { left:8%; width:0%; height:64%;}
	.feature-schoollife.show:before	{ width:84%;}
	.feature-schoollife .section-header	{ padding:0 0 0 10em;}
	.feature-schoollife .section-title span	{ width:51px; font-size:5.1rem;}
	.feature-schoollife .menu li	{ margin:0 0 16px; font-size:1.8rem;}
	.feature-schoollife .menu li a	{ padding:4px 0 8px 40px;}
	.feature-schoollife .menu li a:before	{ width:29px; height:29px;}
	.feature-schoollife .menu li a:hover	 { padding-left:46px;}

	.feature-nav	{ padding:14rem 5%;}
	.feature-nav .menu li	{ font-size:3.3rem;}
	.feature-nav .menu li a	{ padding:1.4em 1.6em;}

}




/* **************************************************************************** */
/*
/* 同志社の学び
/*
/* **************************************************************************** */
	
.manabi-header  { 
	position:relative; margin:0 0 10rem; padding:8rem 8% 4rem;
	background:linear-gradient(160deg, rgba(210, 226, 245, .8), rgba(230, 200, 222, 0.1), rgba(255,255,255,.1)), linear-gradient(210deg, #b6e0e8, rgba(255,255,255,0) 70% );
}
.manabi-title   { margin:0; text-align:right;}
.manabi-title .jp   { 
		display:inline-block; writing-mode:vertical-rl; 
		text-align:left; font-family:var(--font-serif-jp); font-size:3.0rem; font-weight:400; line-height:1;
		color:transparent; 
		background:url(../img/manabi/manabi-title.svg) no-repeat center top / 100% auto;
	}
.manabi-header:before { position:absolute; bottom:0; right:0; content:''; width:100%; height:auto; aspect-ratio:3 / 2; background:url(../img/home/manabi-bg.webp) no-repeat right bottom / cover;}

.manabi-header .content { position:relative; padding:0 0 10rem; text-align:left;}
.manabi-header .content h2  { font-family:var(--font-sans-jp); font-weight:400; line-height:1.8;}
.manabi-header .content p   { line-height:2.8;}

.manabi-header .photos  { position:relative; display:flex; flex-flow:row wrap; justify-content:space-between; align-items:flex-start;}
.manabi-header .photos figure   { position:relative; width:30%;}
.manabi-header .photos figure:nth-child(1)   { top:90px;}
.manabi-header .photos figure:nth-child(2)   { top:50px;}
.manabi-header .photos figure:nth-child(3)   { top:10px;}
.manabi-header .photos img	  {}


.manabi-1   { padding:0 5%;}
.manabi-1 .content-wrap	 { 
	display:flex; flex-flow:row nowrap; justify-content:space-between; align-items:stretch;
	margin:0 auto 8rem; max-width:var(--w-broad);
}
.manabi-1-header	{ position:relative; padding:0; width:1.8rem;}
.manabi-1-header:before	{ position:absolute; left:8px; top:150px; content:''; width:0; height:calc(100% - 150px); border-left:1px solid var(--doshisha-color-deep);}
.manabi-1-header p	{ margin:0; padding:0; writing-mode:vertical-rl; font-size:1.6rem; line-height:1; font-family:var(--font-serif-jp);}
.manabi-1-header p .num	{ position:relative; display:inline-block; margin:6px 0 0; padding:7px 0 0; text-align:center; text-combine-upright:all; color:var(--doshisha-color-deep);}
.manabi-1-header p .num:before	{ display:block; position:absolute; top:0; left:calc(50% - 15px); content:''; width:30px; height:30px; border:1px solid var(--doshisha-color-deep); border-radius:50px;}
.manabi-1 .section-content	{ padding:8rem 0 6rem; text-align:left; width:80%;}
.manabi-1 .section-content .content	{ padding:0 0 5rem;}
.manabi-1 .section-content h2  { letter-spacing:0.1em;}
.manabi-1 .section-content h3  {}
.manabi-1 .section-content p   { font-family:var(--font-serif-jp);}
.manabi-1 .section-content p.grade	{ margin:3em 0 0; font-size:1.8rem;}
.manabi-1 .section-content p.kamoku	{ font-size:1.6rem;}
.manabi-1 .section-content p.kamoku .bg  { display:inline-block; margin:0 0.2em; padding:0.2em 0.5em; line-height:1; background-color:#E2CFE2;}
.manabi-1 .section-content p.kamoku .symbol  { color:var(--doshisha-color-deep);}
.manabi-1 .btn-curriculum   {}
.manabi-1 .btn-curriculum a	{ display:inline-block; padding:0.6em 1em; line-height:1; color:var(--doshisha-color-deep); border:1px solid var(--doshisha-color-deep); border-radius:4px;}
.manabi-1 .btn-curriculum a span { position:relative; padding: 0 14px 0 0;}
.manabi-1 .btn-curriculum a span:before { position:absolute; top:calc(50% - 6px); right:0; content:''; width:11px; height:11px; background:url(../img/common/arrow.svg) no-repeat center / 11px;}
.manabi-1 .btn-curriculum a:hover	{ color:#fff; background-color:var(--doshisha-color-deep);}
.manabi-1 .btn-curriculum a:hover span:before	{ background-image:url(../img/common/arrow-white.svg)}
.manabi-1 .figures  { display:flex; flex-flow:row wrap; justify-content:space-between; align-items:flex-start;}
.manabi-1 .figures figure   {}
.manabi-1 .figures figure:nth-child(1)   { width:100%;}
.manabi-1 .figures figure:nth-child(2)   { width:50%;}
.manabi-1 .figures figure:nth-child(3)   { width:50%;}
.manabi-1 figure img  {}

.manabi-2   { padding:0 5%;}
.manabi-2 .content-wrap	 { 
	display:flex; flex-flow:row no-wrap; justify-content:space-between; align-items:stretch;
	margin:0 auto 5rem; max-width:var(--w-broad);
}
.manabi-2-header	{ position:relative; padding:0; width:1.8rem;}
.manabi-2-header:before	{ position:absolute; left:8px; top:150px; content:''; width:0; height:calc(100% - 150px); border-left:1px solid var(--doshisha-color-deep);}
.manabi-2-header p	{ margin:0; padding:0; writing-mode:vertical-rl; font-size:1.6rem; line-height:1; font-family:var(--font-serif-jp);}
.manabi-2-header p .num	{ position:relative; display:inline-block; margin:6px 0 0; padding:7px 0 0; text-align:center; text-combine-upright:all; color:var(--doshisha-color-deep);}
.manabi-2-header p .num:before	{ display:block; position:absolute; top:0; left:calc(50% - 15px); content:''; width:30px; height:30px; border:1px solid var(--doshisha-color-deep); border-radius:50px;}
.manabi-2 .section-content	{ padding:8rem 0 0; text-align:left; width:80%; font-family:var(--font-serif-jp);}
.manabi-2 .section-content .content	{ padding:0 0 5rem;}
.manabi-2 .section-content h2	{ letter-spacing:0.1em;}
.manabi-2 .section-content h3	{ line-height:2.0; font-family:var(--font-serif-jp); color:var(--doshisha-color-deep);}
.manabi-2 .section-content h4	{ margin:0 0 1em;}
.manabi-2 .section-content p	{ font-family:var(--font-serif-jp);}
.manabi-2 .content-renkei .block	{ margin:0 0 8rem;}
.manabi-2 .figures  {}
.manabi-2 .content-renkei figure   { position:relative; margin:0 0 2.0rem;}
.manabi-2 .content-renkei figure figcaption  { display:inline-block; margin:8px 0 0; padding:0.3em 1em; line-height:1; color:#fff; background-color:var(--doshisha-color-deep); border-radius:50px;}
.manabi-2 .content-seminar figure	{ margin:0 0 4rem;}
.manabi-2 .content-seminar figure figcaption  { margin:8px 0 0; line-height:1;}
.manabi-2 .content-abroad figure	{ margin:0 0 4rem;}
.manabi-2 .content-abroad figure figcaption  { margin:8px 0 0; line-height:1;}



/* >= 720px							 */
@media screen and (min-width: 720px) {

	.manabi-header:before { aspect-ratio:9 / 5;}
	.manabi-title   { margin:0 0 -12rem; padding:0 5% 0 0;}
	.manabi-title .jp   { font-size:4.0rem;}
	.manabi-header .photos  { padding:0 0 0 25%;}
	.manabi-header .photos figure   { width:30%;}
	.manabi-header .content h2	{ letter-spacing:0.1em;}

	.manabi-1-header:before	{ left:10px; top:159px; height:calc(100% - 160px);}
	.manabi-1-header p	{ font-size:2.0rem;}
	.manabi-1-header p .num:before	{ top:0; left:calc(50% - 16px); width:33px; height:33px;}
	.manabi-1 .section-content	{ padding:8rem 10% 6rem 0; width:80%;}

	.manabi-2-header:before	{ left:10px; top:159px; height:calc(100% - 160px);}
	.manabi-2-header p	{ font-size:2.0rem;}
	.manabi-2-header p .num:before	{ top:0; left:calc(50% - 16px); width:33px; height:33px;}
	.manabi-2 .section-content	{ padding:8rem 10% 6rem 0; text-align:left; width:80%;}
	.manabi-2 .content-renkei	{ margin:0 0 6rem;}
	.manabi-2 .content-renkei .block	{ margin:0 0 8rem;}
	.manabi-2 .content-seminar figure:nth-child(1)	{ margin:0 0 -10rem;}
	.manabi-2 .content-seminar figure:nth-child(2)	{ margin:0 -5% 4rem 30%;}
	.manabi-2 .content-abroad figure:nth-child(1)	{ margin:0 0 -6rem;}
	.manabi-2 .content-abroad figure:nth-child(1) figcaption  { text-align:right;}
	.manabi-2 .content-abroad figure:nth-child(2)	{ margin:0 40% 4rem -5%;}


}

/* >= 1024px							 */
@media screen and (min-width: 1024px) {

	.manabi-title   { margin:0 0 -160px;}
	.manabi-title .jp   { font-size:5.0rem;}
	.manabi-header .content h2 br	{ display:none;}
	.manabi-header .photos  { padding:0 0 0 40%;}
	
	.manabi-1 .section-content	{ display:flex; flex-flow:row wrap; justify-content:space-between; align-items:flex-start;}
	.manabi-1 .section-content	{ padding:8rem 0 6rem 0; width:90%;}
	.manabi-1 .section-content .content	{ padding:0; width:47%;}
	.manabi-1 .section-content .figures	{ width:48%;}

	.manabi-2 .section-content	{ padding:3rem 0 6rem 0; width:90%;}
	.manabi-2 .section-content h2 br	{ display:none;}
	.manabi-2 .content-renkei .blocks	{ display:flex; flex-flow:row wrap; justify-content:space-between; align-items:flex-start;}
	.manabi-2 .content-renkei .block	{ margin:0 0 4rem; width:30%;}
	.manabi-2 .wrap	{ display:flex; flex-flow:row wrap; justify-content:space-between; align-items:flex-start;}
	.manabi-2 .wrap .content	{ width:45%;}
	.manabi-2 .wrap .figures	{ width:45%;}
	.manabi-2 .content-seminar	{ flex-flow:row-reverse wrap; padding:0 0 6rem;}

}

/* >= 1280px							*/
@media screen and (min-width: 1280px) {

	.manabi-header:before { max-width:1680px; aspect-ratio:15 / 8; background-position:right bottom -50px; background-size:auto 100%;}
	.manabi-header .content { padding:0 0 12rem;}
	.manabi-title   { margin:0 0 -200px;}
	.manabi-title .jp   { font-size:6.0rem;}
	.manabi-header .photos figure:nth-child(1)   { top:100px;}
	.manabi-header .photos figure:nth-child(2)   { top:50px;}
	.manabi-header .photos figure:nth-child(3)   { top:0;}
	.manabi-2 .content-seminar p	{ line-height:3.0;}
	.manabi-2 .content-abroad p	{ line-height:3.0;}


}

/* >= 1520px							*/
@media screen and (min-width: 1520px) {

	.manabi-header  { margin:0 auto 200px; padding:10rem 10% 4rem;}
	.manabi-header:before { aspect-ratio:16 / 9; background-size:auto 100%;}
	.manabi-header .content { padding:0 0 18rem;}
	.manabi-title   { margin:0 0 -340px;}
	.manabi-title .jp   { font-size:8.0rem;}
	.manabi-header .content h2	{ font-size:3.2rem;}
	.manabi-header .content p	{ font-size:1.6rem;}
	.manabi-header .photos  { padding:0 0 0 30%;}
	.manabi-header .photos figure:nth-child(1)   { top:160px;}
	.manabi-header .photos figure:nth-child(2)   { top:80px;}
	.manabi-header .photos figure:nth-child(3)   { top:0;}

	.manabi-1-header:before	{ left:12px; top:201px; height:calc(100% - 202px);}
	.manabi-1-header p	{ font-size:2.4rem; letter-spacing:0.1em;}
	.manabi-1-header p .num:before	{ top:0; left:calc(50% - 18px); width:37px; height:37px;}
	.manabi-1 .section-content h2  { font-size:4.8rem;}

	.manabi-2 .content-wrap	 { margin:0 auto 10rem;}
	.manabi-2-header:before	{ left:12px; top:201px; height:calc(100% - 202px);}
	.manabi-2-header p	{ font-size:2.4rem; letter-spacing:0.1em;}
	.manabi-2-header p .num:before	{ top:0; left:calc(50% - 18px); width:37px; height:37px;}
	.manabi-2 .section-content h2	{ font-size:4.8rem;}
	.manabi-2 .section-content h3	{ font-size:3.2rem;}
	.manabi-2 .content-seminar	{ padding:0 0 10rem;}
	.manabi-2 .content-seminar .content	{ padding-right:5%;}
	.manabi-2 .content-abroad .content	{ padding-left:5%;}


}




/* **************************************************************************** */
/*
/* About
/*
/* **************************************************************************** */


/**
 * - About - 建学の精神
 **/
.page-philosophy .page-header:before	{ top:0; right:0; bottom:0; left:0; background:url(../img/about/philosophy-header-up.webp) no-repeat center bottom / 200% auto;}
.page-philosophy .header-titles	{ padding:15vh 8%; color:#fff;}
.philosophy	{ position:relative;}
.philosophy:before	{ position:absolute; top:-1px; left:0; content:''; width:100%; height:100%; background:#4B2404 url(../img/about/philosophy-header-bottom.webp) no-repeat center top / 200% auto;}
.philosophy .section-content	{ position:relative; padding:6rem 8%; text-align:left;  background-color:rgba(0,0,0,.5);}
.philosophy .section-content .content	{ padding:0 0 4rem; color:#fff;}
.philosophy .niijima	{ padding:30px; background-color:#fff;}
.philosophy .niijima figure	{ margin:0 0 30px;}
.philosophy .niijima h4	{ margin:0 0 1em;}
.philosophy .niijima p	{ margin:0; font-size:1.3rem;}

.principles	{ padding:12rem 8% 8rem 15%;}
.principles .section-content	{ margin:0 auto; max-width:var(--w-wide); text-align:left;}
.principle	{ margin:0 0 10rem;}
.principle .principle-mark	{ position:relative; margin:0 0 1rem; font-size:1.5rem; color:var(--doshisha-color-deep);}
.principle .principle-mark:before	{ position:absolute; bottom:0; left:-46px; content:''; width:92px; height:92px; border:1px solid var(--doshisha-color-deep); border-radius:100px;}
.principle .principle-mark span		{ position:relative; display:inline-block; padding:0 0 16px; background-color:#fff;}
.principle h3	{ margin:0 0 1.4em;}
.principle	{}



/**
 * - About - カリキュラム
 **/
.page-curriculum .page-header:before	{ width:100%;}
.page-curriculum .page-header figure img	{ object-position:50% 0%;}
.page-curriculum .header-content	{ position:relative; padding: 6rem 10%;}
.page-curriculum .header-content .block	{}
.page-curriculum .header-content h2	{ margin-top:0;}
.page-curriculum .header-content .lead	{ font-family:var(--font-serif-jp);}

.curriculum-features	{ padding:8rem 10%;}
.curriculum-features .section-content	{ margin:0 auto; max-width:var(--w-wide); text-align:left;}
.curriculum-features .block	{ margin:0 0 6rem;}
.curriculum-features figure	{ position:relative; margin:0 0 2.0rem;}
.curriculum-features figcaption	{ 
	position:absolute; top:-20px; left:-10px; content:''; 
	width:108px; height:108px; text-align:center; font-size:1.2rem; line-height:1; color:#fff; 
	background-color:var(--doshisha-color-deep); border-radius:100px;
}
.curriculum-features figcaption span	{ display:flex; justify-content:center; align-items:center; width:108px; height:104px;}
.curriculum-features h4	{ margin-top:0; color:var(--doshisha-color-deep);}

.grade-tables	{ padding:8rem 10%; background-color:rgba(244,240,246,.75); }
.grade-tables .section-content	{ margin:0 auto; max-width:var(--w-wide); text-align:left; border: }
.grade-table	{ margin:0 0 4rem;}
.grade-table-title	{ margin:0 0 1em; line-height:1; color:var(--doshisha-color-deep); }
.grade-table-title span	{ display:inline-block; padding:.4em .8em;  background-color:#fff;}
.grade-title	{ margin:0 0 4px; font-size:1.6rem; font-weight:400; line-height:1; color:#fff;}
.grade-title span	{ display:inline-block; padding:.4em 2em;  background-color:var(--doshisha-color-deep); border-radius:3px;}

.grade-manabis	{ padding:6rem 0;}
.grade-manabi	{ padding:6rem 0; margin:0 auto; max-width:var(--w-broad);}
.grade-manabi .wrapper	{ display:flex; flex-flow:row nowrap; justify-content:space-between; align-items:flex-start;}
.grade-manabi .section-header	{ 
	display:flex; flex-flow:row wrap; justify-content:center;
	position:relative; padding:0 0 0 45px; width:40px; color:var(--doshisha-color-deep);
}
.grade-manabi .section-header .grade	{ position:relative; margin:0 0 2em; writing-mode:vertical-rl; font-size:1.7rem; line-height:1; letter-spacing:0.2em; font-family:var(--font-serif-jp);}
.grade-manabi .section-header .grade:before	{ position:absolute; top:-30px; left:50%; content:''; width:0; height:42px; border-left:1px solid var(--doshisha-color-deep);}
.grade-manabi .section-header .grade span	{ position:relative; display:inline-block; padding:30px 0 0;}
.grade-manabi .section-header .grade span:before	{ position:absolute; top:0; left:calc(50% - 11px); content:''; width:23px; height:23px; border:1px solid var(--doshisha-color-deep); border-radius:50px;}
.grade-manabi .section-header .grade span:after		{ position:absolute; top:10px; left:calc(50% - 1px); content:''; width:3px; height:3px; background-color:var(--doshisha-color-deep); border-radius:50px;}
.grade-manabi .section-title	{ position:relative; margin:0; font-size:3.0rem; line-height:1; letter-spacing:0.1em; writing-mode:vertical-rl;}
.grade-manabi .section-title span	{ display:inline-block;}
.grade-manabi .section-content	{ position:relative; width:calc(100% - 100px); text-align:left;}
.grade-manabi .blocks	{}
.grade-manabi figure.block	{ margin:0 0 1.6rem;}
.grade-manabi figure.block img	{ aspect-ratio:3 / 2; object-fit:cover;}
.grade-manabi .content	{ margin:0 0 1.6em; padding:0 8% 0 0;}
.grade-manabi .figures	{ padding:0 8% 0 0;}
.grade-manabi .figures figure	{ margin:0 0 4px; border-radius:3px;}
.grade-manabi .figures figure img	{}
.grade-manabi-1st .section-header:before	{ 
	position:absolute; top:-10px; left:20px; content:''; width:90vw; height: 70%;
	background:linear-gradient(110deg, #D7F0EA, #DBEDEA, #CAE6DF); opacity:0.3;
}
.grade-manabi-2nd .section-header:before	{ 
	position:absolute; top:-10px; left:20px; content:''; width:70vw; aspect-ratio:16 / 19;
	background:url(../img/about/curriculum-2nd.svg) no-repeat center top / 100% auto;
}
.grade-manabi-3rd .section-header:before	{ 
	position:absolute; top:-10px; left:20px; content:''; width:70vw; height: 70vw;
	background:radial-gradient(#D7F0EA, #DBEDEA, #CAE6DF); border-radius:50%; opacity:0.3;
}




/**
 * - About - 施設・設備
 **/
.map	{ padding:8rem 4%;}
.map .section-content	{ margin:0 auto; max-width:var(--w-broad); text-align:left;}
.map h3	{ position:relative; margin:0; padding:1.4rem 2.6rem; font-family:var(--font-serif-jp); color:var(--doshisha-color-deep);}
.map h3:before	{ position:absolute; top:0; left:13px; content:''; width:0; height:100px; border-left:2px solid var(--doshisha-color-deep);}
.map h3:after	{ position:absolute; top:100px; left:10px; content:''; width:8px; height:8px; background-color:var(--doshisha-color-deep); border-radius:10px;}
.map figure	{}

.facility	{ padding:0 0 6rem;}
.facility .heroimage	{}
.facility .heroimage img	{ aspect-ratio:3 / 2; object-fit:cover;}
.facility .wrapper	{ padding:0 8%;}
.facility .section-content	{ margin:0 auto; max-width:var(--w-wide); text-align:left;}
.facility .content	{ position:relative; top:-30px; padding:3rem 8%; background-color:#fff; box-shadow:4px 4px 16px rgba(0,0,0,.05);}
.facility .content:before	{ position:absolute; top:-6px; left:8%; content:''; width:12px; height:12px; background-color:var(--doshisha-color-deep); border-radius:10px;}
.facility .content h2	{ margin:0 0 0.2em;}
.facility .content p	{ margin:0;}
.facility .figures	{}
.facility .figures figure	{ margin-bottom:4px;}
.facility .figures figcaption	{ margin:0 0 2em; padding:0.5em 0; line-height:1.6;}
.facility .figures figcaption h5	{ margin:0 0 0.4em; font-weight:500;}
.facility .heroimages	{ display:flex; flex-flow:row wrap;}
.facility .heroimages figure	{ position:relative; width:50%;}
.facility .heroimages figcaption	{ position:absolute; padding:0.2em 1em; font-size:1.2rem; background-color:#fff; border-radius:50px;}
.facility .heroimages figure:nth-child(1) figcaption	{ top:6px; right:10px;}
.facility .heroimages figure:nth-child(2) figcaption	{ top:6px; right:10px;}



/**
 * - About - 学校規模・現況
 **/
table.seito	{ margin-bottom:6rem;}



/**
 * - About - 沿革
 **/
.period-wrap	{ padding:8rem 0;}
.period	{ 
	display:flex; flex-flow:row wrap; justify-content:space-between; align-items:flex-start; 
	margin:0 auto 8rem; max-width:var(--w-broad);
	border-top:1px solid var(--doshisha-color-deep);
}
.period .section-header	{ padding:16px 0 0; width:90px; text-align:center;}
.period .section-title	{ font-size:3.3rem; font-weight:500; line-height:1; font-family:var(--font-sans-en);}
.period .section-title span	{ display:block; position:relative; margin:0 0 30px;}
.period .section-title span:first-child:before	{ 
	position:absolute; bottom:-28px; left:50%; content:''; width:0; height:24px; border-left:3px solid #000;
}
.period .section-content	{ padding:0 8% 0 0; width:calc(100% - 120px); text-align:left;}
.period ul.period-list > li	{ margin:0; padding:16px 0; border-bottom:1px solid rgba(0,0,0,.25);}
.period ul.period-list > li:before	{ background:none;}
.period .with-photo	{}
.period .with-photo figure	{}
.period .with-photo figcaption	{ padding:1rem 0 2.8rem;}
.period .with-photo figcaption h5	{ margin:0 0 0.2em; font-weight:500;}
.period .with-photo figcaption h5 small	{ font-weight:400; font-size:92%;}
.period ul	{ margin:0; padding:0;}
.period ul li	{ margin:0; line-height:1.5;}
.period	.year	{ display:block; margin:0 0 0.2em; font-weight:500;}
.period	.year small	{ font-size:92%; font-weight:400;}





/* >= 720px							 */
@media screen and (min-width: 720px) {

	/**
	 * - About - 建学の精神
	 **/
	.page-philosophy .page-header:before	{ background-size:150% auto;}
	.page-philosophy .header-titles	{ top:0; transform:translateY(0); padding:15vh 8%;}
	.page-philosophy .ancestor-name	{ position:relative; top:0; margin:0 0 1.6rem;}
	.philosophy:before	{ background-size:150% auto;}
	.philosophy h2 br	{ display:none;}
	.philosophy .niijima	{
		display:flex; flex-flow:row wrap; justify-content:space-between; align-items:flex-start;
	}
	.philosophy .niijima figure	{ margin:0 0 30px; width:40%;}
	.philosophy .niijima .niijima-content	{ width:55%;}


	/**
	 * - About - カリキュラム
	 **/
	.page-curriculum .header-content	{ position:relative; padding:2rem 5%;}
	.page-curriculum .header-content h2	{ margin:0 0 1em;}
	.page-curriculum .header-content h2 br	{ display:none;}
	
	.grade-manabi .figures	{ 
		padding:0 8% 0 0;
		display:flex; flex-flow:row wrap; justify-content:space-between; align-items:flex-start;
	}
	.grade-manabi .figures figure	{ width:33%;}
	.grade-manabi .section-header	{ padding:0 0 0 78px;}
	.grade-manabi .section-content	{ width:calc(100% - 160px);}
	.grade-manabi figure.block img	{ aspect-ratio:2 / 1;}
	.grade-manabi .content	{ padding:0 15% 0 0;}
	.grade-manabi .figures	{ padding:0 15% 0 0;}
	.grade-manabi-1st .section-header:before	{ top:-10px; left:80px; width:35vw; height:70%;}
	.grade-manabi-2nd .section-header:before	{ top:-10px; left:50px; width:30vw;}
	.grade-manabi-3rd .section-header:before	{ top:-30px; left:40px; width:33vw; height:33vw;}


	/**
	 * - About - 施設・設備
	 **/
	.facility	{ padding:0 0 8rem;}
	.facility .heroimage img	{ aspect-ratio:5 / 2;}
	.facility .figures	{ display:flex; flex-flow:row wrap; justify-content:space-between; align-items:flex-start;}
	.facility .figures figure	{ width:49%;}
	.facility .heroimages figure img	{ aspect-ratio:4 / 3;}


	/**
	 * - About - 学校規模・現況
	 **/
	table.seito	{ table-layout:auto; width:auto;}


	/**
	 * - About - 沿革
	 **/
	.period-wrap	{ padding:8rem 5%;}
	.period .section-header	{ padding:16px 0 0;}
	.period .section-title	{ font-size:3.3rem;}
	.period .section-title span	{ margin:0 0 30px;}
	.period .section-title span:first-child:before	{ bottom:-28px; height:24px;}
	.period .section-content	{ padding:0; width:calc(100% - 160px);}
	.period .period-list > li	{ 
		padding:16px 0;
		display:flex; flex-flow:row wrap; justify-content:space-between; align-items:flex-start;
	}
	.period .period-list > li >  .year	{ width:10em;}
	.period .period-list > li > ul	{ width:calc(100% - 14em);}
	.period .with-photo figure	{ width:46%;}
	
	

}

/* >= 1024px							 */
@media screen and (min-width: 1024px) {

	/**
	 * - About - 建学の精神
	 **/
	.page-philosophy .page-header:before	{ background-size:100% auto;}
	.page-philosophy .header-titles	{ top:0; transform:translateY(0); padding:15vh 5% 20vh;}
	.page-philosophy .ancestor-name	{ position:relative; top:0; margin:0 0 1.6rem;}
	.philosophy:before	{ background-size:100% auto;}
	.philosophy .section-content	{ 
		padding:0 0 0 5%;
		display:flex; flex-flow:row wrap; justify-content:space-between; align-items:flex-start;
	}
	.philosophy .section-content .content	{ padding:6rem 0 6rem; color:#fff; width:55%;}
	.philosophy .niijima	{ padding:30px; background-color:#fff;}
	.philosophy .niijima	{
		display:flex; flex-flow:column wrap; width:35%; max-width:520px;
	}
	.philosophy .niijima figure	{ margin:0 0 30px; width:auto; max-width:330px;}
	.philosophy .niijima .niijima-content	{ width:auto; max-width:330px;}

	.principles	{ padding:12rem 5% 8rem 8%;}
	.principles .section-content	{ display:flex; flex-flow:row wrap; justify-content:space-between; align-items:flex-start;}
	.principle	{ margin:0 0 10rem; width:30%;}


	/**
	 * - About - カリキュラム
	 **/
	.page-curriculum .page-header figure img	{ aspect-ratio:16 / 9;}
	.curriculum-features	{ padding:8rem 5%;}
	.curriculum-features .section-content	{ display:flex; flex-flow:row wrap; justify-content:space-between; align-items:flex-start;}
	.curriculum-features .block	{ width:30%;}
	.grade-tables	{ padding:8rem 5%;}

	.grade-manabi .section-content	{ width:calc(100% - 160px);}
	.grade-manabi .blocks	{ 
		display:flex; flex-flow:row-reverse wrap; justify-content:space-between; align-items:flex-end;
		margin:0 0 3rem;
	}
	.grade-manabi figure.block	{ width:50%;}
	.grade-manabi figure.block img	{ aspect-ratio:3 / 2;}
	.grade-manabi .content	{ padding:0; width:45%;}


	/**
	 * - About - 施設・設備
	 **/
	.facility .content	{ margin-top:-30px;}


	/**
	 * - About - 沿革
	 **/
	.period .period-list > li.with-photo	{ justify-content:flex-start;}
	.period .with-photo figure	{ width:32%;}
	.period .with-photo figure:not(:nth-child(3n))	{ margin-right:2%;}
	
	
	

}

/* >= 1280px							*/
@media screen and (min-width: 1280px) {
	
	/**
	 * - About - 建学の精神
	 **/
	.philosophy	{ margin:0 0 8rem;}
	.philosophy .section-content .content	{ padding:8rem 0 8rem; width:55%;}
	.philosophy .niijima	{ position:absolute; bottom:-10rem; right:0; width:35%;}

	/**
	 * - About - カリキュラム
	 **/
	.curriculum-features	{ padding:8rem 10%;}
	.grade-tables	{ padding:8rem 10%;}


	/**
	 * - About - 施設・設備
	 **/
	.map	{ padding:8rem 5%;}
	.map h3	{ padding:1.4rem 4.4rem;}
	.map h3:before	{ left:23px;}
	.map h3:after	{ left:20px;}
	
	.facility	{ padding:0 0 8rem;}
	.facility .heroimage img	{ aspect-ratio:2 / 1;}
	.facility .section-content	{
		display:flex; flex-flow:row wrap; justify-content:space-between; align-items:flex-start;
	}
	.facility .content	{ top:-80px; padding:3rem 4%; width:36%;}
	.facility .figures	{ padding:24px 0 0; width:60%;}
	.facility .figures figure	{ margin:0; padding:1px; width:50%;}
	.facility .figures figcaption	{ margin:0 0 2em; padding:0.5em 0; line-height:1.6;}
	.facility .figures figcaption h5	{ margin:0 0 0.4em; font-weight:500;}
	.facility .heroimages	{ display:flex; flex-flow:row wrap;}
	.facility .heroimages figure	{ position:relative; width:50%;}
	.facility .heroimages figcaption	{ position:absolute; padding:0.2em 1em; font-size:1.2rem; background-color:#fff; border-radius:50px;}
	.facility .heroimages figure:nth-child(1) figcaption	{ top:6px; right:10px;}
	.facility .heroimages figure:nth-child(2) figcaption	{ top:6px; right:10px;}


	/**
	 * - About - 沿革
	 **/
	.period .section-title	{ font-size:4.4rem;}
	.period .section-content	{ padding:0; width:calc(100% - 300px);}

}

/* >= 1520px							*/
@media screen and (min-width: 1520px) {

	.grade-manabi-1st .section-header:before	{ top:-10px; left:80px; width:30vw;}
	.grade-manabi-2nd .section-header:before	{ top:-10px; left:50px; width:25vw;}
	.grade-manabi-3rd .section-header:before	{ top:-30px; left:40px; width:25vw; height:25vw;}

}


/* **************************************************************************** */
/*
/* School Life
/*
/* **************************************************************************** */

/**
 * - School - Home
 **/
.parent-nav	{ padding:8rem 8%;}
.parent-nav .section-content	{ margin:0 auto; max-width:var(--w-wide);}
.parent-nav ul	{ margin:0; padding:0;}
.parent-nav li	{ margin:0 0 1.0rem; padding:0;}
.parent-nav li:before	{ background:none;}
.parent-nav a	{ 
	display:block;
	display:flex; flex-flow:row wrap; justify-content:space-between; align-items:stretch;
}
.parent-nav a figure	{ margin:0; width:40%; border-radius:4px; overflow:hidden;}
.parent-nav a img	{ aspect-ratio:10 / 9; object-fit:cover; transition:all 1.4s ease;}
.parent-nav a p		{
	display:flex; align-items:center;
	position:relative; margin:0; padding:1em 1em; width:60%;
	text-align:left; font-size:1.5rem; color:var(--doshisha-color-deep); font-family:var(--font-serif-jp);
	border:solid var(--doshisha-color-deep); border-width:1px 0;
}
.parent-nav a p:before	{ position:absolute; top:0; left:0; content:''; width:0; height:100%; background-color:rgba(226,207,226,0.2); transition:all 0.2s ease;}
.parent-nav a p:after	{ position:absolute; top:calc(50% - 14px); right:16px; content:''; width:29px; height:29px; background:url(../img/common/arrow-feature.svg) no-repeat center / 29px; transition:all 0.2s ease;}
.parent-nav a:hover p:before	{ width:100%;}
.parent-nav a:hover p:after	{ right:8px;}




/**
 * - 同志社高校の一日
 **/
.timetable-wrap	{ padding:8rem 8%;}
.timetable-wrap .section-content	{ margin:0 auto; max-width:var(--w-wide);}
.timetable-wrap .timetable	{ margin:0 0 6rem; padding:8px; background:linear-gradient(110deg, #DFEAD5, #E1D2E1); border-radius:8px;}
.timetable-wrap .timetable header	{ padding:16px 0; text-align:center;}
.timetable-wrap .timetable header h2	{ margin:0; padding:0; font-size:1.8rem; line-height:1.2;}
.timetable-wrap .timetable header h2 span	{ display:block;}
.timetable-wrap .timetable header h2 .en	{ font-family:var(--font-sans-en); font-size:1.6rem; color:#fff; margin:0 0 0.5em;}
.timetable-wrap .timetable header h2 .jp	{ font-family:var(--font-sans-jp);}
.timetable-wrap .timetable .content	{ 
	padding:3rem 0; text-align:left; 
	background-color:#fff; border-radius:8px;
	background: linear-gradient(135deg, transparent 15px, #fff 0) top left;
}
.timetable-wrap .timetable ul	{ margin:0; padding:0 10%;} 
.timetable-wrap .timetable li	{ margin:0 0 16px; padding:0;}
.timetable-wrap .timetable li:before	{ background:none;}
.timetable-wrap .timetable li .title	{ position:relative; display:inline-block; width:3em; text-align:center; font-size:1.8rem; font-weight:500;}
.timetable-wrap .timetable li .title:before	{ position:absolute; top:100%; left:50%; content:''; width:0; height:20px; border-left:1px solid var(--doshisha-color-deep);}
.timetable-wrap .timetable li .time		{ font-size:1.5rem; font-family:var(--font-sans-en);}
.timetable-wrap .timetable li .time small	{}
.timetable-wrap .timetable li.lunch	{ 
	position:relative;
	display:flex; flex-flow:column wrap; justify-content:center; align-items:center; height:180px;
	background:url(../img/schoollife/timetable-circle.svg) no-repeat center / 151px auto;
}
.timetable-wrap .timetable li.lunch:before	{
	position:absolute; top:-4px; left:50%; content:''; width:0; height:20px; border-left:1px solid var(--doshisha-color-deep); border-radius:0;
} 
.timetable-wrap .timetable li.lunch:after	{
	position:absolute; bottom:-4px; left:50%; content:''; width:0; height:20px; border-left:1px solid var(--doshisha-color-deep);
} 
.timetable-wrap .timetable li.lunch span	{ width:100%; text-align:center;}
.timetable-wrap .timetable li.lunch span:before	{ height:0; border:0;}
.timetable-wrap .timetable li.pm	{ padding-left:2em;}
.timetable-wrap .timetable li.pm .title	{ width:4em;}
.timetable-wrap .timetable li:last-child .title	{ width:5em;}
.timetable-wrap .timetable li:nth-child(5) .title:before,
.timetable-wrap .timetable li:last-child .title:before	{ border:0;}

.timetable-wrap figcaption { color:#fff; line-height:1;}
.timetable-wrap figcaption span { display:inline-block; padding:0.3em 1em; background-color:var(--doshisha-color-deep); border-radius:50px;}
.timetable-wrap figure	{ position:relative; border-radius:4px;}
.timetable-wrap figure img	{ border-radius:4px;}

.timetable-wrap .figures-1	{ margin:0 0 6rem;}
.timetable-wrap .figures-1 .figures figure:nth-child(1) figcaption	{ position:absolute; top:8px; right:8px;}
.timetable-wrap .figures-1 .figures figure:nth-child(3) figcaption	{ position:absolute; bottom:8px; right:8px;}
.timetable-wrap .figures-1 .figures figure:nth-child(2)	{ position:relative; top:30px; z-index:3; margin:0 5% 0 0; text-align:right;}
.timetable-wrap .figures-1 .figures figure:nth-child(2) img	{ width:200px; aspect-ratio:1 / 1; object-fit:cover; border-radius:100%; box-shadow:24px -14px 16px rgba(234,240,209,.8);} 

.timetable-wrap .figures-2 .figures figure:nth-child(1) figcaption	{ position:absolute; top:8px; left:8px; text-align:left;}
.timetable-wrap .figures-2 .figures figure:nth-child(2)	{ position:relative; top:-40px; right:-10px; margin:0 0 0 40%;}
.timetable-wrap .figures-2 .figures figure:nth-child(3)	{ padding:0 30% 0 0;}
.timetable-wrap .figures-2 .figures figure:nth-child(3) figcaption	{ position:absolute; top:40%; right:8px;}
.timetable-wrap .figures-2 .figures figure:nth-child(3) img	{ box-shadow:18px 18px 8px rgba(199,172,200,0.25);}
.timetable-wrap .figures-2 .figures figure:nth-child(4)	{ position:relative; top:-30px; margin:0 0 0 30%;}




/**
 * - 年間スケジュール
 **/
.calendar	{ padding:8rem 0;}
.calendar .section-content	{}
.calendar .month-line	{ margin:0;}
.calendar .month-line > li	{ margin:0 0 10px; padding:1.6rem 8%;}
.calendar .month-line > li:before	{ background:none;}
.calendar .month-line > li.with-photo	{ background-color:rgba(226,207,226,.1);}
.calendar .month-line > li .wrap	{ 
	display:flex; flex-flow:row wrap; justify-content:space-between; align-items:flex-start;
	margin:0 auto; max-width:var(--w-wide);
}
.calendar .month-line .blocks	{ width:calc(100% - 130px); text-align:left;}
.calendar .month-line .block	{}
.calendar .month-line h4	{ width:120px; font-size:1.5rem; font-weight:400; font-family:var(--font-sans-en); line-height:1; color:#C8B7C8;}
.calendar .month-line .circle	{ 
	display:flex; flex-flow:column wrap; justify-content:center; 
	width:100px; aspect-ratio:1 / 1; align-items:center; 
	border:1px solid #C8B7C8; border-radius:100px;
}
.calendar .month-line .month	{ font-size:4.4rem;}
.calendar .month-line .name		{}
.calendar .month-line img	{ border-radius:4px;}
.calendar .month-line .block ul	{}
.calendar .month-line .block li	{ margin:0; font-size:1.4rem;}
.calendar .month-line .block h5	{ margin:0 0 0.5em; font-size:1.4rem;}
.calendar .month-line .block p	{ font-size:1.3rem; line-height:1.8;}
.calendar .month-line .block figure	{ margin:0 0 10px;}
.calendar .month-line .block figcaption	{ padding:0.4rem 0; font-size:1.3rem;}



/**
 * - クラブ活動
 **/
.club-wrap	{ padding:8rem 8% 2rem;}
.club-wrap .section-content	{ margin:0 auto; max-width:var(--w-medium); text-align:left;}
.club-list .block	{ margin-bottom:6rem;}
ul.clubs	{ margin:0;}
ul.clubs li	{ margin:0; padding:0.4em 2.4rem;}
ul.clubs li:before	{ top:calc(50% - 2px); left:1.4rem;}
ul.clubs li:nth-child(even)	{ background-color:rgba(228,217,228,.25);}


/* モザイクレイアウトの基本設定 */
.image-set {
	display: grid;
	/* 1つの画像セットを縦4行、横10列のグリッドで定義 */
	grid-template-columns: repeat(10, 20vw);
	grid-template-rows: repeat(3, 20vw);
	width: 200vw; /* 1つのセットの幅。調整してください */
	height: 60vw;
	grid-auto-flow: column;
}

/* 画像要素のスタイル */
.image-set img { width:100%; height:100%; object-fit:cover;}

/* 小サイズの画像 (1x1マス) */
.size-s {
	padding:2px; border-radius:8px;
	grid-column:span 1; grid-row:span 1;
}

/* 大サイズの画像 (2x2マス) */
.size-l {
	padding:2px; border-radius:8px;
	grid-column:span 2; grid-row:span 2;
}

/* 横Wサイズの画像 (2x1マス) */
.size-w {
	padding:2px; border-radius:8px;
	grid-column:span 2; grid-row:span 1;
}

/* 画像の合間の図形アニメーション */
.image-set figure {
	padding:2px; grid-column:span 1; grid-row:span 1;
}
.image-set figure.square	{ position:relative;}
.image-set figure.square:before	{ 
	position:absolute; top:10px; left:10px; content:''; width:calc(100% - 20px); height:calc(100% - 20px); 
	background:linear-gradient(90deg, #eef4bf, #F9EBDD, #f8e4d7); 
	border-radius:8px; filter:blur(2px);
	animation:squaring 7s ease-in-out 0s infinite normal forwards;
}
@keyframes squaring {
	0%	{ transform:scale(0.8);}
	40%	{ transform:scale(1);}
	80%	{ transform:scale(0.8) rotate(0);}
	100%{ transform:scale(0.8) rotate(360deg);}
}
.image-set figure.circle	{ position:relative;}
.image-set figure.circle:before	{ 
	position:absolute; top:10px; left:10px; content:''; width:calc(100% - 20px); height:calc(100% - 20px); border-radius:50%;
	background-color:#E9ECCE; filter:blur(5px);
	background-image:radial-gradient(at 0% 0%, rgba(125, 247, 247, 0.25) 30%, transparent 80%),radial-gradient(at 60% 100%, rgba(255, 255, 0, 0.25) 30%, transparent 60%);
	animation:circling 16s linear 0s infinite normal forwards;
}
@keyframes circling {
	0%	{ transform:rotate(0deg) scale(1);}
	50%	{ transform:rotate(180deg) scale(0.7);}
	100%{ transform:rotate(360deg) scale(1);}
}
.image-set figure.circle2:before	{ 
	background-color:#fff9a6;
	background-image:radial-gradient(at 0% 0%, rgba(249, 189, 231, 0.5) 30%, transparent 80%),radial-gradient(at 60% 100%, rgba(255, 192, 143, 0.5) 30%, transparent 60%);
}
.image-set figure.triangle	{ position:relative; padding:10px; animation:trianging 10s steps(12) 0s infinite normal forwards;}
.image-set figure.triangle svg	{ width:100%; height:auto; filter:blur(5px);}
@keyframes trianging {
	0%	{ transform:rotate(0deg);}
	100%{ transform:rotate(360deg);}
}

/* 横スクロールアニメーションの設定 */
/* 1. 全体コンテナ: はみ出し部分を隠し、横幅100%を確保 */
.mosaic-container {
	width: 100%;
	overflow: hidden; /* はみ出した要素を隠す */
	white-space: nowrap; /* 子要素の折り返しを防ぐ */
}

/* 2. トラック: スクロール対象 */
.mosaic-track {
	display: flex; /* 画像セットを横に並べる */
	will-change: transform; /* アニメーションのパフォーマンス最適化 */
	width: 400%; /* 2つの画像セットを配置するため、幅は100% * 2 = 200% */
	animation: scroll-left 40s linear infinite; /* 40秒で1周、一定速度で無限ループ */
}

/* 3. 画像セット: モザイクのグリッドコンテナ */
.mosaic-track .image-set {
	/* (共通CSSで定義したGridレイアウトが適用されます) */
	flex-shrink: 0; /* 縮小させない */
	width: 50%; /* 200%の幅を持つトラック内で、セットごとに50%の幅を持つ */
}

/* 4. キーフレームアニメーション */
@keyframes scroll-left {
	from { /* 初期位置: セット1の開始位置 */
		transform: translateX(0);
	}
	to { /* 移動終了位置: セット1の終点位置（全体の半分）｜トラック全体 (200%) の半分 (100%) だけ左に移動 */
		transform: translateX(-50%); 
	}
}




/**
 * - 生徒会活動
 **/
.iwakurasai	{ padding:8rem 4% 4rem;}
.iwakurasai .wrapper	{ margin:0 auto; max-width:var(--w-wide); padding:8px; background:linear-gradient(110deg, #ECDCCE, #ECCEEB); border-radius:8px;}
.iwakurasai .section-header	{ padding:16px 8%; text-align:center;}
.iwakurasai .section-title	{ margin:0 0 0.5em; padding:0; font-size:2.8rem; line-height:1.2; font-family:var(--font-serif-jp);}
.iwakurasai .section-header p	{ text-align:left;}
.iwakurasai .section-content	{ 
	padding:3rem 8%; text-align:left; 
	background-color:#fff; border-radius:8px;
	background: linear-gradient(135deg, transparent 15px, #fff 0) top left;
}
.iwakurasai-flow	{}
.iwakurasai-flow-title	{}
.iwakurasai-flow-title span	{ display:inline-block; padding:0.2em 1.4em; border:1px solid #000; border-radius:100px;}
.iwakurasai-flow ul	{ margin:0;}
.iwakurasai-flow li	{ 
	position:relative; margin:0; padding:0 0 2rem 0;
	display:flex; flex:row wrap; justify-content:space-between; align-items:flex-start;
}
.iwakurasai-flow li:before	{ position:absolute; top:94px; left:45px; content:''; width:0; height:calc(100% - 98px); border-left:1px solid #000; background:none; border-radius:0;}
.iwakurasai-flow .month	{ 
	position:relative; left:0; margin:0 0 1rem; width:90px; height:90px; text-align:left; line-height:1; 
	display:flex; flex:row wrap; justify-content:flex-start; align-items:center;
}
.iwakurasai-flow .month:before	{ position:absolute; top:0; left:0; content:''; width:90px; height:90px; border:1px solid #ECD5DD; border-radius:50%;}
.iwakurasai-flow .month span	{ margin:0; width:90px; text-align:center; font-size:1.8rem; font-weight:700;}
.iwakurasai-flow .month big		{ font-size:4.2rem; font-weight:400; font-family:var(--font-sans-en);}
.iwakurasai-flow .content	{ width:calc(100% - 110px);}
.iwakurasai-flow h4	{ margin:0 0 0.8em;}
.iwakurasai-flow p	{ font-size:1.3rem; line-height:1.6;}
.iwakurasai-flow li.nine:before	{ position:absolute; top:134px; left:25px; content:''; width:110px; height:10px; background:url(../img/schoollife/iwakurasai-arrow.svg) no-repeat 0 / 100% auto; border:0; transform:rotate(50deg);}
.iwakurasai-flow li.begin	{}
.iwakurasai-flow li.begin:before	{ border:0;}
.iwakurasai-flow li.begin p	{ 
	margin:0 auto; width:140px; height:140px;
	text-align:center; font-size:1.6rem;
	display:flex; flex:row wrap; justify-content:center; align-items:center;
	border:2px solid var(--doshisha-color-bright); border-radius:50%;
}

.iwakurasai .figures	{
	display:flex; flex-flow:row wrap; justify-content:flex-start; align-items:flex-start;
}
.iwakurasai .figures figure	{ padding:1px; width:50%; aspect-ratio:3 / 2;}
/*.iwakurasai .figures figure:first-child	{ width:100%;}*/


.taiikusai	{ padding:4rem 4% 8rem;}
.taiikusai .wrapper	{ margin:0 auto; max-width:var(--w-wide); padding:8px; background:linear-gradient(110deg, #E3D6F5, #D8E6F5); border-radius:8px;}
.taiikusai .section-header	{ padding:16px 8%; text-align:center;}
.taiikusai .section-title	{ margin:0 0 0.5em; padding:0; font-size:2.8rem; line-height:1.2; font-family:var(--font-serif-jp);}
.taiikusai .section-header p	{ text-align:left;}
.taiikusai .section-content	{ 
	padding:3rem 8%; text-align:left; 
	background-color:#fff; border-radius:8px;
	background: linear-gradient(135deg, transparent 15px, #fff 0) top left;
}

.taiikusai .figures	{
	display:flex; flex-flow:row wrap; justify-content:flex-start; align-items:flex-start;
}
.taiikusai .figures figure	{ padding:1px; width:50%; aspect-ratio:3 / 2;}
.taiikusai .figures figure:first-child	{ width:100%;}



/* >= 720px							 */
@media screen and (min-width: 720px) {
	
	.parent-nav	{ padding:8rem 10%;}
	.parent-nav a figure	{ margin:0; width:25%;}
	.parent-nav a p		{ padding:1em 3em; width:75%; font-size:1.8rem;}
	.parent-nav a p:after	{ right:36px;}
	.parent-nav a:hover p:after	{ right:24px;}

	/**
	 * - 同志社高校の一日
	 **/
	.timetable-wrap	{ padding:8rem 20%;}

	/**
	 * - 年間スケジュール
	 **/
	.calendar .month-line .blocks	{
		width:calc(100% - 130px);
		display:flex; flex-flow:row wrap; justify-content:space-between; align-items:flex-start;
	}
	.calendar .month-line .block	{ width:50%;}


	/**
	 * - クラブ活動
	 **/
	.club-list	{ display:flex; flex-flow:row wrap; justify-content:space-between; align-items:flex-start;}
	.club-list .block	{ margin-bottom:6rem; width:46%;}


	/**
	 * - 生徒会活動
	 **/
	.iwakurasai	{ padding:8rem 10% 4rem;}
	.taiikusai	{ padding:4rem 10% 8rem;}

}

/* >= 1024px							 */
@media screen and (min-width: 1024px) {

	.parent-nav	{ padding:8rem 5%;}
	.parent-nav ul	{ display:flex; flex-flow:row wrap; justify-content:flex-start; align-items:flex-start;}
	.parent-nav li	{ margin:0 1% 4.0rem 0; width:24%;}
	.parent-nav li:nth-child(4n)	{ margin-right:0;}
	.parent-nav a figure	{ margin:0 0 1px; width:100%;}
	.parent-nav a:hover figure img	{ transform:scale(1.1);}
	.parent-nav a p		{ padding:1em 1em; width:100%; font-size:1.7rem;}
	.parent-nav a p:after	{ right:12px;}
	.parent-nav a:hover p:after	{ right:4px;}

	.about-nav.parent-nav li	{ margin:0 5% 4.0rem 0; width:30%;}
	.about-nav.parent-nav li:nth-child(3n)	{ margin-right:0;}
	.about-nav.parent-nav li:nth-child(4n)	{ margin-right:5%;}


	/**
	 * - 同志社高校の一日
	 **/
	.timetable-wrap	{ padding:8rem 5%;}
	.timetable-wrap .section-content	{ 
		display:grid;
		grid-template-rows:1fr;
		grid-template-columns:33% 1fr 33%;
	}
	.timetable-wrap .timetable	{ grid-row:1 / 2; grid-column:2 / 3;}
	.timetable-wrap .figures-1	{ grid-row:1 / 2; grid-column:1 / 2; padding:0 5% 0 0;}
	.timetable-wrap .figures-2	{ grid-row:1 / 2; grid-column:3 / 4; padding:20px 0 0 5%;}
	.timetable-wrap .figures-1 .figures figure:nth-child(1)	{ padding:0 0 0 5%;}
	.timetable-wrap .figures-1 .figures figure:nth-child(1) figcaption	{ top:-28px; right:0;}
	.timetable-wrap .figures-2 .figures figure:nth-child(1) figcaption	{ top:-28px; right:0;}
	.timetable-wrap .figures-2 .figures figure:nth-child(4)	{ top:-30px; right:-5%;}


	/**
	 * - 年間スケジュール
	 **/
	.calendar .month-line > li	{ margin:0 0 10px; padding:1.6rem 5%;}
	.calendar .month-line .circle	{ width:120px;}
	.calendar .month-line .blocks	{ width:calc(100% - 150px);}
	.calendar .month-line .block:nth-child(1)	{ width:30%;}
	.calendar .month-line .block:nth-child(2)	{ width:70%;
		display:flex; flex-flow:row wrap; justify-content:space-between; align-items:flex-start;
	}
	.calendar .month-line .block figure	{ width:47%;}
	.calendar .month-line .block .content	{ width:47%;}


	/**
	 * - クラブ活動
	 **/
	.image-set { grid-template-columns: repeat(10, 15vw); grid-template-rows: repeat(3, 15vw); height: 45vw;}
	.mosaic-track { width:300%;}


	/**
	 * - 生徒会活動
	 **/
	.iwakurasai	{ padding:8rem 5% 4rem;}
	.taiikusai	{ padding:4rem 5% 8rem;}
	.iwakurasai .section-header	{ 
		display:flex; flex-flow:row wrap; justify-content:space-between; align-items:flex-start;
		padding:16px 5%; text-align:left;
	}
	.iwakurasai .section-title	{ width:25%;}
	.iwakurasai .section-header p	{ margin:0; width:75%;}
	.iwakurasai .section-content	{ padding:3rem 5%;}
	.iwakurasai-flow ul	{ display:flex; flex-flow:row wrap; justify-content:space-between; align-items:flex-start;}
	.iwakurasai-flow li	{ width:18%;}
	.iwakurasai-flow li	{ flex-flow:column wrap;}
	.iwakurasai-flow li:before	{ 
		position:absolute; top:45px; left:auto; right:-35%; content:''; width:52%; height:20px; 
		background:url(../img/schoollife/iwakurasai-arrow.svg) no-repeat 0 / 100% auto; transform:rotate(0deg);
		border:0;
	}
	.iwakurasai-flow li.nine:before	{ top:50px; left:auto; right:-32%; width:52%; height:20px; transform:scale(1,-1) rotate(-20deg);}
	.iwakurasai-flow li:last-child:before	{ background:none;}
	.iwakurasai-flow li.begin	{ padding:5rem 0 0;}
	.iwakurasai-flow .month		{ width:100%;}
	.iwakurasai-flow .month:before	{ left:calc(50% - 45px);}
	.iwakurasai-flow .month span	{ width:100%;}
	.iwakurasai-flow .content	{ width:100%;}
	.iwakurasai-flow h4	{ font-size:1.4rem;}
	.iwakurasai-flow p	{ font-size:1.2rem;}
	.iwakurasai .figures	{ 
		display:grid; 
		grid-template-columns:1fr 1fr 1fr 1fr; grid-template-rows:1fr 1fr;
		/*grid-template-columns:2fr 1fr 1fr; grid-template-rows:1fr 1fr;*/
		grid-auto-flow:row;
	}
	.iwakurasai .figures figure	{ width:100%;}
	/*.iwakurasai .figures figure:first-child	{ grid-column:1 / 2; grid-row:1 / 3;}*/


	.taiikusai .section-header	{ 
		display:flex; flex-flow:row wrap; justify-content:space-between; align-items:flex-start;
		padding:16px 5%; text-align:left;
	}
	.taiikusai .section-title	{ width:25%;}
	.taiikusai .section-header p	{ margin:0; width:75%;}
	.taiikusai .section-content	{ padding:3rem 5%;}
	.taiikusai .figures	{ 
		display:grid; 
		grid-template-columns:2fr 1fr 1fr; grid-template-rows:1fr 1fr;
		grid-auto-flow:row;
	}
	.taiikusai .figures figure	{ width:100%;}
	.taiikusai .figures figure:first-child	{ grid-column:1 / 2; grid-row:1 / 3;}


}

/* >= 1280px							*/
@media screen and (min-width: 1280px) {
	
	.parent-nav a p		{ padding:1em 1em; width:100%; font-size:2.0rem;}
	.about-nav.parent-nav li	{ margin-bottom:6.0rem;}
	.about-nav.parent-nav a p		{ padding:1.2em 1em;}


	/**
	 * - 同志社高校の一日
	 **/
	.timetable-wrap	{ padding:10rem 5%;}
	.timetable-wrap .section-content	{ 
		display:grid;
		grid-template-rows:1fr;
		grid-template-columns:35% 1fr 35%;
	}
	.timetable-wrap .figures-1	{ grid-row:1 / 2; grid-column:1 / 2; padding:0 10% 0 0;}
	.timetable-wrap .figures-2	{ grid-row:1 / 2; grid-column:3 / 4; padding:20px 0 0 10%;}
	.timetable-wrap .figures-1 .figures figure:nth-child(1)	{ margin:0 0 3rem;}
	.timetable-wrap .figures-2 .figures figure:nth-child(3) figcaption	{ right:0;}


	/**
	 * - 年間スケジュール
	 **/
	.calendar .month-line > li	{ padding:1.8rem 5%;}
	.calendar .month-line .circle	{ width:160px;}
	.calendar .month-line .blocks	{ width:calc(100% - 260px);}
	.calendar .month-line .month	{ font-size:6.6rem;}
	.calendar .month-line .name		{ font-size:1.5rem;}


	/**
	 * - クラブ活動
	 **/
	.image-set { grid-template-columns: repeat(10, 15vw); grid-template-rows: repeat(3, 15vw);}



}



/* **************************************************************************** */
/*
/* 
/*
/* **************************************************************************** */

/**
 * - 入試情報
 **/
.admission-news	{ margin:0 0 6rem;}

.admission-downloads .download	{ margin:0;
	display:flex; flex-flow:row wrap; justify-content: space-between; align-items:flex-start;
}
.admission-downloads .download li	{ margin:0; padding:0; width:46%;}
.admission-downloads .download li:before	{ background:none;}
.admission-downloads .download li a	{ display:block; padding:0; color:#000; text-decoration:none;}
.admission-downloads .download li a:before	{ background:none;}
.admission-downloads .download li figure	{ position:relative; margin:0 0 14px; border:1px solid var(--doshisha-color-deep);}
.admission-downloads .download li figure img	{ width:100% !important; aspect-ratio:1 / 1.414; object-fit:cover;}
.admission-downloads .download li figcaption	{ position:relative;}
.admission-downloads .download li figure:before	{ position:absolute; bottom:-30px; left:0; content:''; width:25px; height:25px; background:url(../img/common/icon-download.svg) no-repeat 0 0 / 25px;}
.admission-downloads .download li figure:after	{ position:absolute; bottom:-20px; left:12px; content:''; width:0; height:15px; border-left:1px solid #fff; transition:all 0.2s ease;}
.admission-downloads .download li p	{ position:relative; padding:20px 0; font-size:1.2rem; line-height:1.8;}
.admission-downloads .download li p:before	{ position:absolute; top:0; right:0; content:''; width:calc(100% - 30px); height:0; border-top:1px solid var(--doshisha-color-deep);}
.admission-downloads .download li a:hover figure:after	{ height:5px;}

.exam-events	{ margin:0 auto; max-width:var(--w-narrow);}



/**
 * - 進路情報
 **/

table.doshisha tr:nth-child(odd) td { background: #f9f9f9;}
table.doshisha th,
table.doshisha td	{ text-align:center; font-size:1.2rem;}
table.doshisha thead th	{ color:#fff; background-color:var(--doshisha-color-deep);}
table.doshisha thead th:first-child	{ color:#fff; background-color:#541E7F;}
table.doshisha thead td	{ color:#fff; background-color:var(--doshisha-color-gray);}
table.doshisha tfoot 	 { border-top:3px double var(--doshisha-color-deep);}
table.doshisha tfoot th	{ color:#fff; background-color:var(--doshisha-color-deep);}
table.doshisha tfoot td	{ background-color:var(--doshisha-color-pale) !important;}

table.doshishawu tr:nth-child(odd) td { background: #f9f9f9;}
table.doshishawu th,
table.doshishawu td	{ text-align:center; font-size:1.2rem;}
table.doshishawu thead th	{ color:#fff; background-color:var(--doshisha-color-deep);}
table.doshishawu thead th:first-child	{ color:#fff; background-color:#541E7F;}
table.doshishawu thead td	{ color:#fff; background-color:var(--doshisha-color-gray);}
table.doshishawu tfoot 	 { border-top:3px double var(--doshisha-color-deep);}
table.doshishawu tfoot th	{ color:#fff; background-color:var(--doshisha-color-deep);}
table.doshishawu tfoot td	{ background-color:var(--doshisha-color-pale) !important;}

table.other tr:nth-child(odd) td { background: #f9f9f9;}
table.other th,
table.other td	{ text-align:center; font-size:1.2rem;}
table.kokuritsu thead th	{ color:#fff; background-color:#38a8d3;}
table.kokuritsu thead th:first-child	{ color:#fff; background-color:#189fd2;}
table.kokuritsu thead td	{ background-color:#a3def7;}
table.kokuritsu tfoot 	 { border-top:3px double #189fd2;}
table.kokuritsu tfoot th	{ color:#fff; background-color:#38a8d3;}
table.kokuritsu tfoot td	{ background-color:#a3def7 !important;}

table.kouritsu thead th	{ color:#fff; background-color:#4da72c;}
table.kouritsu thead th:first-child	{ color:#fff; background-color:#4da72c;}
table.kouritsu thead td	{ background-color:#c7ecb8;}
table.kouritsu tfoot 	 { border-top:3px double #4da72c;}
table.kouritsu tfoot th	{ color:#fff; background-color:#4da72c;}
table.kouritsu tfoot td	{ background-color:#c7ecb8 !important;}

table.shiritsu thead th	{ color:#fff; background-color:#f48d5a;}
table.shiritsu thead th:first-child	{ color:#fff; background-color:#e27339;}
table.shiritsu thead td	{ background-color:#f8d0bc;}
table.shiritsu tfoot 	 { border-top:3px double #f48d5a;}
table.shiritsu tfoot th	{ color:#fff; background-color:#f48d5a;}
table.shiritsu tfoot td	{ background-color:#f8d0bc !important;}


/**
 * - Access
 **/
.access	{ padding:8rem 8%;}
.access .section-content	{ margin:0 auto; text-align:left; max-width:var(--w-thick);}
.access .blocks	{}
.access .blocks .block	{}
.access .blocks .block	{}
.access h3	{}
.access address	{ line-height:1.5;}
.access p	{}
.access .tel	{ display:block;}
.access .tel a	{ display:block;}
.access .fax	{ display:block;}
.access h4	{ padding:0.5em 0; border-bottom:2px solid var(--doshisha-color-deep);}
.access li b	{ display:inline-block; margin:0 0.4em 0 0; padding:0.2em 0.5em; font-weight:400; line-height:1; background-color:#E2CFE2;}
.googlemap	{ height:400px;}
.googlemap iframe	{ width:100%; height:100%;}






/* **************************************************************************** */
/*
/* Media Queries
/*
/* **************************************************************************** */

@-ms-viewport 	{ width: device-width;}
@viewport 		{ width: device-width;}


/* >= 720px							 */
@media screen and (min-width: 720px) {
	
	.googlemap	{ height:600px;}
	
}


/* >= 1024px							 */
@media screen and (min-width: 1024px) {

	/**
	 * - Access
	 **/
	.access	{ padding:8rem 5%;}
	.access .blocks	{ display:flex; flex-flow:row wrap; justify-content: space-between; align-items:flex-start;}
	.access .blocks .block:nth-child(1)	{ width:30%}
	.access .blocks .block:nth-child(2)	{ width:64%;}
	.googlemap	{ height:550px;}

}



/* >= 1280px							*/
@media screen and (min-width: 1280px) {

	.shingaku-table	{ display:flex; flex-flow:row wrap; justify-content:space-between; align-items:flex-start;}
	.shingaku-table .block:nth-child(1)	{ width:25%;}
	.shingaku-table .block:nth-child(2)	{ width:69%;}
	.googlemap	{ height:640px;}

}


/* >= 1440px							*/
@media screen and (min-width: 1440px) {

	.googlemap	{ height:720px;}

}


/* >= Print							 */
@media print {
}
