@charset "utf-8";
*{box-sizing: border-box;
	margin: 0;
	padding: 0;}
body{margin:0 auto;
	width: 100%;
	height: 100%;
	max-width: 1920px;
	min-width: 750px;
	-webkit-text-size-adjust: 100%; 
	font-family: Arial, Helvetica, "sans-serif", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
	scroll-behavior: smooth;
}
@font-face {
	src: url("../fonts/AcuminVariableConcept.otf") format("opentype");
	font-family: Acumin Variable Concept;
}

/*----　初期設定　----*/
a{
	text-decoration:none;
	color: inherit;
	transition:ease-in-out 0.2s;
	font-family: Acumin Variable Concept;
}
p{
	text-align: center;
	font-size: 25px;
	color:#383838;
}
h1, h2, h3, h4, h5, h6, p {
	margin: 0;
	padding: 0;
	font-family: Acumin Variable Concept;
}
img{
	margin: 0;
	padding: 0;
}
.display_tel{
	display: none;
}
.display_tel_950{
	display: none;
}
.display_tel_1000{
	display: none;
}
.display_tel_1100{
	display: none;
}
.haba_1300{
	max-width:1300px;
	width: 100%;
	margin: auto;
	min-width: 750px;
}
.haba{
	max-width: 1150px;
	width: 100%;
	margin: auto;
	min-width: 750px;
}
.haba_1000{
	max-width: 1000px;
	width: 100%;
	margin: auto;
	min-width: 750px;
}
.haba_900{
	max-width: 900px;
	width: 100%;
	margin: auto;
	min-width: 750px;
}
.flex{
	display: flex;
	align-items: center;
	justify-content: center;
}
.flex_top{
	display: flex;
	align-items:flex-start;
	justify-content: flex-start;
}
.flex_bottom{
	display: flex;
	align-items:flex-end;
	justify-content: flex-start;
}
.flex_center_top{
	display: flex;
	align-items:flex-start;
	justify-content: center;
}
.flex_left{
	display: flex;
	align-items:center;
	justify-content: flex-start;
}
.flex_right{
	display: flex;
	align-items:center;
	justify-content: flex-end;
}
.flex_between{
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.flex_between_top{
	display: flex;
	align-items:flex-start;
	justify-content: space-between;
}
.flex_between_bottom{
	display: flex;
	align-items:flex-end;
	justify-content: space-between;
}
.flex_column{
	display: flex;
	flex-flow: column;
	justify-content: center;
	align-items: center;	
}
.flex_column_top{
	display: flex;
	flex-flow: column;
	justify-content: flex-start;
	align-items: center;	
}
.flex_column_left{
	display: flex;
	flex-flow: column;
	justify-content: flex-start;
}
.center{
	display: flex;
	flex-flow: column;
	justify-content: center;
	align-items: center;
	text-align: center;	
}
ol li,ul li{
	list-style-position: inside;
}

/*--- h ---*/
h1{
	font-size: 16px;
	margin-left: 4px;
	margin-bottom: -5px;
}
h3{
	font-size: 40px;
	text-align: center;
	color:#383838;
	margin-top: 20px;
}

/*------レスポンシブ-------*/
@media screen and (max-width: 900px){
  /*--ここにスマホに適したCSSを記述します*/
	
}
/*------レスポンシブ-------*/

/*--------- ヘッダー ---------*/
header{
	position: fixed;
	width: 100%;
	box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.35);
	background-color: #fff;
	z-index: 500;
	padding-top: 10px;
	padding-bottom: 5px;
}
.header_tel img{
	margin-top: -10px;
}
.header_tel .tate{
	font-size: 47px;
	color: #008BFF;
	font-weight: bold;
	white-space: nowrap;
}
.header_tel a:hover{
	opacity: .5;
}
.header_tel p{
	font-size: 17px;
	text-align: left;
	margin-left: 5px;
	margin-top: -5px;
}
.icon_jisseki{
	max-width: 90px;
}
/*--- pc_nav ---*/
.pc_nav{
	position: fixed;
	top:150px;
	right: 40px;	
}
.header_nav{
	width: 230px;
	padding:20px 10px;
	background-color: #ffff00cc;
	border: #008BFF solid 3px;
	border-radius: 10px;	
}
.header_nav a{
	font-size: 24px;
	font-weight: bold;
	padding: 3px 0;
	white-space: nowrap;
}
.header_nav img{
	margin-right: 10px;
	margin-bottom: -3px;
}
.header_nav hr{
	border: #008BFF dotted 3px;
	border-left: none;
	border-right: none;
	border-bottom: none;
	margin: 5px 0;
}
.header_nav a:hover{
	opacity: .7;
}
.sen_img{
	margin-top: 15px;
	width: 230px;
	height: 205px;
	background-size:contain;
	background-image:url("../images/unnamed.png");
}
.sen_img:hover{
	background-image:url("../images/unnamed (1).png");
}
/*------レスポンシブ-------*/
@media screen and (max-width: 950px){
  /*--ここにスマホに適したCSSを記述します*/
/*--- ヘッダー ---*/
header{
	position:relative;
	top:0;
	padding: 20px 5px;
}
}
/*------レスポンシブ-------*/

