@charset "utf-8";

/*-------------------------------------
css初期化
--------------------------------------*/
* {
	margin: 0;
	padding: 0;
}

body {
	font-family: sans-serif;
	font-size: 100%;
}

div:after {
	content: "";
	display: block;
	clear: both;
}

/*-------------------------------------
タグの基本設定
--------------------------------------*/
body {
	background: #f2f2f2;
	line-height: 1.6;
	font-size: 81.25%;
	color: #414141;
}

html {
	overflow-y: scroll;
}

a {
	text-decoration: none;
	outline: none;
	color: #333333;
}

a:hover{
	text-decoration: underline;
	color: #666666;
}

a:hover img{
	opacity: 0.80;
}

/*--------------------------------------------------------------------
Container
--------------------------------------------------------------------*/
div#Container {
	width: 944px;
	padding: 10px 0;
	margin: 0 auto;
	background: #fff;
}

/*--------------------------------------------------------------------
h1
--------------------------------------------------------------------*/
h1 {
	padding: 10px 0;
	text-align: center;
}

/*--------------------------------------------------------------------
Contents
--------------------------------------------------------------------*/
div#Contents {
	width: 944px;
	margin: 0 auto;
	padding: 10px 0;
	overflow: hidden;
}

div#Contents:after {
	display: block;
	clear: both;
	height: 0;
	line-height: 0;
	font-size: 0;
	content: "";
}

/*--------------------------------------------------------------------
Nav
--------------------------------------------------------------------*/
nav {
	width: 944px;
	margin: 0 auto;
}

nav ul li {
	list-style: none;
	width: 236px;
	margin: 0 0 20px 0;
	float: left;
}

nav ul li a {
	display: block;
	width: 236px;
	height: 0px;
	padding-top:50px;
	overflow: hidden;
}

nav ul li#nav01 a { background-image: url(../img/button01.png); }
nav ul li#nav02 a { background-image: url(../img/button02.png); }
nav ul li#nav03 a { background-image: url(../img/button03.png); }
nav ul li#nav04 a { background-image: url(../img/button04.png); }

nav ul li a:hover,
	nav ul#index li#nav01 a,
	nav ul#kadai01 li#nav02 a,
	nav ul#kadai02 li#nav03 a,
	nav ul#kadai03 li#nav04 a{
	background-position: 0 -50px;
}

/*--------------------------------------------------------------------
Main
--------------------------------------------------------------------*/
div#Main {
	width: 700px;
	margin: 0 auto;
}

div#Main h2 {
	font-size: 105%;
	font-weight: bold;
	color: #504946;
}

div#Main div#TopImg {
	margin: 5px auto 0 auto;
	text-align: center;
}

div#Main div#PortImg {
	margin: 10px auto 0 auto;
	text-align: center;
}

div#Main p {
	color: #504946;
	margin-top: 10px;
}

div#Main table {
	width: 80%;
	margin: 10px auto 20px auto;
	border-collapse: collapse;
	border: 0 none;
}

div#Main table tr th {
	width: 25%;
	padding: 5px 10px;
	background: #0f0;
	border: 1px solid #504946;
	text-align: left;
	vertical-align: top;
	color: #fff;
}

div#Main table tr td {
	width: 75%;
	padding: 5px 10px;
	border: 1px solid #504946;
	text-align: left;
	vertical-align: top;
}

div#Main table tr td ul {
	padding: 0 0 0 8px;
	margin: 0 0 0 8px;
}

div#Main table tr td ol {
	padding: 0 0 0 8px;
	margin: 0 0 0 8px;
}

/*--------------------------------------------------------------------
課題1：バナーデザイン
--------------------------------------------------------------------*/
.banner-project-page {
	background: #d8cec4;
	font-family: "Yu Gothic", "游ゴシック", "Hiragino Kaku Gothic ProN", sans-serif;
}

.banner-project-page #Container { background: #fbf8f4; }

.banner-project-page #Main h2 {
	margin: 8px 0 18px;
	padding: 18px 22px;
	background: #eee5e1;
	border-left: 7px solid #5c50dc;
	color: #403b38;
	font-size: 20px;
	line-height: 1.5;
}

.banner-project-page #PortImg img {
	display: block;
	max-width: 100%;
	height: auto;
	box-shadow: 0 8px 22px rgba(64, 59, 56, 0.14);
}

.banner-project-page #Main table,
.movie-project-page #Main table {
	width: 100%;
	margin-top: 24px;
	background: #fff;
}

.banner-project-page #Main table tr th {
	background: #766a63;
	border-color: #d9d0ca;
}

.banner-project-page #Main table tr td {
	padding: 9px 13px;
	border-color: #d9d0ca;
}

/*--------------------------------------------------------------------
課題2：ショート動画
--------------------------------------------------------------------*/
.movie-project-page {
	background: #cbded8;
	font-family: "Yu Gothic", "游ゴシック", "Hiragino Kaku Gothic ProN", sans-serif;
}

.movie-project-page #Container { background: #f5f9f7; }

.movie-project-page #Main h2 {
	margin: 8px 0 18px;
	padding: 18px 22px;
	background: #e1efea;
	border-left: 7px solid #2f7669;
	color: #234940;
	font-size: 20px;
	line-height: 1.5;
}

.movie-project-page #PortImg {
	padding: 22px;
	background: #e1efea;
}

/* スマートフォン全体のフレーム */
.movie-project-page .phone-frame {
		width: 320px;
	margin: 0 auto;
	padding: 42px 12px 48px;
	position: relative;
	background: #243b36;
	border: 3px solid #2f7669;
	border-radius: 38px;
	box-sizing: border-box;
	box-shadow: 0 10px 25px rgba(35, 73, 64, 0.28);
}