/*-------- スマホのボトムリンク -------*/
.tel_bottom{
	position: fixed;
	bottom: 0;
	border: solid #008BFF 2px;
	width: 100%;
	min-width: 750px;
	height: 130px;
	z-index: 9999;
}
.BG_yellow{
	padding-top: 20px;
	padding-bottom: 10px;
	background-color: #FFFF00;
	width: 75%;
	height: 100%;
}
.BG_blue{
	background-color: #008BFF;
	width: 25%;
	height: 100%;
}
.header_tel .tate2{
	font-size: 57px;
	color: #008BFF;
	font-weight: bold;
}
.BG_blue a:hover{
	opacity: .7;
}

/*-------- トップイメージ -------*/
.index_top_img{
	padding-top: 100px;
	position: relative;
}
.index_top_img h2{
	text-align: center;
	width: 100%;
	color: #ffff00;
	font-size: clamp(5rem, 3.397rem + 3.42vw, 7.5rem);
	letter-spacing:5px;
	position: absolute;
	bottom: 0px;
}
/*------レスポンシブ-------*/
@media screen and (max-width: 950px){
  /*--ここにスマホに適したCSSを記述します*/
/*--- ヘッダー ---*/
.index_top_img{
	padding-top: 0px;
}
}
/*------レスポンシブ-------*/

/*------追加-------*/
.tuika_top{
	background-color: #FFFF00;
	padding: 15px 0;
	margin-top: -5px;
}
.tuika_top img{
	width: 98%;
	max-width: 1189px;
}
.tuika_top_p{
	font-weight: bold;
	color: #fff;
	background-color: #0259D1;
	font-size: 49px;
	padding: 10px 0;
}
.tuika_top_btn{
	width: 95%;
	height: 180px;
	max-width: 1108px;
	background-size: contain;
	background-position: center;
	background-image: url("../images/tuika_btn.png");
	background-repeat: no-repeat;
	margin: 20px auto 50px auto;
}
.tuika_top_btn:hover{
	background-image: url("../images/tuika_btnH.png");
}


/*----------- パック ------------*/
.osusume_pack_title{
	max-width: 1074px;
	margin:20px auto 0 auto;
}
.osusume_pack_title .display_tel{
	max-width: 544px;
	margin: auto;
}

/* ===== タブ ===== */
.tab-002{
    width: 95%;
	margin: auto;
	background-color:  #ff8600;
	border-radius: 20px;
	padding: 30px;
	margin-top: 30px;
}
.content{
    width: 100%;
    padding:30px 10px;
	border-radius: 20px;
	margin-top: -1px;
	background-color: #fff;
}
.content .top_img{
	margin-top: -90px;
}