/* 動画 */
.movie-project-page .phone-frame video {
	display: block;
	width: 100%;
	height: auto;
	background: #000;
	border-radius: 7px;
}

/* 上部のスピーカー */
.movie-project-page .phone-speaker {
	width: 55px;
	height: 5px;
	position: absolute;
	top: 20px;
	left: 50%;
	background: #81938e;
	border-radius: 5px;
	transform: translateX(-50%);
}

/* 下部のホームボタン */
.movie-project-page .phone-button {
	width: 26px;
	height: 26px;
	position: absolute;
	bottom: 10px;
	left: 50%;
	border: 2px solid #81938e;
	border-radius: 50%;
	box-sizing: border-box;
	transform: translateX(-50%);
}

.movie-project-page #Main table tr th {
	background: #2f7669;
	border-color: #c7d9d3;
}

.movie-project-page #Main table tr td {
	padding: 9px 13px;
	border-color: #c7d9d3;
}

/*--------------------------------------------------------------------
課題3：企画提案資料
--------------------------------------------------------------------*/
.web-project-page {
	background: #243b53;
	font-family: "Yu Gothic", "游ゴシック", "Hiragino Kaku Gothic ProN", sans-serif;
}

.web-project-page #Container {
	background: #f7f4ee;
}

.web-project-page #Main {
	color: #243b53;
}

.web-project-page .project-heading {
	margin: 8px 0 18px;
	padding: 18px 22px;
	background: #f8e8dc;
	border-left: 7px solid #e9823a;
}

.web-project-page .project-heading .project-number {
	margin: 0 0 8px;
	color: #e9823a;
	font-size: 12px;
	font-weight: bold;
	letter-spacing: 0.14em;
}

.web-project-page #Main .project-heading h2 {
	color: #243b53;
	font-size: 20px;
	line-height: 1.5;
}

.web-project-page #Main .project-heading .project-lead {
	margin-top: 12px;
	color: #596a7a;
	font-size: 14px;
}

.web-project-page .design-gallery {
	margin-top: 0 !important;
}

.web-project-page .design-preview {
	margin: 0 0 34px;
	padding: 15px;
	background: #fff;
	border-radius: 5px;
	box-shadow: 0 8px 22px rgba(36, 59, 83, 0.12);
}

.web-project-page .design-preview figcaption {
	padding: 0 4px 12px;
	color: #243b53;
	font-size: 17px;
	font-weight: bold;
	text-align: left;
}

.web-project-page .design-preview figcaption span {
	margin-right: 8px;
	color: #e9823a;
	font-size: 13px;
	letter-spacing: 0.08em;
}

.web-project-page .design-preview img,
.web-project-page .proposal-card img {
	display: block;
	width: 100%;
	height: auto;
}

.web-project-page .proposal-section {
	margin: 50px 0 42px;
	padding: 32px 20px 24px;
	background: #eaf0f5;
}

.web-project-page .section-heading {
	margin-bottom: 24px;
	text-align: center;
}

.web-project-page .section-heading p {
	margin: 0;
	color: #e9823a;
	font-size: 11px;
	font-weight: bold;
	letter-spacing: 0.16em;
}

.web-project-page .section-heading h3 {
	margin: 3px 0 8px;
	color: #243b53;
	font-size: 25px;
}

.web-project-page .section-heading span {
	display: block;
	color: #596a7a;
	font-size: 13px;
}

.web-project-page .proposal-card {
	margin: 0 0 24px;
	padding: 12px;
	background: #fff;
	border-radius: 5px;
	box-shadow: 0 5px 16px rgba(36, 59, 83, 0.10);
}

.web-project-page .proposal-card figcaption {
	display: flex;
	align-items: center;
	padding: 2px 4px 11px;
	color: #243b53;
	font-size: 15px;
	font-weight: bold;
	text-align: left;
}

.web-project-page .proposal-card figcaption b {
	display: inline-block;
	margin-right: 12px;
	padding-right: 12px;
	border-right: 2px solid #e9823a;
	color: #e9823a;
	font-size: 18px;
}

.web-project-page #Main table {
	width: 100%;
	margin-top: 36px;
	background: #fff;
}

.web-project-page #Main table tr th {
	background: #243b53;
	border-color: #d7dee5;
}

.web-project-page #Main table tr td {
	padding: 10px 14px;
	border-color: #d7dee5;
}

.web-project-page #Main table tr td p:first-child {
	margin-top: 0;
}

/*--------------------------------------------------------------------
pagetop
--------------------------------------------------------------------*/
.pagetop {
	margin: 28px 0 8px;
	text-align: right;
}

#Main .pagetop a {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 10px 15px;
	background: #504946;
	border-radius: 999px;
	color: #fff;
	font-size: 12px;
	font-weight: bold;
	letter-spacing: 0.04em;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
	transition: opacity 0.2s, transform 0.2s;
}

#Main .pagetop a:hover {
	opacity: 0.82;
	text-decoration: none;
	transform: translateY(-2px);
}

#Main .pagetop span {
	font-size: 16px;
	line-height: 1;
}

.banner-project-page #Main .pagetop a { background: #5c50dc; }
.movie-project-page #Main .pagetop a { background: #2f7669; }
.web-project-page #Main .pagetop a { background: #e9823a; }

/*--------------------------------------------------------------------
address
--------------------------------------------------------------------*/
address {
	clear: both;
	text-align: center;
	color: #504946;
}