/*---------- タブなかみ ---------*/
.tab-content_nakami{
	background-color: #fff;
	width: 100%;
    padding: 30px;
	border-radius: 10px;
}
.content_flex .title{
	background-color: #0259d1;
	padding: 0 70px 5px 70px;
	width: 100%;
	margin: auto;
	margin-top: 50px;
}
.content_flex div{
	margin: 5px;
}
.content_flex{
	display: flex;
	align-items: center;
	justify-content: center;
}
.itiran img{
	margin: 0 2px 15px 2px;
}
.itiran h3{
	font-size:35px
}
.itiran p{
	font-weight: normal;
	text-align: justify;
	font-size: 20px;
	margin-bottom: 30px
}
/*------レスポンシブ-------*/
@media screen and (max-width: 900px){
  /*--ここにスマホに適したCSSを記述します*/
.content_flex{
	display: flex;
	align-items: center;
	flex-flow: column;
}
	.content_flex .title{
	padding: 0 100px 5px 100px;
}
}
/*------レスポンシブ-------*/
.content p{
	font-weight: bold;
}
.content p span{
	color: #fff;
	font-size: 20px;
}
.content .A4 .BG{
	background-color: #ff4580;
	border-radius: 50px;
	padding: 10px 0 8px 0;
	margin-top: 10px;
}

/*------ タブの下のテキスト -------*/
.tab_bottom_text p{
	font-size: 20px;
	text-align: justify;
	font-weight: normal;
}
/*------レスポンシブ-------*/
@media screen and (max-width: 1000px){
  /*--ここにスマホに適したCSSを記述します*/
.tab_bottom_text{
	margin-left: 40px;
}
}

/*------ 個々に頼んでも -------*/
.tuika img{
	max-width: 1052px;
	width: 90%;
	margin:50px auto;
}

/*------ お問合せ画像 -------*/
.otoi_img:hover{
	opacity: .7;
}

/*------ 国内最安挑戦中!! -------*/	
.kokunai_saiyasu h2{
	text-align: center;
	width: 100%;
	color: #FFFF00;
	font-size: clamp(5rem, 3.397rem + 3.42vw, 7.5rem);
	background-color:#0259d1; 
	padding-top: 15px;
	margin-top: 50px;
	letter-spacing:5px;
}
	
/*-- こんなお悩みございませんか？--*/
/*-- ピンクの所 --*/
.pink_top{
	background-color: #FF4580;
	padding: 40px 20px;
}
.pink_top p{
	font-size: 32px;
	color: #fff;
	font-weight: bold;
}
/*-- うすいピンクの所 --*/
.pink_bottom{
	background-color: #FFBDC8;
	display: flex;
	padding: 0 30px 50px 30px;
}
.pink_bottom div{
	position: relative;
	width: 100%;
	background-color: #fff;
	margin: 110px 10px 10px 10px;
	padding: 170px 30px 30px 30px;
}
.pink_bottom img{
	position: absolute;
	top:-100px;
	width: 260px;
}
.pink_bottom .title{
	color: #FF4580;
	height: 40px;
	font-size: 27px;
	font-weight: bold;
	margin-bottom: 10px;
 }
.pink_bottom .title2{
	font-size:clamp(1.375rem, -0.188rem + 2.5vw, 1.688rem);
 }
.pink_bottom .bottom_text{
	font-size: 21px;
	text-align: justify;
 }
.pink_bottom .bottom_text span{
	font-size: 14px;
	display: block;
 }
/*------レスポンシブ-------*/
@media screen and (max-width: 1000px){
  /*--ここにスマホに適したCSSを記述します*/
.pink_bottom{
	display: flex;
	flex-flow: column;
}
.pink_bottom img{
	width: 275px;
}
.pink_bottom .title{
	font-size: 43px;
	height: 65px;
 }
.pink_bottom .bottom_text{
	font-size: 30px;
 }
.pink_bottom .bottom_text span{
	font-size: 23px;
 }			
}

/*------ 制作実績（一部）-------*/
.BG_ao{
	background-color: #008BFF;
	border-radius: 20px;
	height: 100px;
	width: 90%;
	margin:70px auto;	
}
.BG_ao p{
	color: #fff;
	font-size: 55px;
	font-weight: bold;
}
.jisseki_p{
	margin:30px auto;
	font-size: 45px;
	font-weight: bold;
}

/*------ 選ばれる理由 -------*/
.orange{
	display: flex;
	padding: 0 ;
}
.orange div{
	width: #fff;
	width: 100%;
	background-color: #fff;
	margin: -5px 10px 80px 10px;
	height: 450px;
}
.orange .title{
	font-size: 105px;
	font-weight: bold;
	background: #FF8700;
	width: 100%;
	color: #fff;
	margin-top: 0;
}
.orange .bottom_text{
	font-size: 30px;
	padding:20px 30px;
	text-align: justify;
}
/*------レスポンシブ-------*/
@media screen and (max-width: 1000px){
  /*--ここにスマホに適したCSSを記述します*/
.orange{
	display: flex;
	flex-flow: column;
	padding: 0 40px;
}
.orange div{
	margin: -10px 5px 80px 5px;
}
.orange .bottom_text{
	font-size: 45px;
}
}

/*------ 制作までの流れ -------*/
.flow_content{
	background-color: #fff;
	border-radius: 20px;
	display: flex;
	padding: 30px;
	width: 95%;
	margin-bottom: 40px;
}
h4{
	font-size: 60px;
	color: #fff;
	background-color:  #008BFF;
	border-radius: 50%;
	width: 70px;
	height: 70px;
	line-height: 58px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding-top: 8px;
}
.flow_content img{
	width: 130px;
	margin-right: 10px;
}
.flow_ao p{
	font-size: 27px;
	font-weight: bold;
	color: #fff;
	background-color: #008BFF;
	border-radius: 10px;
	width: 200px;
	padding: 5px 0;
}
.flow_content .bottom_text{
	font-size: 22px;
	padding-left: 30px;
	text-align: justify;
	letter-spacing: 1px;	
}
.flow_content .bottom_text span{
	font-size: 18px;
	display: block;
}
/*------レスポンシブ-------*/
@media screen and (max-width: 900px){
  /*--ここにスマホに適したCSSを記述します*/
.flow_content{
	display: flex;
	flex-flow: column;
	width: 90%;
}
.flow_content img{
	width: 190px;
}
.flow_ao p{
	font-size: 38px;
	width: 300px;
	padding: 5px 0;
}
.flow_content .bottom_text{
	font-size: 38px;
	padding-left: 0px;
	margin-top: 30px;
}
.flow_content .bottom_text span{
	font-size: 22px;

}
.flow_content .flex_between{
	padding: 0 20px;
	}
}

/*------ よくある質問 -------*/
.FAQ_details{
	width: 90%;
	margin: 70px auto;
}
summary {
  /* display: list-item;以外を指定してデフォルトの三角形アイコンを消します */
  display: block;
}

summary::-webkit-details-marker {
  /* Safariで表示されるデフォルトの三角形アイコンを消します */
  display: none;
}

.summary_inner{
	cursor: pointer;
  	padding: 10px 0;
	border: 1px solid #72E12A;
	background-color:#72E12A;
	border-radius: 5px 5px 0 0;
	position: relative;	
}
.summary_inner .title{
	font-size: 35px;
	font-weight: bold;
	color: #FFFFFF;
	text-align: left;
	padding-top: 5px;
	padding-left:50px;
}
.icon_div{
	position: absolute;
	top:50%;
	right: 20px;	
}
.FAQ_details .content p{
	text-align: justify;
	padding: 10px 25px 10px 25px;
	font-weight: normal;
}

/*------レスポンシブ-------*/
@media screen and (max-width: 900px){
  /*--ここにスマホに適したCSSを記述します*/
.summary_inner .title{
	padding-left:30px;
}
.FAQ_details .content p{
	font-size: 35px;
}
}

/* --------アイコンを作ります-------- */
.icon {
  display: block;
  position: relative;
  width: 40px;/* 線と線の間隔 */
  margin-left: 6px;
  flex-shrink: 0;
  transform-origin: center 43%;
  transition: transform 0.4s;
}

/* アコーディオンが開いた時のスタイル */
details[open] .icon {
  transform: rotate(180deg);
}
/* アイコンのバーのスタイル */
.icon::before,
.icon::after {
  content: "";
  position: absolute;
  display: block;
  width: 25px;/* 横幅 */
  height: 5px;/* 線の太さ */
  background-color:#FFFFFF;
}
.icon::before {
  left: 0;
  transform: rotate(45deg);
}
.icon::after {
  right: 0;
  transform: rotate(-45deg);
}

/* --------summaryタグの疑似要素でアイコンを作る場合-------- */
.wrapper_pseudoElementsIcon .summary_inner::after {
  content: "";
  display: block;
  width: 30px;
  height: 16px;
  margin-left: 6px;
  flex-shrink: 0;
  background-image: url("icon.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transform-origin: center 43%;
  /* アコーディオンが閉じる時にアイコンをアニメーションさせます */
  animation: 0.4s close-animation;
}

@keyframes close-animation {
  from {
    transform: rotate(180deg);
  }

  to {
    transform: rotate(0deg);
  }
}

/* アコーディオンが開いた時にアイコンをアニメーションさせます */
details[open] .summary_inner::after {
  animation: 0.4s open-animation forwards;
}

@keyframes open-animation {
  from {
    transform: rotate(0deg);
  }

  to{
    transform: rotate(180deg);
  }
}
/* --------アコーディオンの中身のスタイル-------- */
.content {
  display: flex;
  flex-direction: column;
  gap: 16px;
	
}
/* --------レイアウト用のスタイル-------- */
.wrapper {
  display: flex;
  margin: 0 auto;
}

.wrapper details {
  margin-bottom: 16px;
}

.wrapper details:last-child {
  margin-bottom: 0;
}

.wrapper_normalIcon, .wrapper_pseudoElementsIcon {
  width: 700px;
  display: flex;
  flex-direction: column;
}

/* --------折込・広告のことなら-------- */
.omakase .title{
	font-size: 20px;
	font-weight: bold;
	text-align: center;
	width: 120px;
	margin-top: 10px;
}
.omakase .bottom_text p{
	font-size: 18px;
	width: 100%;
}
.omakase{
	display: flex;
	align-content: flex-start;
	justify-content: center;
	padding-left: 0px;
}
.omakase .bottom_text{
	display: flex;
	align-content: flex-start;
	justify-content: space-between;
	padding: 5px;
}
.omakase hr{
	height: 190px;
	border-top: none;
	border-bottom: none;
	border-left: none;
	border: solid 1px ;
	margin: 0 20px;
}
/*------レスポンシブ-------*/
@media screen and (max-width: 1000px){
  /*--ここにスマホに適したCSSを記述します*/
.omakase .title{
	font-size: 23px;
	text-align: left;
	width: 100%;
}
.omakase .bottom_text p{
	font-size: 20px;
	text-align: left;
}
.omakase .bottom_text{
	display: block;
	padding: 0px;	
}
.omakase{
	display: block;
	padding-left: 50px;
	}
}

/*------コピーライト-------*/
.Copywriter{
	font-size: 15px;
	margin-top: 20px;
	margin-bottom: 5px;
	color: dimgray;
}
@media screen and (max-width: 950px){
  /*--ここにスマホに適したCSSを記述します*/
.Copywriter{
	margin-bottom: 150px;
}
}
/*------レスポンシブ-------*/
@media screen and (max-width: 900px){
  /*--ここにスマホに適したCSSを記述します*/
	.display_pc{
		display: none;
	}
	.display_tel{
	display: block;
	}
}
@media screen and (max-width: 950px){
  /*--ここにスマホに適したCSSを記述します*/
	.display_pc_950{
		display: none;
	}
	.display_tel_950{
	display: block;
	}
}
@media screen and (max-width: 1000px){
  /*--ここにスマホに適したCSSを記述します*/
	.display_tel_1000{
	display: block;
}
	.display_pc_1000{
	display: none;
	}
}
@media screen and (max-width: 1100px){
  /*--ここにスマホに適したCSSを記述します*/
	.display_tel_1100{
	display: block;
}
}
/*------レスポンシブ-------*/